hadoop 1.x 集群环境的搭建
本文主要以个人工作学习总结为主,同时也为了方便更多的兴趣爱好者参与学习交流,现将具体的搭建步骤分享如下:
一.基础环境
1.1 jdk的安装与配置
Hadoop是用Java开发的,Hadoop的编译及MapReduce的运行都需要使用JDK。
①上传jdk压缩包:这里使用的是WinScp工具 上传jdk-7u76-linux-x64.tar.gz压缩包,默认选择 /home/mysoft下
②解压包: tar -zxvf jdk-7u76-linux-x64.tar.gz
③更名: (为方便后续操作将文件名剪短) mv jdk-7u76-linux-x64.tar jdk-7u76
④配置环境变量:
vim ~/.bash_profile
export JAVA_HOME=/home/mysoft/jdk1.7.0_75
export PATH=$PATH:$JAVA_HOME/bin
⑤重新加载/etc/profile,使配置生效:source ~/.bash_profile
⑥验证:java -version
[root@node01 /]# java -version java version "1.7.0_75" Java(TM) SE Runtime Environment (build 1.7.0_75-b13) Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)
1.2 免秘钥配置:
ssh-keygen -t rsa (3次) cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 其它节点: scp id_dsa.pub node02:/tmp/ (暂时在tmp目录下生成公钥,不要放在root,会自动覆盖root目录下的ssh中的公钥) cat /tmp /id_dsa.pub >> ~/.ssh/authorized_keys 其它同理操作: 2: 1---3之间:免秘钥 3: 1---3之间:免密钥
1.3 时间同步操作:
yum install -ntp 安装时间服务器,并自动校验时间:
ntpdate -u sla.time.edu.cn
二. Host配置
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.23.10 node01 192.168.23.11 node02 192.168.23.12 node03 ~
三 .hadoop安装配置
1、下载解压缩 Hadoop: hadoop-2.6.5
2、配置 etc/hadoop/hadoop-env.sh
export HADOOP_PREFIX=/usr/local/hadoop //可不配
source ~/.bash_profile
3.系统配置:
cd /home/mysoft/hadoop-2.6.5/etc/hadoop (Hadoop安装目录依个人实际安装情况)
依次修改core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml以及slaves文件。
①core-site.xml:
fs.defaultFS 默认的服务端口 NameNode URI
hadoop.tmp.dir 是 hadoop 文件系统依赖的基础配置,很多路径都依赖它。如果 hdfs-site.xml
中不配 置 namenode 和 datanode 的存放位置,默认就放在这个路径中
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-2.6.5</value>
</property>
</configuration>
②hdfs-site.xml:
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>node02:50090</value> </property> <property> <name>dfs.namenode.secondary.https-address</name> <value>node02:50091</value> </property> </configuration>
③配置hadoop中的slaves
vim slaves
node01
node02
node03
~
④ Masters: master 可以做主备的 SNN:home/hadoop-2.6.5/etc/hadoop/新建 masters 文件 写上 N SNN 节点:node02
⑤最后将配置好的 Hadoop 通过 SCP 命令发送都其他节点配置 Hadoop 的环境变量:
scp -r hadoop-2.6.5 node02:/home/mysoft/ scp -r hadoop-2.6.5 node03:/home/mysoft/
scp -r ~/.bash_profile node02:/root
⑥配置各节点的环境变量:
export HADOOP_HOME/home/hadoop-2.6.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source ~/.bash_profile
四. 运行hadoop:
1.回到跟目录下对 NN 进行格式化: hdfs namenode -format
2.启动 HDFS: start-dfs.sh
3.验证登录:首先关闭防火墙:service iptables stop ,在浏览器输入:node01:50070
五. 故障总结:
1.如果界面未打开:可以查看下linux中的jps进程:jps
2.记得格式化nn: hdfs namenode -format, 并关闭防火墙
3.如果namenode 或者DataNode 未启动,可以尝试手动启动:
①hadoop-2.7.1/sbin/hadoop-daemon.sh start namenode ②hadoop-2.7.1/sbin/hadoop-daemons.sh start datanode
再次查看下jps进程,浏览器验证.
4.查询logs日志,查看报错原因 : cd/home/mysoft/hadoop-2.6.5/logs (根据个人配置的hadoop实际位置查找log),hadoop 1.x
配置操作相对2.x较少,通常出错原因在于系统文件配置出问题,需要逐一比对配置文档.