本节内容:

  • 环境规划
  • 配置集群各节点hosts文件
  • 安装JDK1.7
  • 安装依赖包ssh和rsync
  • 各节点时间同步
  • 安装Zookeeper集群
  • 添加Hadoop运行用户
  • 配置主节点登录自己和其他节点不需要输入密码
  • 安装hadoop
  • 启动hadoop
  • 停止hadoop

 

一、环境规划

主机名 IP地址 操作系统版本 安装软件
hadoop16   172.16.206.16  CentOS 7.2 JDK1.7、hadoop-2.7.2 
hadoop26  172.16.206.26  CentOS 7.2 JDK1.7、hadoop-2.7.2
hadoop27  172.16.206.27  CentOS 7.2 JDK1.7、hadoop-2.7.2、Zookeeper
hadoop28   172.16.206.28  CentOS 7.2  JDK1.7、hadoop-2.7.2、Zookeeper
hadoop29   172.16.206.29  CentOS 7.2  JDK1.7、hadoop-2.7.2、Zookeeper

 

 

 

 

 

 

由于机器资源紧张,将NameNode和ResourceManager安装在一台机器上。在hadoop16主机上安装NameNode和ResourceManager使其处于active状态,在hadoop26上安装NameNode和ResourceManager使其处于standby状态。

环境拓扑:

安装部署Apache Hadoop (完全分布式模式并且实现NameNode HA和ResourceManager HA)

由于是实验环境,所以将NameNode和ResourceManager放在了一起,生产环境下应该将NameNode和ResourceManager放在单独的机器上。

Hadoop2.0官方提供了两种HDFS HA的解决方案,一种是NFS,另一种是QJM。这两种共享数据的方案,NFS是操作系统层面的,JournalNode是hadoop层面的,这里我们使用简单的QJM集群进行数据共享。在该方案中,主备NameNode之间通过一组JournalNode同步元数据信息,一条数据只要成功写入多数JournalNode即认为写入成功。通常配置奇数个JournalNode。

另外还配置了一个zookeeper集群(27,28,29主机),用于ZKFC(DFSZKFailoverController)故障转移,当Active NameNode挂掉了,会自动切换Standby NameNode和ResourceManager为standby状态。同时27,28,29主机作为DataNode节点。

 

二、配置集群各节点hosts文件

在集群各节点,编辑hosts文件,配置好各节点主机名和ip地址的对应关系:

# vim /etc/hosts
172.16.206.16 hadoop16
172.16.206.26 hadoop26
172.16.206.27 hadoop27
172.16.206.28 hadoop28
172.16.206.29 hadoop29

 

三、安装JDK1.7

Hadoop Java Versions
Version 2.7 and later of Apache Hadoop requires Java 7. It is built and tested on both OpenJDK and Oracle (HotSpot)'s JDK/JRE. <br />
Earlier versions (2.6 and earlier) support Java 6.

# mkdir /usr/java
# tar zxf /usr/local/jdk-7u80-linux-x64.gz -C /usr/java/
# vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_80
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# source /etc/profile
安装JDK1.7

相关文章: