玩儿数据|玩儿数据 - Hadoop集群环境搭建

Hadoop安装部署指南

author:yupeng
update_date:2017-04-17 08:40:04
version: 1.0
玩儿数据|玩儿数据 - Hadoop集群环境搭建
文章图片
软件级分布式框架 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. 开始安装
  1. 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 @:

【玩儿数据|玩儿数据 - Hadoop集群环境搭建】配置完成后可通过ping 检测是否生效
  • SSH免密码
    Hadoop集群控制需要主节点通过SSH方式登录自己点并执行命令,所以如果没有设置SSH免密码,每次执行命令时都必须手动输入,非常繁琐并且在无人值守的状态下无法正常工作,故需设置SSH免密码
    ssh链接master节点:
  1. ssh-keygen并回车直至完成
  2. ssh-copy-id root@master 输入密码
  3. ssh-copy-id root@cluster1 输入密码
  4. ssh-copy-id root@cluster2 输入密码
使用ssh root@cluster1,ssh root@cluster2分别验证是否成功,若未提示输入密码即为配置成功,若仍需输入密码请重试上面步骤
  • JDK安装配置
    略。注:集群所有服务器JDK安装路径最好一致,本教程三台服务器JDK路径均一致,下面配置以此为基础
  • HADOOP安装(此步骤仅在主节点进行)
  1. 解压Hadoop-2.x.y.tar.gz,此处解压放在/opt目录(非必须,可任意目录)
  2. 配置环境变量,将hadoop加入系统变量当中
vi /etc/profile //在文件最后添加以下配置 export HADOOP_HOME=/opt/hadoop-2.x.y export PATH=$PATH:$HADOOP\_HOME/bin:$HADOOP\_HOME/sbin //配置完成后使其生效 source /etc/profile

  1. 使用hadoop version检查是否安装成功,若未成功请仔细检查上述步骤何处出现问题
  • 主节点Hadoop配置
  1. hadoop-env.sh
    修改export JAVA_HOME=为本机配置的JDK的绝对路径
  2. core-site.xml
    创建hadoop临时目录,此处创建的是: mkdir /opt/tmp
fs.defaultFS hdfs://master:9000 io.file.buffer.size 131072 hadoop.tmp.dir file:/opt/tmp

  1. hdfs-site.xml
    创建hdfs namenode目录及datanode目录
    此处创建的分别是:
    mkdir /opt/dfs/name
    mkdir /opt/dfs/data
dfs.namenode.secondary.http-address master:9001 dfs.namenode.name.dir file:/opt/dfs/name dfs.datanode.data.dir file:/opt/dfs/data dfs.replication 1 dfs.webhdfs.enabled true

  1. mapred-site.xml
mapreduce.framework.name yarn mapreduce.jobhistory.address master:10020 mapreduce.jobhistory.webapp.address master:19888

  1. yarn-site.xml
yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.aux-services.mapreduce.shuffle.class org.apache.hadoop.mapred.ShuffleHandler yarn.resourcemanager.address master:8032 yarn.resourcemanager.scheduler.address master:8030 yarn.resourcemanager.resource-tracker.address master:8035 yarn.resourcemanager.admin.address master:8033 yarn.resourcemanager.webapp.address master:8088

  1. slaves
cluster1 cluster2

  • 子节点Hadoop配置
  1. 在两个子节点分别建立与主节点目录相同的tmp,name,node目录
    mkdir /opt/tmp
    mkdir /opt/dfs/name
    mkdir /opt/dfs/data
  2. 使用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集群环境搭建
文章图片
Hadoop管理界面
玩儿数据|玩儿数据 - Hadoop集群环境搭建
文章图片
Hadoop数据节点预览
访问主节点 http://master:8088 端口即可看到Yarn Web UI 管理界面
玩儿数据|玩儿数据 - Hadoop集群环境搭建
文章图片
YARN管理界面

    推荐阅读