ZooKeeper集群安装

ZooKeeper集群安装

大家好,又见面了,我是全栈君。

ZooKeeper是Apache提供的。分布式服务协调系统,应用比較广泛。

由于项目中使用Kafka MQ,而Kafka全然使用ZooKeeper实现Kafka各组件的服务协调,包含Broker、Consumer等。

文档中的Linux命令,以#開始的为root用户的操作。以$開始的为zk用户的操作。

创建zk用户

# groupadd zk

# useradd -g zk zk

# passwd zk

准备安装文件夹

  • 创建ZooKeeper数据存储文件夹:

# mkdir -p /data/zookeeper

# chown -R zk:zk/data/zookeeper

  • 通过zk用户创建数据和日志文件夹:

$ mkdir/data/zookeeper/data

$ mkdir /data/zookeeper/log

安装ZooKeeper

  • 解压缩ZooKeeper二进制包:

# cd /usr/local/src

# tar -zxvfzookeeper-3.4.6.tar.gz -C /usr/local/

# chown -R zk:zk /usr/local/zookeeper-3.4.6

  • 改动ZooKeeper配置文件:

$ cd/usr/local/zookeeper-3.4.6/conf                 

$ cp zoo_sample.cfg zoo.cfg

$ vi zoo.cgf

改动配置见下图。包含dataDir, dataLogDir及三个ZooKeeper的server列表。

ZooKeeper集群安装

$ vi log4j.properties

改动zookeeper.log.dir,配置见下图,

ZooKeeper集群安装

  • 创建ZooKeeperServerId文件

在ZooKeeper的data文件夹中创建名称为myid文件,内容为ServerId编号,如上配置文件里,三台的ZooKeeper的myid内容分布为1, 2, 3。

$ cd /data/zookeeper/data

$ cat > myid

输入
1
,按
Enter
键,再按
Ctrl+d
结束。

  • 改动zk用户的环境变量:

$ vi ~/.bash_profile

在文件里添加红框部分:

ZooKeeper集群安装

$source ~/.bash_profile

反复以上步骤。安装ZooKeeper到另外2台。构建一个三台的ZooKeeper集群。

启动ZooKeeper

集群中的全部ZooKeeper都能够通过以下的命令启动:

$ zkServer.sh start

正常情况下显示:

JMX enabled by default

Using config:/usr/local/zookeeper-3.4.6/bin/../conf/zoo.cfg

Starting zookeeper … STARTED

通过以下的命令查看ZooKeeper是否启动成功:

$ zkServer.sh status

假设启动成功,则Leader的机器上显示:

ZooKeeper集群安装

在Follower的机器上显示:

ZooKeeper集群安装

停止

$ zkServer.sh stop

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116615.html原文链接:https://javaforall.net

(0)
上一篇 2022年1月18日 下午4:00
下一篇 2022年1月18日 下午4:00


相关推荐

  • ldap 统一认证 java_LDAP统一认证

    ldap 统一认证 java_LDAP统一认证原标题 LDAP 统一认证对于上了一定规模的企业 内部日常办公系统比较多 每个系统都有独立的账号密码 这对单位系统的使用者和管理者都造成了一定困扰 LDAP 统一认证成为了大多数企业解决这个问题的方案 LDAP 统一认证有度即时通通过自身 API 接口的开发 已天然支持微软 ActiveDirect 模式集成 对于使用微软 AD 域的用户 只需要通过简单设置 LDAP 服务器地址 管理员账号密码及域名

    2026年3月19日
    2
  • vue(24)网络请求模块axios使用「建议收藏」

    vue(24)网络请求模块axios使用「建议收藏」什么是axiosAxios是一个基于promise的HTTP库,可以用在浏览器和node.js中。主要的作用:axios主要是用于向后台发起请求的,还有在请求中做更多是可控功能。a

    2022年8月7日
    14
  • 36氪 × OpenClaw“龙虾”|让你的AI Agent先一步看到未来

    36氪 × OpenClaw“龙虾”|让你的AI Agent先一步看到未来

    2026年3月14日
    2
  • 向量空间、内积空间、欧式空间以及希尔伯特空间的关系

    向量空间、内积空间、欧式空间以及希尔伯特空间的关系在数学中有许多空间表示 比如向量空间 内积空间 欧式空间以及希尔伯特空间等 1 距离的定义具体的距离 实际上距离除了我们经常用到的直线距离外 还有向量距离 函数距离 曲面距离 折线距离等等 这些具体的距离与距离之间的关系类似于苹果 香蕉等与水果的关系 前面是具体的事物 后面是抽象的概念 距离就是一个抽象的概念 其定义为 设 X 是任一非空集 对 X 中任意两点 x y 有一实数 d

    2026年3月26日
    1
  • AI文章检测工具 怎么判断是不是AI写的

    AI文章检测工具 怎么判断是不是AI写的

    2026年3月14日
    3
  • linux下chmod +x的意思?为什么要进行chmod +x

    linux下chmod +x的意思?为什么要进行chmod +x上周在工作中接触到chmod+x这个命令,如下图:首先对start.sh这个启动文件删除,然后使用rz命令上传了新的start.sh,然后发现还有进行下一步,chmod+xstart.sh这一步是什么意思呢?经过上网查询(说的比较复杂,引申太多)和咨询我们研发(还是研发说的通俗易懂)chmod+x的意思就是给执行权限LINUX下不同的文件类型有不同的颜色,这里…

    2022年7月12日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号