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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 微信小程序转二维码教程_小程序码转换成二维码

    微信小程序转二维码教程_小程序码转换成二维码微信小程序转二维码方法分享需要转码的可以看看这个东西是看个人需求的,618就要来了,各种活动也将来袭为了方便小程序邀请活动没法外发,这里分享下将小程序转二维码的方法首先,你需要在电脑上打开https://mp.weixin.qq.com注册一个个人微信订阅号,其次,登陆微信电脑版,微信号关注你注册的订阅号,这是重点注册好了,接下来就是详细步骤1首页-新建群发-选择自建图文-最上边点小程序2选择你要转码的小程序名字或者微信号如“来客有礼”,点下一步3点击“获取更多页

  • redis面试必会6题经典_redis 面试

    redis面试必会6题经典_redis 面试Redis终极面试手册

    2022年10月26日
  • matlab运算放大器概述,运算放大器概述「建议收藏」

    matlab运算放大器概述,运算放大器概述「建议收藏」运算器的历史第一个使用真空管设计的放大器大约在1930年前后完成,这个放大器可以执行加与减的工作。运算放大器最早被设计出来的目的是将电压类比成数字,用来进行加、减、乘、除的运算,同时也成为实现模拟计算机(analogcomputer)的基本建构方块。然而,理想运算放大器的在电路系统设计上的用途却远超过加减乘除的计算。今日的运算放大器,无论是使用晶体管(transistor)或真空管(vacuum…

  • for循环中执行顺序_顺序结构选择结构循环结构

    for循环中执行顺序_顺序结构选择结构循环结构今天刷题碰到的一个坑,就是没有注意到for循环的每次判断条件导致的**,也就是for循环的第二句**,每次循环都会执行该判断条件。for循环的表达式一般如下:for(表达式1;表达式2;表达式3){表达式4;}执行的顺序为:第一次循环首先执行表达式1(一般为初始化语句,只执行一次),再执行表达式2(条件判断语句),判断表达式1是否符合表达式2的条件,如果符合,则执行表达式4,……

    2022年10月29日
  • Request对象详细介绍「建议收藏」

    Request对象详细介绍「建议收藏」在做Web端程序开发时,少不了与这两个内置对象打交道。可以说整个客户端与服务端之间的交互都是通过这两个内置对象做关联,下面来详细的说一下。 1.Request对象 该对象用来在服务器端处理客户端发送的请求。 我们可以了解request对象是当客户端向服务端发送请求后,服务器为本次请求创建request对象,并调用

  • [Android Studio 权威教程]断点调试和高级调试

    [Android Studio 权威教程]断点调试和高级调试有人说Android的调试是最坑的,那我只能说是你不会用而已,我可以说AndroidStudio的调试是我见过最棒的。好了开始写一个简单的调试程序,我们先来一个for循环for(inti=0;i<10;i++){//获取当前i的值intselector=i;//打log查看当前i的值(此步多余,实际开发请忽略)Logger.e("fo

发表回复

您的电子邮箱地址不会被公开。

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