您好,登录后才能下订单哦!
本篇内容主要讲解“zookeeper伪集群的安装和配置方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“zookeeper伪集群的安装和配置方法”吧!
zookeeper 安装 配置
mkdir -p /opt/zookeeper
如果是win 直接运行bin下的.cmd后缀启动文件 如果是linux和mac直接运行bin下的.sh启动文件
centos7安装有wget安装和从官网下载安装,wget比较慢,建议从官网下载安装。 官网地址 https://zookeeper.apache.org/ 下载记得选http镜像别的镜像下不下来, 选择镜像查看-> https://jingyan.baidu.com/album/335530dafd4b3619cb41c3d8.html 教程
zookeeper安装不区分win、linux、mac 直接解压。下载带bin的是只有class文件的,不带bin的是有java文件的都行建议下带bin的,文件小。
zookeeper安装包解压配置启动就能用,创建/opt/zookeeper存放解压后的zookeeper
配置伪集群
cp -a zoo_sample.cfg zoo.cfg
mkdir -p /root/kch/zkw/zookeeper/data mkdir -p /root/kch/zkw/zookeeper/logs
# 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. # do not use /tmp for storage, /tmp here is just # example sakes. dataDir=/root/kch/zkw/zookeeper/data dataLogDir=/root/kch/zkw/zookeeper/logs # the port at which the clients will connect clientPort=2181 # the maximum number of client connections. # increase this if you need to handle more clients #maxClientCnxns=60 # ▽ # Be sure to read the maintenance section of the # administrator guide before turning on autopurge. # # http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance # # The number of snapshots to retain in dataDir #autopurge.snapRetainCount=3 # Purge task interval in hours # Set to "0" to disable auto purge feature #autopurge.purgeInterval=1
tickTime=2000 dataDir=/root/kch/zkw/zookeeper/data dataLogDir=/root/kch/zkw/zookeeper/logs clientPort=2181
参数说明:
bin/zkServer.sh start
Server启动之后,查看zookeeper状态:
bin/zkServer.sh status
然后就可以启动client连接server了, 执行脚本:
bin/zkCli.sh -server localhost:2181
伪集群模式 所谓伪集群, 是指在单台机器中启动多个zookeeper进程, 并组成一个集群. 以启动3个zookeeper进程为例.
将zookeeper的目录拷贝2份:
|--zookeeper0 |--zookeeper1 |--zookeeper2
更改zookeeper0/conf/zoo.cfg文件为:
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/root/kch/zkw/zookeeper0/data dataLogDir=/root/kch/zkw/zookeeper0/logs clientPort=2180 server.0=127.0.0.1:8880:7770 server.1=127.0.0.1:8881:7771 server.2=127.0.0.1:8882:7772
新增了几个参数, 其含义如下:
参照zookeeper0/conf/zoo.cfg, 配置zookeeper1/conf/zoo.cfg, 和zookeeper2/conf/zoo.cfg文件. 只需更改dataDir, dataLogDir, clientPort参数即可.
在之前设置的dataDir中新建myid文件, 写入一个数字, 该数字表示这是第几号server. 该数字必须和zoo.cfg文件中的server.X中的X一一对应. 如果是windows可以创建myid.txt然后里边写数字,最后再修改文件格式去掉后缀 example:
echo 0 > /root/kch/zkw/zookeeper0/data/myid
/root/kch/zkw/zookeeper0/data/myid文件中写入0 /root/kch/zkw/zookeeper1/data/myid文件中写入1 /root/kch/zkw/zookeeper2/data/myid文件中写入2 分别进入/opt/zookeeper/zookeeper0/bin, /opt/zookeeper/zookeeper1/bin, /opt/zookeeper/zookeeper2/bin三个目录, 启动server. 任意选择一个server目录, 启动客户端:
bin/zkCli.sh -server localhost:2180
initLimit: zookeeper集群中的包含多台server, 其中一台为leader, 集群中其余的server为follower. initLimit参数配置初始化连接时, follower和leader之间的最长心跳时间. 此时该参数设置为5, 说明时间限制为5倍tickTime, 即5*2000=10000ms=10s.
syncLimit: 该参数配置leader和follower之间发送消息, 请求和应答的最大时间长度. 此时该参数设置为2, 说明时间限制为2倍tickTime, 即4000ms.
server.X=A:B:C 其中X是一个数字, 表示这是第几号server. A是该server所在的IP地址. B配置该server和集群中的leader交换消息所使用的端口. C配置选举leader时所使用的端口. 由于配置的是伪集群模式, 所以各个server的B, C参数必须不同.
tickTime: zookeeper中使用的基本时间单位, 毫秒值. dataDir: 数据目录. 可以是任意目录. dataLogDir: log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和dataDir相同的设置. clientPort: 监听client连接的端口号. 至此, zookeeper的单机模式已经配置好了. 启动server只需运行脚本:
配置zoo.cfg
zoo.cfg内容
创建zookeeper的数据存放目录和日志目录
解压到合适目录. 进入zookeeper目录下的conf子目录, 创建zoo.cfg:
集群模式
tickTime=2000 initLimit=5 syncLimit=2 dataDir=/root/kch/zkw/zookeeper/data dataLogDir=/root/kch/zkw/zookeeper/logs clientPort=2180 server.0=10.1.39.43:2888:3888 server.1=10.1.39.47:2888:3888 server.2=10.1.39.48:2888:3888
10.1.39.43 server的myid为0 10.1.39.47 server的myid为1 10.1.39.48 server的myid为2
示例中部署了3台zookeeper server, 分别部署在10.1.39.43, 10.1.39.47, 10.1.39.48上. 需要注意的是, 各server的dataDir目录下的myid文件中的数字必须不同.
集群模式的配置和伪集群基本一致. 由于集群模式下, 各server部署在不同的机器上, 因此各server的conf/zoo.cfg文件可以完全一样. 下面是一个示例:
到此,相信大家对“zookeeper伪集群的安装和配置方法”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。