Hadoop-2.5.0-cdh5.3.2 HA 安装

本文详细介绍了如何在集群环境中安装配置Hadoop-2.5.0-cdh5.3.2的高可用(HA)模式,包括规划、环境准备、ZooKeeper安装、Hadoop安装、启动集群以及运行WordCount程序的步骤。在安装过程中,强调了网络配置、JDK安装、SSH免密通信、ZooKeeper集群的启动以及NameNode和DataNode的格式化与启动。最后,通过运行Hadoop自带的WordCount程序验证安装成功。
摘要由CSDN通过智能技术生成

一. 规划

集群中各机器的配置均相同:

  • CPU x3
  • 内存 25G
  • 硬盘 1.5T

1.1 软件版本

组件名 版本 下载地址
JDK java version “1.8.0_60” http://www.oracle.com/technetwork/java/javase/downloads/index.html
Hadoop hadoop-2.5.0-cdh5.3.2.tar.gz http://archive.cloudera.com/cdh5/cdh/5/
Zookeeper zookeeper-3.4.5-cdh5.3.2.tar.gz http://archive.cloudera.com/cdh5/cdh/5/

1.2 主机规划

IP 主机名 用户名 部署模块 进程
10.6.3.43 master5 hadoop5 NameNode
ResourceManager
NameNode
DFSZKFailoverController
ResourceManager
JobHistoryServer
10.6.3.33 master52 hadoop5 NameNode
ResourceManager
NameNode
DFSZKFailoverController
ResourceManager
JobHistoryServer
10.6.3.48 slave51 hadoop5 DataNode
NodeManager
Zookeeper
DataNode
NodeManager
JournalNode
QuorumPeerMain
10.6.3.32 slave52 hadoop5 DataNode
NodeManager
Zookeeper
DataNode
NodeManager
JournalNode
QuorumPeerMain
10.6.3.36 slave53 hadoop5 DataNode
NodeManager
Zookeeper
DataNode
NodeManager
JournalNode
QuorumPeerMain

1.3 变量名及目录路径规划

目录名 路径
临时 tar.gz 安装包 /home/hadoop5/softwares/tar_packages
环境变量修改文件 /home/hadoop5/.bash_profile
集群所在目录 /usr/local/cluster
$JAVA_HOME /usr/local/jdk1.8.0_60
$HADOOP_HOME /usr/local/cluster/hadoop
$ZOOKEEPER_HOME /usr/local/cluster/zookeeper

Note: 以上路径若不存在,则直接按照以下命令直接创建,并修改相关属性即可,其他类似

sudo mkdir -p /usr/local/cluster
sudo chown -R hadoop5:hadoop5 /usr/local/cluster/



二. 环境准备

2.1 创建 hadoop 用户

在集群中的每台机器都创建特定且相同的 Hadoop 用户账号可以区分 Hadoop 和本机上的其他服务,本教程创建的是 hadoop5 用户。
相关配置请参考 《Centos6.5 创建新用户》


2.2 网络配置

  • 要确保集群中的每台机器之间能够 ping 通
  • 关闭防火墙 和 SeLinux
  • 集群中的所有机器的 /etc/hosts 文件内容均一致,都要将集群中的各 IP 和 主机名对应起来
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.6.3.43       master5
10.6.3.33       master52
10.6.3.48       slave51
10.6.3.32       slave52
10.6.3.36       slave53

请参考 《Centos6.5 网络配置 》


2.3 安装 JDK

本教程安装的 java version “1.8.0_60” 的 jdk。相关配置请参考 《 Centos6.5 JAVA配置 》
安装 jdk 路径为 /usr/local/jdk1.8.0_60 。 请参考 《变量名及目录路径规划》


2.4 配置 SSH 免密码通信

相关配置请参考 《Centos6.5下SSH免密码登陆配置》


2.5 VNC 配置 (可选)

配置 VNC 是可选的,对搭建 hadoop 不是必需的,但因为提供了图形化操作界面,还是有必要安装下。相关教程请参考 《 Centos6.5 VNC 配置 》



三. 安装 ZooKeeper

按照 主机规划 中,仅在 slave51、slave52、slave53 的节点上安装搭建 ZooKeeper 的复制模式 (Replicated Mode)。
详细的安装步骤请参考 :《 ZooKeeper 搭建》

ZooKeeper 的主进程 QuorumPeerMain 可以先不用启动,本文的最后,会梳理整个 HA 模式下启动的流程顺序。



四. 安装 Hadoop (重点)

4.1 下载,解压,配置环境变量

在 master5 的节点上,将从官网上下载的 hadoop tar 包解压至相应目录,详见 《变量名及目录路径规划》


1. 创建相应目录

sudo mkdir -p /usr/local/cluster/hadoop
sudo chown -R hadoop5:hadoop5 /usr/local/cluster/

创建,并修改成功之后应该是如下这样,否则就是各种权限不足的问题了:
这里写图片描述


2. 解压 tar 包至指定目录

sudo tar -zxvf  ~/softwares/tar_packages/hadoop-2.5.0-cdh5.3.2.tar.gz -C /usr/local/cluster/hadoop --strip-components 1
sudo chown -R hadoop5:hadoop5 /usr/local/cluster/hadoop

这里写图片描述


3. 替换本地库文件
因为在 lib/native 路径下,没有任何文件,这个就涉及到编译源码的问题了。有兴趣详见:Hadoop-2.5.0-cdh5.3.2 获取源码及编译

将编译之后的 lib/native 下的所有库文件都拷贝到解压后的 hadoop 包下的 lib/native 下。如下图
这里写图片描述

需要注意的是:最好保证编译时的机器环境与你搭建的集群环境是相同的,不容易出错。相关的 lib/native 包,笔者已上传 http://download.csdn.net/detail/u011414200/9201161


4. 配置环境变量

登陆到集群中每台机器上完成该配置:

vim ~/.bash_profile

添加如下:

export HADOOP_HOME=/usr/local/cluster/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

并执行以下命令,使环境变量生效

source ~/.bash_profile

4.2 修改配置文件

需要修改文件名:

文件名称 格式 描述
hadoop-env.sh Bash 脚本 记录脚本中要用到的环境变量,以运行 Hadoop
core-site.xml Hadoop 配置 XML Hadoop Core 的配置项,例如 HDFS 和 MapReduce 常用的 I/O 设置等
hdfs-site.xml Hadoop 配置 XML Hadoop 守护进程的配置项,包括 namenode 和 datanode
mapred-site.xml Hadoop 配置 XML MapReduce 守护进程的配置项
yarn-site.xml xml Yarn 守护进程的配置项:资源管理器、作业历史服务器、Web 应用程序代理服务器和节点管理器
slaves 纯文本 运行 datanode 和 tasktracker 的机器列表(每行一个)


cd /usr/local/cluster/hadoop/etc/hadoop/


1. 修改 $HADOOP_HOME/etc/hadoop/hadoop-env.sh

vim hadoop-env.sh

其中修改的 JAVA_HOME 只要操作这一次,就能够保证整个集群使用同一版本的 Java。完整添加的代码如下

export JAVA_HOME=/usr/local/jdk1.8.0_60
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_HOME/lib/native"
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

这里写图片描述

  • 添加 -Djava.library.path 到变量 HADOOP_OPTS 中,是为了让 HADOOP 能正确地指向本地库


2. 修改$HADOOP_HOME/etc/hadoop/hdfs-site.xml

vim hdfs-site.xml

<configuration></configuration> 之间添加如下内容

<property>
<name>dfs.nameservices</name></
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值