Zookeeper 集群安装配置,超详细,速度收藏!
时间:2022-06-25
本文章向大家介绍Zookeeper 集群安装配置,超详细,速度收藏!,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
下载
下载地址:http://zookeeper.apache.org/
下载过程就不说了,我们下载了最新的zookeeper-3.4.11
。
安装
1、上传安装包
把下载的最新的包(如:zookeeper-3.4.11.tar.gz)上传到服务器,上传的方式也不多说了。
2、解压
$ tar zxvf zookeeper-3.4.11.tar.gz
3、移动到/usr/local目录下
$ mv zookeeper-3.4.11 /usr/local/zookeeper
集群配置
Zookeeper集群原则上需要2n+1个实例才能保证集群有效性,所以集群规模至少是3台。
下面演示如何创建3台的Zookeeper集群,N台也是如此。
1、创建数据文件存储目录
$ cd /usr/local/zookeeper
$ mkdir data
2、添加主配置文件
$ cd conf
$ cp zoo_sample.cfg zoo.cfg
3、修改配置
$ vi zoo.cfg
先把dataDir=/tmp/zookeeper
注释掉,然后添加以下核心配置。
dataDir=/usr/local/zookeeper/data
server.1=192.168.10.31:2888:3888
server.2=192.168.10.32:2888:3888
server.3=192.168.10.33:2888:3888
4、创建myid文件
$ cd ../data
$ touch myid
$ echo "1">>myid
每台机器的myid里面的值对应server.后面的数字x。
5、开放3个端口
$ sudo /sbin/iptables -I INPUT -p tcp --dport 2181 -j ACCEPT
$ sudo /sbin/iptables -I INPUT -p tcp --dport 2888 -j ACCEPT
$ sudo /sbin/iptables -I INPUT -p tcp --dport 3888 -j ACCEPT
$ sudo /etc/rc.d/init.d/iptables save
$ sudo /etc/init.d/iptables restart
$ sudo /sbin/iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3888
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2888
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2181
6、配置集群其他机器
把配置好的Zookeeper目录复制到其他两台机器上,重复上面4-5步。
$ scp -r /usr/local/zookeeper test@192.168.10.32:/usr/local/
7、重启集群
$ /usr/local/zookeeper/bin/zkServer.sh start
3个Zookeeper都要启动。
8、查看集群状态
$ /usr/local/zookeeper/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: follower
客户端连接
./zkCli.sh -server 192.168.10.31:2181
连接本机的不用带-server。
注意
如果是在单机创建的多个Zookeeper伪集群,需要对应修改配置中的端口、日志文件、数据文件位置等配置信息。
跟着栈长学 Zookeeper,可以在Java技术栈微信公众号回复关键字:Zookeeper,后续会陆续更新 Zookeeper 系列文章。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 解决Android应用冷启动时出现的白屏问题的方法
- Java点餐系统+扫码点餐小程序部署文档(2020版)
- Android开发实现各种图形绘制功能示例
- Android webview手动校验https证书(by 星空武哥)
- AndroidStudio Gradle第三依赖统一管理的实现方法
- 小程序上传多张图片到springboot后台,返回可供访问的图片链接
- AndroidStudio Gradle基于友盟的多渠道打包方法
- Android开发之全屏与非全屏的切换设置方法小结
- Android使用GridView实现日历的方法
- Android控件AppWidgetProvider使用方法详解
- R语言使用链梯法Chain Ladder和泊松定律模拟和预测未来赔款数据
- Android ViewPager实现左右滑动的实例
- R语言通过伽玛与对数正态分布假设下的广义线性模型对大额索赔进行评估预测
- R语言中回归模型预测的不同类型置信区间应用比较分析
- 第06期:Prometheus 存储