大数据:Hadoop(JDK安装、HDFS伪分布式环境搭建、HDFS 的shell操作)
2024-09-04 14:47:47
所有的内容都来源与 Hadoop 官方文档
一、Hadoop 伪分布式安装步骤
1)JDK安装
- 解压:tar -zxvf jdk-7u79-linux-x64.tar.gz -C ~/app
- 添加到系统环境变量:
- ~/.bash_profile
- export JAVA_HOME=/home/hadoop/app/jdk1.7.0_79
- export PATH=$TAVA_HOME/bin:$PATH
- 环境变量生效:source ~/bash_profile
- 验证Java是否配置成功:java -v
2)ssh安装
- 参考:远程连接SSH
二、HDFS伪分布式环境搭建
1)下载并解压hadoop
- 下载:cdh网站下载
- 解压:tar -zxvf hadoop-2.6.0-cdh5.7.0.tar.gz -C ~/app
2)修改 Hadoop 配置文件
- 在 hadoop_home/etc/hadoop 目录下修改
配置 hadoop-env.sh 文件
- 配置:export JAVA_HOME=/home/hadoop/app/jdk1.7.0_79
配置 cor-site.xml 及 hdfs-site.xml 文件
- cor-site.xml 中,默认的数据存放在临时文件夹,需要添加新的属性(hadoop.tmp.dir),可以指定存放的文件夹(如存放在文件夹 /home/hadoop/app 中),防止数据在每次重启系统时被删除;
配置 slaves 文件:用于添加素有 DataNode 的名字;
3)启动 hdfs
- 格式化文件系统(在客户端操作,且仅第一次执行即可,不要重复执行):hdfs namenode -format,或者 hadoop namenode -format
- 启动 hdfs:(sbin 目录下)sbin/start-dfs.sh
- 验证是否启动成功:
- 3 个进程,如果缺少,说明缺少的部分配置不成功;(可通过日志输出查看进程的启动过程)
- 浏览器访问方式:http://localhost:50070
4)停止 hdfs
- (在 sbin 目录下)sbin/stop-dfs.sh
三、HDFS 的shell 操作
hdfs dfs + commands 或者 hadoop fs + commands
用法与 Linux 命令相同
例:
- hadoop fs -put hello.txt:将文件 hello.txt 从本地传到 HDFS 上;
- hadoop fs -get hello.txt:从 HDFS 上获取文件 hello.txt 到本地;
- hadoop fs -text /hello.txt:查看文件 hello.txt 的内容;
- hadoop fs -mkdir /test:在 HDFS 上创建一个目录 test;
- hadoop fs -mkdir -p /test/a/b:在 HDFS 上创建递归文件夹;
- hadoop fs -rm /hello.txt:删除一个文件;(-rm 不能删除文件夹,只能删除文件)
- hadoop fs -rm -R /test:删除文件夹 test 及其下所有递归文件;
- hadoop fs -ls -R:查看递归文件夹;
最新文章
- AOP的实现原理
- matlab 采样函数
- yii2 登录验证
- Auty自动化测试框架第七篇——添加动作库和常量文件库
- django signal 浅析
- mahout安装配置
- Visual Studio C++ Command Line
- 天津Uber优步司机奖励政策(2月1日~2月7日)
- 探索开发跨平台移动App,谈Jquery Mobile 和PhoneGap应用
- socket.io 中文手册 socket.io 中文文档
- java调用shell脚本
- 使用ActionBar实现Tab导航(快速生成Tab样式)
- Eclipse和PyDev搭建完美Python开发环境 Windows篇
- 建立一个属于自己的AVR的RTOS
- Python爬虫学习之获取网页源码
- Android studio安装和问题
- 【原创】运维基础之Docker(1)简介、安装、使用
- Android: apk反编译 及 AS代码混淆防反编译
- SVG学习笔录(二)
- TCC(Tiny C Compiler)介绍
热门文章
- django -- 安装django
- vue动态添加路由,跳转页面时,页面报错路由重复:vue-router.esm.js?8c4f:16 [vue-router] Duplicate named routes definition: { name: ";Login";, path: ";/login"; }
- Android Studio 之 ROM【1】, Entity,Dao,Database
- python 项目实战之Django 邮件发送
- TensorFlow中的 tensor 张量到底是什么意思?
- 记一次网络故障——pod间无法通信
- [转帖]Java Netty简介
- kubeadm安装依赖镜像
- Linux学习笔记之RAID笔记
- efCore+Mysql+Net Core