【Zookeeper搭建】Zookeeper分布式集群搭建完整指南
Zookeeper分布式集群搭建
(一)克隆前准备工作
一、时钟同步
步骤:
1、输入date命令可以查看当前系统时间,可以看到此时系统时间为PDT(部分机器或许为EST),并非中国标准时间。我们在中国地区,因此要把系统时间改为CST(中国标准时间)
2、修改时间类型:
sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
修改完后再次使用date命令查看是否更改成功。
二、Zookeeper的安装和部署
步骤:
1、使用XFTP把安装包zookeeper-3.4.6.tar.gz传输到虚拟机主目录(/home/hadoop)下,然后解压:
cd ~
tar -zxvf zookeeper-3.4.6.tar.gz
2、配置环境变量,在.bashrc文件中添加内容。先执行以下命令打开.bashrc文件:
vim ~/.bashrc
在文件末尾加上以下语句:
export ZOOKEEPER_HOME=/home/hadoop/zookeeper-3.4.6
export PATH=$ZOOKEEPER_HOME/bin:$PATH
添加完成后保存,然后控制台执行以下命令刷新即可:
source ~/.bashrc
3、修改zoo.cfg配置文件:
该文件需要新建,并保存在zookeeper安装路径的conf子目录中:
cd ~/zookeeper-3.4.6/conf
vim zoo.cfg
4、大概配置内容如下:
initLimit=10
syncLimit=5
#此处为数据保存目录,需自行创建
dataDir=/home/hadoop/zkdata
#此处为日志保存目录,需自行创建
dataLogDir=/home/hadoop/zklog
clientPort=2181
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
[注意:此处标红的两组数字,前面的1、2、3是每个节点服务的编号,后面的主机名是对应节点服务器的IP地址,这里的配置需要和后面克隆后的配置信息对应上。]{.underline}
[节点服务编号的值是一个整型数字,且不能重复。]{.underline}
5、创建数据和日志目录:
mkdir /home/hadoop/zkdata
mkdir /home/hadoop/zklog
此时,可以开始克隆虚拟机了。
(二)克隆Linux虚拟机
前言:
克隆开始之前,可以保存一下虚拟机的快照,或者完整地备份一下自己的虚拟机,这样就不必担忧后续集群使用过程中出现严重的问题需要重来。
一、克隆出两台虚拟机
步骤:
1、使用stop-all.sh命令关闭hadoop集群后,关闭Linux虚拟机;
2、右键选中master,管理-克隆;
3、在弹出的克隆虚拟机向导中,选择克隆自虚拟机中的当前状态;
4、创建完整克隆;
5、虚拟机名称建议为slave1、slave2;位置选择F盘你自己的目录;
6、点击完成开始克隆;
二、把三台虚拟机都启动起来
步骤:略
(三)克隆虚拟机后配置
一、为两台新的虚拟机修改IP地址
由于是克隆的虚拟机,因此他们的配置都是一样的,所以开机以后第一步,先把两台slave机器的ip地址修改一下,否则IP地址会发生冲突。
只需修改最后的部分即可,即192.168.203.XXX中标红的一节;设置方式参考前面教程。
二、为两台新的虚拟机修改主机名
步骤:
1、修改slave1主机的/etc/hostname文件,将其主机名修改为slave1
sudo vim /etc/hostname
2、重复上述步骤,也把slave2的主机名修改为slave2
三、为三台机器配置hosts文件
步骤:
1、先在master主机修改/etc/hosts文件,建立主机名与ip地址的映射:
sudo vim /etc/hosts
在末尾添加两行:
192.168.203.XXX slave1
192.168.203.XXX slave2
其中的ip地址要对应上一步你自己为每一台主机设置的ip地址。
2、为另外两台slave1、slave2主机也重复上面步骤。
四、为master主机配置NTP服务器,用于时钟同步
步骤:
1、配置NTP服务器:
我们选择master节点来配置NTP服务器,后续其他节点定时同步master节点的时间。CentOS系统一般已经安装有NTP服务,因此直接修改配置文件ntp.conf即可,该文件位于/etc文件夹内:
sudo vim /etc/ntp.conf
打开后如下:
{width=“4.813379265091863in” height=“3.261459973753281in”}
2、修改一:
找到#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
这一行,然后在其下方添加:
restrict 192.168.240.129 mask 255.255.255.0 nomodify notrap
其中标红的ip地址需改成你master主机的ip地址。
3、修改二:
注释掉下面的4行server域名配置:
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
4、修改三:
注释完以后在下方添加两行:
server 127.127.1.0
fudge 127.127.1.0 stratum 10
5、修改完后大体如图所示:
{width=“4.6292465004374455in” height=“1.8431157042869641in”}
6、在master执行以下命令启动服务:
systemctl start ntpd
7、执行以下命令可以让master每次启动机器时,都自动开启NTP服务:
chkconfig ntpd on
8、在其他节点配置定时同步时间:
使用Linux的crontab命令配置定时任务,定时执行ntpdate时间同步命令即可。
在slave1、slave2都使用crontab -e
命令打开vim编辑器编辑定时命令脚本,在其中添加此行命令:
0-59/10 * * * * sudo /usr/sbin/ntpdate master
其中标红的需改成你上述配置了ntp服务器的主机名。
设置完成后,后续slave1、slave2将定期每10分钟自动与master主机同步时间。
五、创建Zookeeper各节点服务编号
在各个机器的/home/hadoop/zkdata
目录,创建一个myid文件,然后分别输入服务编号即可,下面以master为例设置,执行以下命令:
cd /home/hadoop/zkdata
touch myid
echo 1 > myid
其中编号1即为master机器的编号,此处必须按照前面Zookeeper安装与部署步骤4中对应的主机与编号进行设置。
自行重复上述步骤,把三台机器都配置完毕。
六、启动Zookeeper集群
在每一台机器上,分别执行以下命令启动Zookeeper服务:
zkServer.sh start
一段时间后使用以下命令查看状态:
zkServer.sh status
如果Zookeeper集群中,出现一个节点为Leader,另外两个为Follower,则说明Zookeeper集群安装部署成功。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/612497.html 如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!