单机Hadoop CDH搭建
使用Hadoop CDH 5.15.1搭建单机Hadoop.
环境要求
- ubuntu 16
- jdk: jdk1.8.0_91
- Hadoop CDH: hadoop-2.6.0-cdh5.15.1
jdk 与 CDH 百度网盘链接https://pan.baidu.com/s/1UhfuTkm_uBE1x_1_yrvVUA
提取码:zxcv
搭建步骤
-
配置jdk环境
-
解压jdk 压缩包配置环境变量: 编辑
~/.profile
文件:export JAVA_HOME=/home/zzy/app/jdk1.8.0_91 export PATH=$JAVA_HOME/bin:$PATH
-
-
配置SSH免密登录
-
使用
ssh-keygen -t rsa
生成ssh 密钥 -
配置免密登录(使用的是免密登录本机):
cd ~/.ssh cat id_rsa.pub >> authorized_keys chmod 600 authorized_keys
-
-
Hadoop(HDFS)安装与配置
-
解压Hadoop 压缩包并配置环境变量:编辑
~/.profile
文件:export HADOOP_HOME=/home/zzy/app/hadoop-2.6.0-cdh5.15.1 export PATH=$HADOOP_HOME/bin:$PATH
-
修改Hadoop 配置文件:
进入Hadoop 解压后的目录:
zzy@ubuntu:/etc$ cd /home/zzy/app/hadoop-2.6.0-cdh5.15.1/etc/ zzy@ubuntu:~/app/hadoop-2.6.0-cdh5.15.1/etc$ pwd /home/zzy/app/hadoop-2.6.0-cdh5.15.1/etc zzy@ubuntu:~/app/hadoop-2.6.0-cdh5.15.1/etc$ ls hadoop hadoop-mapreduce1-pseudo hadoop-mapreduce1 hadoop-mapreduce1-secure
进入hadoop目录下修改
hadoop-env.sh
:# export JAVA_HOME=$JAVA_HOME # 防止有多个jdk 将此处改为上边配置的jdk环境 export JAVA_HOME=/home/zzy/app/jdk1.8.0_91
修改
core-site.xml
,我所在的单节点的主机名叫做ubuntu所以配置的为<value>hdfs://ubuntu:8020</value>
(需要更具所在主机名称修改):<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://ubuntu:8020</value> </property> </configuration>
修改
hdfs-site.xml
, 因为搭建的是单机的HDFS所以dfs.replication
的值为1:<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/zzy/Desktop/hadoop/app/tmp</value> </property> </configuration>
-
修改
slaves
,单节点搭建所以主从主机都在一起,修改为当前主机名:# localhost ubuntu
-
-
初始化HDFS
第一次执行的时候一定要格式化文件系统
因为前边已经将Hadoop 配置进环境变量,所以可以直接执行hdfs命令格式化:
hdfs namenode -format
执行完该命令可以看到上边
hdfs-site.xml
配置的临时文件如下:zzy@ubuntu:~/app/tmp$ pwd /home/zzy/app/tmp zzy@ubuntu:~/app/tmp$ ls dfs zzy@ubuntu:~/app/tmp$ cd dfs zzy@ubuntu:~/app/tmp/dfs$ ls data name namesecondary
-
启动集群:
$HADOOP_HOME/sbin/start-dfs.sh
-
验证, 出现如下表明集群启动成功:
zzy@ubuntu:~/app/hadoop-2.6.0-cdh5.15.1/etc$ jps 25040 Jps 24499 DataNode 24348 NameNode 24685 SecondaryNameNode
web 查看:http://127.0.0.1:50070(注意关闭防火墙)