Hadoop2.0分布式集群的平台搭建

一、Hadoop集群安装前的准备
基础环境

成都创新互联专业IDC数据服务器托管提供商,专业提供成都服务器托管,服务器租用,资阳主机托管资阳主机托管,成都多线服务器托管等服务器托管服务。

四台Centos6.5
IP地址:
192.168.174.128
192.168.174.129
192.168.174.130
192.168.174.131
四台主机新建hadoop用户并实现ssh免密登陆
iptables关闭和selinux为disabled

1.修改主机名和ip地址映射
为了后面操作方便,修改主机名分别为hadoop01、hadoop02、hadoop03、hadoop04。修改主机名只需修改/etc/sysconfig/network文件hostname行即可,这里博主不再复述。然后修改/etc/hosts文件,将ip地址和主机名的映射写入进去,这样,后面其它主机就可根据主机名去对应ip地址。
Hadoop2.0分布式集群的平台搭建
2.安装JDK
Hadoop的核心组成之一MapReduce是基于java的,因此需要配置基本的java环境。JDK安装十分简单,前面也多次提到。下载jdk安装包,解压jdk到指定目录。

tar -zxvf jdk-8u181-linux-x64.tar.gz -C /usr/local/java

修改环境变量,进入/etc/profile

export JAVA_HOME=/usr/local/java/jdk1.8.0_181
export PATH=$PATH:$JAVA_HOME/bin

重新加载环境变量生效。JDK需在四个节点都安装配置
3.Zookeeper安装配置
Zookeeper是负责协调Hadoop一致性,是Hadoop实现HA的不可或缺的组件。根据Zookeeper的工作机制,需要在奇数个节点安装Zookeeper。本文在hadoop01、hadoop02、hadoop03三个节点安装Zookeeper。
下载zookeeper安装包,解压zookeeper安装包
Hadoop2.0分布式集群的平台搭建
设置环境变量,修改/etc/profile

export ZOOKEEPER_HOME=/usr/local/zookeeper/zookeeper-3.4.6
export PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin

重新加载环境变量生效
进入zookeeper解压目录下的conf目录下,修改配置文件zoo.cfg,一开始并没有zoo.cfg文件,拷贝zoo_sample.cfg文件重命名为zoo.cfg即可。
Hadoop2.0分布式集群的平台搭建
创建相应的data目录及datalog目录

mkdir  -p /opt/zookeeper/datalog

在每个data目录下新建myid文件,hadoop01的myid文件写入1,hadoop02的myid文件写入2,即server.后的数字。另外注意给/opt/zookeeper目录及其子目录给hadoop用户读写操作权限,因为后面使用zookeeper时是以hadoop用户使用的。
到这里zookeeper基本安装配置完成,以hadoop用户启动zookeeper服务

zkServer.sh start

查看zookeeper状态

zkServer.sh status

二、Hadoop安装配置
下载hadoop安装包,解压hadoop安装包
Hadoop2.0分布式集群的平台搭建
注意解压后的目录user和group应该为hadoop,道理与前面zookeeper一样,在Hadoop使用过程中使用者是hadoop用户。
设置环境变量,修改配置文件/etc/profile

export HADOOP_HOME=/usr/local/hadoop-2.6.4
export PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

注意hadoop需要配置bin和sbin,不然后面许多命令无法使用。重新加载环境变量生效。
然后就是修改hadoop的配置文件,进入hadoop安装目录下的etc/hadoop目录下,修改配置文件:hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml,其中配置文件mapred-site.xml在该目录下有一个样本mapred-site.xml.template,复制该文件重命名为mapred-site.xml即可。
修改配置文件hadoop-env.sh。主要是配置java目录
Hadoop2.0分布式集群的平台搭建
修改配置文件core-site.xml





  fs.defaultFS
  hdfs://jsj/


  hadoop.tmp.dir
  /usr/local/hdpdata


  ha.zookeeper.quorum
  hadoop01:2181,hadoop02:2181,hadoop03:2181

修改配置文件hdfs-site.xml,从配置文件名也可知这是关于HDFS的配置。





  dfs.nameservices
  jsj


  dfs.ha.namenodes.jsj
  nn1,nn2


  dfs.namenode.rpc-address.jsj.nn1
  hadoop01:9000


  dfs.namenode.rpc-address.jsj.nn2
  hadoop02:9000


  dfs.namenode.http-address.jsj.nn1
  hadoop01:50070


  dfs.namenode.http-address.jsj.nn2
  hadoop02:50070


  dfs.namenode.shared.edits.dir
  qjournal://hadoop01:8485;hadoop02:8485;hadoop03:8485/jsj


  dfs.journalnode.edits.dir
  /usr/local/journaldata


  dfs.ha.automatic-failover.enabled
  true


  dfs.client.failover.proxy.provider.jsj
  org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider


  dfs.ha.fencing.methods
  
  sshfence
  shell(/bin/true)
  


  dfs.ha.fencing.ssh.private-key-files
  /home/hadoop/.ssh/id_rsa


  dfs.ha.fencing.ssh.connect-timeout
  30000

修改配置文件mapred-site.xml,即MapReduce相关配置。





   mapreduce.framework.name
   yarn


   mapreduce.jobhistory.address
   hadoop03:10020


   mapreduce.jobhistory.webapp.address
   hadoop03:19888

修改配置文件yarn-site.xml。yarn平台的相关配置





   yarn.log-aggregation-enable
   true


   yarn.resourcemanager.ha.enabled
   true


   yarn.resourcemanager.cluster-id
   abc


   yarn.resourcemanager.ha.rm-ids
   rm1,rm2


   yarn.resourcemanager.hostname.rm1
   hadoop01


   yarn.resourcemanager.hostname.rm2
   hadoop02


   yarn.resourcemanager.zk-address
   hadoop01:2181,hadoop02:2181,hadoop03:2181


   yarn.nodemanager.aux-services
   mapreduce_shuffle

最后修改slaves文件

hadoop02
hadoop03
hadoop04

至此,Hadoop集群相关配置文件配置完成,在hadoop01、hadoop02、hadoop03、hadoop04四个节点都完成相关配置。
配置文件修改完成并不代表Hadoop安装结束,还需要几个操作才能正常使用。
在hadoop01、hadoop02、hadoop03启动zookeeper服务。

zkServer.sh start

在hadoop01、hadoop02、hadoop03启动journalnode

hadoop-daemon.sh start journalnode

格式化hdfs,hadoop01执行

hdfs namenode -format

然后查看hadoop安装目录确保hdpdata和journaldata在hadoop01和hadoop02都有。没有从一个节点拷贝到另一个节点。
在hadoop01启动namenode

hadoop-daemon.sh start namenode

在Hadoop02执行

hdfs namenode -bootstrapStandby

格式化zkfc,Hadoop01执行

hdfs zkfc -formatZk

在hadoop01启动HDFS

start-dfs.sh

完成以上操作后,Hadoop应该可以正常对外做出服务。在浏览器输入hadoop01的ip地址,端口号为50070,查看HDFS的web界面是否正常对外做出服务。
Hadoop2.0分布式集群的平台搭建
在hadoop01和hadoop02启动yarn平台

start-yarn.sh

访问hadoop01的ip地址的8088端口,查看yarn平台是否正常对外做出服务。
Hadoop2.0分布式集群的平台搭建
Hadoop安装配置完成,关于配置文件的解释后期有时间再加上去。本文使用的安装包是在学习过程老师给的,Hadoop是开源的,相信相关安装包不难找到。


文章名称:Hadoop2.0分布式集群的平台搭建
网站地址:http://cdiso.cn/article/godphg.html

其他资讯