Hadoop安装部署指南
软件级分布式框架author:yupeng
update_date:2017-04-17 08:40:04
version: 1.0
1. 系统环境要求
- 本安装说明针对
Hadoop 2.x.y
版本有效,其他版本可能有少许不同之处 - 本安装说明针对Linux操作系统环境,在CentOS 6.5 x64系统环境中部署成功并通过测试,其他操作系统或版本可能有少许不同之处
- JDK1.8+
- 操作系统Root权限
- 本安装说明以3台服务器为基础,如安装多台服务器同理进行即可
2. 测试服务器物理环境
-
主 节 点:
hostname:master ipaddr:192.168.10.27
-
子节点1:
hostname:cluster1 ipaddr:192.168.10.28
-
子节点2:
hostname:cluster2 ipaddr:192.168.10.29
3. 开始安装
-
HOST配置
将三台服务器的hostname添加到各个服务器的hosts解析当中
ssh连接master节点:
vi /etc/hosts
将如下配置添加其中:
192.168.10.27 master
192.168.10.28 cluster1
192.168.10.29 cluster2
配置完成后将此配置同步到其他子节点上:
scp root@192.168.10.28:/etc/hosts
scp root@192.168.10.29:/etc/hosts
//scp <username>@<host>:<target path>
配置完成后可通过ping <hostname>检测是否生效
-
SSH免密码
Hadoop集群控制需要主节点通过SSH方式登录自己点并执行命令,所以如果没有设置SSH免密码,每次执行命令时都必须手动输入,非常繁琐并且在无人值守的状态下无法正常工作,故需设置SSH免密码
ssh链接master节点:
-
ssh-keygen
并回车直至完成 -
ssh-copy-id root@master
输入密码 -
ssh-copy-id root@cluster1
输入密码 -
ssh-copy-id root@cluster2
输入密码
使用ssh root@cluster1
,ssh root@cluster2
分别验证是否成功,若未提示输入密码即为配置成功,若仍需输入密码请重试上面步骤
-
JDK安装配置
略。注:集群所有服务器JDK安装路径最好一致,本教程三台服务器JDK路径均一致,下面配置以此为基础 - HADOOP安装(此步骤仅在主节点进行)
- 解压Hadoop-2.x.y.tar.gz,此处解压放在/opt目录(非必须,可任意目录)
- 配置环境变量,将hadoop加入系统变量当中
vi /etc/profile
//在文件最后添加以下配置
export HADOOP_HOME=/opt/hadoop-2.x.y
export PATH=$PATH:$HADOOP\_HOME/bin:$HADOOP\_HOME/sbin
//配置完成后使其生效
source /etc/profile
- 使用
hadoop version
检查是否安装成功,若未成功请仔细检查上述步骤何处出现问题
- 主节点Hadoop配置
-
hadoop-env.sh
修改export JAVA_HOME=<xxx>
为本机配置的JDK的绝对路径 -
core-site.xml
创建hadoop临时目录,此处创建的是:mkdir /opt/tmp
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/opt/tmp</value>
</property>
</configuration>
- hdfs-site.xml
创建hdfs namenode目录及datanode目录
此处创建的分别是:
mkdir /opt/dfs/name
mkdir /opt/dfs/data
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
- mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
- yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8035</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>
- slaves
cluster1
cluster2
- 子节点Hadoop配置
- 在两个子节点分别建立与主节点目录相同的
tmp,name,node
目录
mkdir /opt/tmp
mkdir /opt/dfs/name
mkdir /opt/dfs/data
- 使用scp命令将刚才主节点配置好的
Hadoop
整个目录发送给子节点 ,完成后在子节点配置本节点Hadoop环境变量并source
使其生效
注意:主节点和子节点的hadoop目录必须一致(原理上是非必须的,为了我们使用和维护方便我们这样要求。若不想放在相同目录,可在各个子节点参考步骤5各自配置)
-
格式化Namenode
主节点运行命令:
hadoop namenode -format
-
运行测试
在主节点运行命令:
1.启动YARN资源管理器:start-yarn.sh
2.启动HDFS文件系统:start-dfs.sh
如果上述步骤全部正确执行则应该看到hadoop正在启动,启动完成后使用jps
命令查看,各节点应该有以下对应进程在运行:
master:
- ResourceManager
- NameNode
- SecondaryNameNode
cluster:
- NodeManager
- DataNode
若成功启动访问主节点http://master:50070 端口即可看到HDFS Web UI 管理界面
Hadoop数据节点预览
访问主节点http://master:8088 端口即可看到Yarn Web UI 管理界面
YARN管理界面
网友评论