当前位置:   article > 正文

Alex 的 Hadoop 菜鸟教程: 第4课 Hadoop 安装教程 - HA方式 (2台服务器)_alex hadoop

alex hadoop

原帖地址: http://blog.csdn.net/nsrainbow/article/details/42013293 最新课程请关注原作者博客

声明

  • 本文基于Centos 6.x + CDH 5.x 
  • 官方英文安装教程 http://www.cloudera.com/content/cloudera/en/documentation/cdh5/v5-0-0/CDH5-Installation-Guide/cdh5ig_cdh5_install.html 本文并不是简单翻译,而是再整理
  • 如果没有yum源请参考http://blog.csdn.net/nsrainbow/article/details/36629339#t2

架构图

hadoop各个组件的关系是这样的


  • namenode 总数就2个,不能多也不能少,一个是active状态,一个是standby状态,只有active状态的在工作,另一个只是备份,当active状态的挂了之后,standby的会切换为active状态。但是这个动作其实不是天生自动的,配合上zookeeper才能实现自动化切换。
  • journalNode 用于存储active状态的namenode所做的所有改变,并同步到standby的namenode,以保证在standby转换为active之后不会漏掉操作
  • namenode管理着datanode,namenode负责存储地址空间,datanode负责真正的存储数据

本次部署之后的架构图是这样的

  • 为了降低部署的难度,我就虚拟了两台机子,其实真正部署的时候至少要有3台(保持奇数个)
  • zookeeper是负责在active的namenode挂掉之后自动把standby状态的namenode切换成active的
这幅图则解释了zookeeper在整个hadoop集群中的作用

  • zookeeper是游离于hadoop集群之外的组件
  • hadoop利用 zkfc (zookeeperFC) 来跟 zookeeper进行协作,其实目的很简单,就是在一个namenode挂掉的时候,自动切换成另一个namenode为active状态

准备工作

  1. 用vmware开出两台虚拟机,安装上Centos6。 我弄了两个host,分别是 host1(192.168.199.126)  和host2(192.168.199.128)
  2. 开始前请按照 Alex 的 Hadoop 菜鸟教程: 第2课 hadoop 安装教程 (CentOS6 CDH分支 yum方式) 里面的方式添加yum源

安装

安装Zookeeper

注意:我这人比较懒,所以基本都是用root在安装,所以以下命令,如果你们无法执行,请再前面加一个 sudo 。或者想我一样直接用root玩

在两台机都执行
yum install zookeeper -y

都安装 zookeeper-server

sudo yum install zookeeper-server -y



host1 上启动zookeeper

$ sudo service zookeeper-server init --myid=1
$ sudo service zookeeper-server start
JMX enabled by default
Using config: /etc/zookeeper/conf/zoo.cfg
Starting zookeeper ... STARTED

注意:这个 --myid=1 标定了zookeeper的id,会在  /var/lib/zookeeper 下建立一个 myid 文件

host2 上启动zookeeper

$ sudo service zookeeper-server init --myid=2
$ sudo service zookeeper-server start
JMX enabled by default
Using config: /etc/zookeeper/conf/zoo.cfg
Starting zookeeper ... STARTED

检查下是否在2181端口监听

  1. $ netstat -tpnl | grep 2181
  2. tcp 0 0 :::2181 :::* LISTEN 5477/java

用client端测试一下

zookeeper-client -server host1:2181

配置zookeeper

在两台机子上都编辑 /etc/zookeeper/conf/zoo.cfg 文件

tickTime=2000
dataDir=/var/lib/zookeeper/
clientPort=2181
initLimit=5
syncLimit=2
server.1=host1:2888:3888
server.2=host2:2888:3888

改完记得重启zookeeper

注意:其实zookeeper的服务器最小的安装数量是3台机器,但是现在只有2台,只能凑合了。因为zookeeper是根据超过半数出问题来关停系统的,所以2台就无法正确的判断了,不过我们只是做例子所以没关系。

hadoop在启动的时候会自动去找zookeeper的2181端口,如果没有就启动不起来


安装Resource Manager

你需要在两台机子中挑选一台作为resource manager,在这里我挑选 host1(192.168.199.126) 安装
在 host1 上执行
yum install hadoop-yarn-resourcemanager -y

安装Name Node

两台机子上都安装name node
sudo yum install hadoop-hdfs-namenode -y

安装Date Node 等

官方文档说在除了Resource Manager 以外的所有机器上安装以下几个包,不过你要是非在有Resource Manager的机器上装这些也不会出错,只是生产环境肯定不能这么干了。既然我们只有两台机子而且都装datanode,那肯定是只能两台机都要安装了
yum install hadoop-yarn-nodemanager hadoop-hdfs-datanode hadoop-mapreduce -y
<
本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/776567
推荐阅读
相关标签
  

闽ICP备14008679号