ZooKeeper_002_分布式搭建
2021/12/27 23:13:04
本文主要是介绍ZooKeeper_002_分布式搭建,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1,上传Zookeeper安装文件
官网下载:https://www.apache.org/dyn/closer.lua/zookeeper
将apache-zookeeper-3.7.0-bin.tar.gz上传到node001节点的主文件夹中
进入主目录进行解压
cd ~ tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz -C /home/hadoop/
由于后边设置变量等情况会多次使用该文件夹,所以可以对该文件夹进行改名。我这里为了方便将其改为 zookeeper
2,编写配置文件
在ZooKeeper的安装目录下新建文件夹dataDir 用于存放Zookeeper相关数据。
cd ~/zookeeper mkdir dataDir
在ZooKeeper安装目录下的conf文件夹中新建配置文件zoo.cfg
cd conf sudo gedit zoo.cfg
加入以下内容:
#基本事件单元,用来指示一个心跳的时长。以毫秒为单位,默认2000 tickTime=2000 #集群中的Follower服务器初始化连接Leader服务器时能等待的最大心跳数(也就是##连接超时的时长),默认为10,我们调整为5,也就是5*2000ms =10s initLimit=5 # 集群中的Follower服务器与Leader服务器之间发送消息以及请求/应答所能等待的##最多心跳数,我们设置为2,2*2000ms=4s syncLimit=2 #Zookeeper数据文件的存储位置 dataDir=/home/hadoop/zookeeper/dataDir #ZooKeeper供客户端连接的端口,默认是2181 clientPort=2181 server.1=node001:2888:3888 server.2=node002:2888:3888 server.3=node003:2888:3888
重点说一下最后三行:
server.id=host:port1:port2
server后边的数字也就是节点的id,用来区分不同的服务器。
后边是的组合host是服务器的名称或者IP地址
part1是Leader节点的端口,即该服务器作为Leader时供其Follower服务器连接的端口
part2是选举端口,也就是选取Leader服务器时供其他Follower服务器连接的端口
之后在/home/hadoop/zookeeper/dataDir问价夹下创建文件myid文件这个文件内容只有一行,由于这台服务器是node001 我们向myid文件中写入一个1即可:
cd /home/hadoop/zookeeper/dataDir sudo gedit myid
3,复制Zookeeper安装信息到其他节点
scp -r /home/hadoop/zookeeper/ hadoop@node002:/home/hadoop/ scp -r /home/hadoop/zookeeper/ hadoop@node003:/home/hadoop/
4,修改其他节点配置
修改node002节点,进入安装目录下前边创建的数据文件dataDir,修改数据文件中的myid文件为2
修改node003节点,进入安装目录下前边创建的数据文件dataDir,修改数据文件中的myid文件为3
cd ~/zookeeper/dataDir sudo gedit myid
5,启动ZooKeeper
Zookeeper的启动与Hadoop有所不同,zookeeper需要手动启动每个节点才能使整个集群运行起来。
分别进入ZooKeeper安装目录下的bin文件夹执行启动命令
cd ~/zookeeper/bin zkServer.sh start
出现图片中的内容说明启动成功
同样的操作进入node002,node003继续执行。
6,查看启动状态
zkServer.sh status
我们发现启动的时候报错了报错信息如下:
Error contacting service. It is probably not running.
此时需要修改Zookeeper安装目录下的bin/zkEnv.sh 文件的以下内容:
sudo gedit zkEnv.sh
if [ "x${ZOO_LOG4J_PROP}" = "x" ] then ZOO_LOG4J_PROP="INFO,CONSOLE"
将其中的CONSOLE修改为ROLLINGFILE
if [ "x${ZOO_LOG4J_PROP}" = "x" ] then ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
先关闭zookeeper服务
zkServer.sh stop
再次启动查看服务
查看防火墙状态
sudo ufw status
关闭防火墙(每个节点都关闭)
sudo ufw disable
再次启动就可以了
7,测试客户端连接
进入ZooKeeper安装目录下的bin文件夹执行启动命令(任意节点都可以)
zkCli.sh -server node001:2181
这篇关于ZooKeeper_002_分布式搭建的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24怎么修改Kafka的JVM参数?-icode9专业技术文章分享
- 2024-12-23线下车企门店如何实现线上线下融合?
- 2024-12-23鸿蒙Next ArkTS编程规范总结
- 2024-12-23物流团队冬至高效运转,哪款办公软件可助力风险评估?
- 2024-12-23优化库存,提升效率:医药企业如何借助看板软件实现仓库智能化
- 2024-12-23项目管理零负担!轻量化看板工具如何助力团队协作
- 2024-12-23电商活动复盘,为何是团队成长的核心环节?
- 2024-12-23鸿蒙Next ArkTS高性能编程实战
- 2024-12-23数据驱动:电商复盘从基础到进阶!
- 2024-12-23从数据到客户:跨境电商如何通过销售跟踪工具提升营销精准度?