因为后面需要部署NameNode和MapReduce的HA机制,而CDH4的HA机制中故障转移中除了手动转移外的自动故障转移都是依靠zookeeper实现的,所以需要先掌握ZooKeeper的分布式部署,还好在没接触Hadoop之前就storm+zookeeper使用过,所以在ubuntu12.04下面部署也不是很难。
CDH4.5 hadoop集群还是之前的集群,zookeeper部署在以下机器上
192.168.1.20 U-2
192.168.1.30 U-3
192.168.1.40 U-4
1 安装zookeeper
apt-get install zookeeper
该软件包只是安装了zookeeper应用
2 安装zookeeper服务管理脚本
apt-get install zookeeper-server
该软件包安装了管理zookeeper服务的相关脚本
3 配置zookeeper(/etc/zookeeper/conf/zoo.cfg)
# limitations under the License.
maxClientCnxns=50
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/var/lib/zookeeper
# the port at which the clients will connect
clientPort=2181
#追加如下部分
server.1=U-2:2888:3888
server.2=U-3:2888:3888
server.3=U-4:2888:3888
注意每台zookeeper机器(U-2/3/4)都需要按照如上修改,内容一致
4 初始化zookeeper服务,仅针对于刚安装好的zookeeper,它会在/var/lib/zookeeper目录下创建version-2目录,用来存储一些状态信息
service zookeeper-server init
注意每台zookeeper机器(U-2/3/4)都需要执行
5 创建myid文件,并配置myid文件内容
如果这时候你直接启动zookeeper服务,会提示你缺少myid文件,myid文件的内容是zoo.cfg中本机对应的server字段后面跟的数字,以U-3机器为例:在zoo.cfg中,它的配置部分是server.2=U-3:2888:3888。则U-3机器的myid文件的内容就是3
,myid文件在dataDIr配置的目录下面,注意每台zookeeper机器的myid文件的内容都不一样
6 启动zookeeper服务
service zookeeper-server start
7 使用jps查看服务是否启动