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

Hadoop安装部署指南

author:yupeng
update_date:2017-04-17 08:40:04
version: 1.0

玩儿数据 - Hadoop集群环境搭建_第1张图片
软件级分布式框架

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 [email protected]:/etc/hosts
scp [email protected]:/etc/hosts
//scp @:

配置完成后可通过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集群环境搭建_第2张图片
Hadoop管理界面

玩儿数据 - Hadoop集群环境搭建_第3张图片
Hadoop数据节点预览

访问主节点 http://master:8088 端口即可看到Yarn Web UI 管理界面
玩儿数据 - Hadoop集群环境搭建_第4张图片
YARN管理界面

你可能感兴趣的:(玩儿数据 - Hadoop集群环境搭建)