Hadoop集群安装部署与配置-20141119
1、集群环境说明
主机列表
主机名 |
ip | role | 系统版本 |
node1 | 10.0.0.101 | master | rhel6.5 |
node2 | 10.0.0.102 | slave | rhel6.5 |
node3 | 10.0.0.103 | slave | rhel6.5 |
JDK version: java 1.8 (download)
hadoop version: hadoop-2.5.1 (download)
2、集群环境配置之旅
2.1、JDK与hadoop安装
a) 下载JDK和hadoop安装包并安装(默认下载的安装包都放在/opt下)
# wget http://download.oracle.com/otn-pub/java/jdk/8u25-b17/jdk-8u25-linux-x64.tar.gz
# wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.5.1/hadoop-2.5.1.tar.gz
# rpm -qa | grep java (如果存在其他版本,使用“rpm -e 包名”进行删除)
# mkdir /usr/java
# tar -zxf jdk-8u25-linux-x64.tar.gz -C /usr/java
# tar -zxf hadoop-2.5.1.tar.gz -C /data
# vim /etc/profile (添加下面的内容)
exportHADOOP_HOME_WARN_SUPPRESS=1
exportHADOOP_HOME=/data/hadoop-2.5.1
exportJAVA_HOME=/usr/java/jdk1.8.0_25
exportCLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin
HADOOP_CONF_DIR=/data/hadoop-2.5.1/etc/hadoop
exportHADOOP_CONF_DIR
HADOOP_LOG_DIR=/data/hadoop-2.5.1/logs
exportHADOOP_LOG_DIR
exportPATH=$PATH:/data/hadoop-2.5.1/bin
# source /etc/profile
# echo $JAVA_HOME; java -version (测试)
特别提示:配置java环境需要在每个node上执行一次
2.2、修改hosts文件
# vim /etc/hosts (添加如下内容)
10.0.0.101node1
10.0.0.102node2
10.0.0.103node3
特别提示:上面的操作需要在每一个node上执行一次
2.3、配置ssh免密码连入
a) 在10.0.0.101上执行下面的命令
# ssh-keygen -t rsa
# cat /root/.ssh/id_rsa.pub >>/root/.ssh/authorized_keys
# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
# ssh 10.0.0.102 (测试)
# ssh 10.0.0.103 (测试)
b) 在10.0.0.102上执行下面的命令
# ssh-keygen -t rsa
# cat /root/.ssh/id_rsa.pub >>/root/.ssh/authorized_keys
# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
# ssh 10.0.0.101 (测试)
# ssh 10.0.0.103 (测试)
C) 在10.0.0.103上执行下面的命令
# ssh-keygen -t rsa
# cat /root/.ssh/id_rsa.pub >>/root/.ssh/authorized_keys
# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
# ssh 10.0.0.101 (测试)
# ssh 10.0.0.102 (测试)
2.4、hadoop集群配置
a) Hadoop主要配置文件
文件名 | 格式 | 描述 |
core-site.xml | Hadoop配置 XML | HadoopCore的配置项, 例如HDFS和MapReduce常用的IO设置等. 配置分布式文件系统的 URL. |
hdfs-site.xml | Hadoop配置 XML | Hadoop守护进程的配置项,包括namenode,辅助namenode和datanode等. 配置 nameNode,dataNode 的本地目录信息 |
mapred-site.xml | Hadoop配置 XML | MapReduce守护进程配置项,包括jobtracker和tasktracker. 配置其使用 Yarn 框架执行 map-reduce 处理程序 |
Yarn-site.xml | Hadoop配置 XML | 配置 ResourceManager,NodeManager 的通信端口,web 监控端口等. |
hadoop-env.sh | Bash脚本 | 加载运行hadoop所需的变量。 |
yarn-env.sh | Bash脚本 | 加载运行yarn框架所需的变量。 |
hadoop-metrics.properties | Java属性 | 控制metrics 在Hadoop上如何发布的属性。 |
log4j.properties | Java属性 | 系统日志文件,namenode审计日志,tasktracker子进程的任务日志的属性。 |
slaves | 纯文本 | 运行datanode和tasktracker的机器列表(每行一个)。 |
b) 进入/data/hadoop-2.5.1/etc/hadoop,并进行下面的配置
====== 配置开始 ======
# mkdir /data/hadoop-2.5.1/{logs,temp}
# vim core-site.xml
# vim hdfs-site.xml
# mv mapred-site.xml.template mapred-site.xml
# vim mapred-site.xml
# vim Yarn-site.xml
# hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_25
# yarn-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_25
# vim slaves
node2
node3
====== 配置结束 =====
2.5、分发hadoop到slave
# rsync -avz /data/hadoop-2.5.1 root@node2:/data/
#rsync -avz /data/hadoop-2.5.1 root@node3:/data/
2.6、格式化文件系统
# cd /data/hadoop-2.5.1
# bin/hdfs namenode -format
3、hadoop服务启动与停止
3.1、启动服务
# cd /data/hadoop-2.5.1
# sbin/start-dfs.sh
# sbin/start-yarn.sh
3.2、停止服务
# cd /data/hadoop-2.5.1
# sbin/stop-dfs.sh
# sbin/stop-yarn.sh
4、验证
4.1、查看启动的进程
# jps
4.2、通过浏览器访问
Cluster HDFS:http://10.0.0.101:50070/ #在hadoop-common和hadoop-hdfs中定义的
Yarn resourceManager:http://10.0.0.101:8088/ #在yarn-site.xml中定义的