(10)Zookeeper 3.4.9 集群部署

1.引言

      在前面的博客中介绍了Zookeeper的伪分布部署,在本篇博客中主要介绍一下Zookeeper的集群部署,在本篇博客中使用三台机器部署Zookeeper集群,如下表所示:

HOST名称ip地址运行的进程
hadoop1192.168.159.130QuorumPeerMain
hadoop2192.168.159.131QuorumPeerMain
hadoop3192.168.159.132QuorumPeerMain

      本博客的安装环境为:

  • zookeeper的版本为:3.4.9
  • zookeeper的安装目录为:/usr/local/zookeeper
  • jdk的版本为:1.7
  • jdk的安装目录为:/usr/local/jdk

2. Zookeeper 集群部署

2.1 修改hostname

  • hadoop1机器上修改hostname
//编辑文件
vim /etc/sysconfig/network
//修改主机名是hadoop1,(注意hostname的大小写)
hostname hadoop1
//命令行下修改hostname
hostname hadoop1

这里写图片描述

  • 同理在hadoop2,hadoop3执行相同的命令,如下图所示

这里写图片描述

这里写图片描述

2.2 建立hostnameip的映射关系

      为了部署集群方便,因此我们建立了ip和主机名称的映射,过程如下:

  • 修改/etc/hosts文件
//编辑hosts文件
vim /etc/hosts
//建立ip和host的映射关系
192.168.159.130 hadoop1
192.168.159.131 hadoop2
192.168.159.132 hadoop3

这里写图片描述

  • 同理在hadoop2,hadoop3也要建立ip和host的映射关系,过程和hadoop1完全相同。

2.3 关闭防火墙

      在hadoop集群中会经常发生 机器和机器之间的交互,为了避免因为防火墙产生的意外故障,因此我们需要将防火墙关闭,过程如下:

//关闭防火墙
service iptables stop
//查看防火墙状态
service iptables status
//关闭防火墙的自动运行
chkconfig iptables off

2.4 SSH免密码登陆

      zookeeper集群的ssh免密码登陆不和hadoop一样,hadoop只需要实现namenodedatanode实现免密码登陆即可,而zookeeper的免密码登陆需要相互实现(很重要)

  • Hadoop1创建公钥和私钥,实现hadoop2hadoop3的免密码登陆
//创建密钥,一直点确定到结束
ssh-keygen -t rsa
//将hadoop1的公钥复制到其他节点。
ssh-copy-id -i hadoop2
ssh-copy-id -i hadoop3
  • Hadoop2创建公钥和私钥,然后实现hadoop1hadoop3的免密码登陆
//创建密钥,一直点确定到结束
ssh-keygen -t rsa
//将hadoop1的公钥复制到其他节点。
ssh-copy-id -i hadoop1
ssh-copy-id -i hadoop3
  • Hadoop3创建公钥和私钥,然后实现hadoop1hadoop2的免密码登陆
//创建密钥,一直点确定到结束
ssh-keygen -t rsa
//将hadoop1的公钥复制到其他节点。
ssh-copy-id -i hadoop1
ssh-copy-id -i hadoop2

2.5 安装JDK

      如果操作系统本身已经安装了java环境,那么本步骤就可以忽略。

  • 解压jdk,并修改名称
//将jdk解压到/usr/local
tar -zxvf jdk-7u45-linux-x64.tar.gz -C /usr/local/
//进入到/usr/local
cd /usr/local
//修改文件夹的名称
mv jdk1.7.0_45 jdk
  • 修改环境变量
//修改配置文件
vim /etc/profile
//需要添加的内容
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

这里写图片描述

  • hadoop1jdk复制到其他节点
//将jdk复制到hadoop2,hadoop3,hadoop4,hadoop5
scp -r /usr/local/jdk hadoop2:/usr/local/
scp -r /usr/local/jdk hadoop3:/usr/local/
//将环境变量复制到hadoop2,hadoop3,hadoop4,hadoop5
scp /etc/profile hadoop2:/etc/profile
scp /etc/profile hadoop3:/etc/profile
  • 重新加载各个节点的环境变量
//分别在hadoop1,hadoop2,hadoop3执行下面命令(在五台机器上都执行)
source /etc/profile
  • 分别在三台机器上验证Java是否安装成功
//判断Java版本
java -version

这里写图片描述

2.6 zookeeper集群安装

  • 解压zookeeper,并改名
//解压zookeeper安装包
tar -zxvf zookeeper-3.4.9.tar.gz -C /usr/local/
//进入到/usr/local目录
cd /usr/local
//修改文件夹名称
mv zookeeper-3.4.9 zookeeper
  • 修改配置文件zoo.cfg
//将模板文件修改为配置文件
cp conf/zoo_sample.cfg conf/zoo.cfg
//zoo.cfg的内容修改为:
dataDir=/usr/local/zookeeper/data
clientPort=2181  
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888

这里写图片描述

  • 创建数据存储目录并标记
//创建数据存储目录
mkdir -p /usr/local/zookeeper/data
//将hadoop1标记为server.1
echo '1'>/usr/local/zookeeper/data/myid
  • 将zookeeper分发到hadoop2和hadoop3
//将zookeeper分发到hadoop2
scp -r /usr/local/zookeeper hadoop2:/usr/local  
//将zookeeper分发到hadoop3 
scp -r /usr/local/zookeeper hadoop3:/usr/local
  • 在hadoop2和hadoop3上打标记
//在hadoop2上执行,将hadoop2标记为server.2
echo '2'>/usr/local/zookeeper/data/myid
//在hadoop3上执行,将hadoop3标记为server.3
echo '3'>/usr/local/zookeeper/data/myid
  • 在三个节点分别启动zookeeper
bin/zkServer.sh start
  • 查看zookeeper是否启动成功(jps查看)

这里写图片描述

  • 查看zookeeper是否启动成功(bin/zkServer.sh status查看,此命令可以查看zookeeper实例的角色)

这里写图片描述

这里写图片描述

这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值