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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 关于pycharm下载tensorflow时报错解决「建议收藏」

    关于pycharm下载tensorflow时报错解决「建议收藏」1.查看pip工具是否需要更新2.点击settings,进入pythoninterperter,对pip进行更新3.可以双击上箭头进行更新,也可以点击加号搜索pip进行更新

    2022年8月27日
    5
  • PostgreSQL查询全角字符「建议收藏」

    PostgreSQL查询全角字符「建议收藏」PostgreSQL中~*的妙用PostgreSQL中可以使用~*进行模糊查询,同时会忽略大小写,在查询的条件中也会支持正则表达式。所以在查询全角字符的时候,可以使用正则表达式来来进行查询。select*from表名where字段~*'[A-Za-z0-9]’;使用上面SQL就可以查询出数据库中所有包含全角字符的数据了。…

    2025年6月5日
    1
  • 数据库原理笔记「建议收藏」

    数据库原理笔记「建议收藏」数据库概念数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。数据库系统的特点数据结构化数据的共享性高,冗余度低,易扩充数据独立性高数据由DBMS统

    2022年8月4日
    5
  • Springboot框架是什么_javaweb框架主要的三大基本框架

    Springboot框架是什么_javaweb框架主要的三大基本框架对于spring框架,我们接触得比较多的应该是springmvc、和spring。而spring的核心在于IOC(控制反转)和DI(依赖注入)。而这些框架在使用的过程中会需要配置大量的xml,或者需要做很多繁琐的配置。springboot框架是为了能够帮助使用spring框架的开发者快速高效的构建一个基于spirng框架以及spring生态体系的应用解决方案。它是对“约定优于配置”这个理念下的一个最佳实践。因此它是一个服务于框架的框架,服务的范围是简化配置文件。…

    2022年8月20日
    6
  • 二叉树性质及证明「建议收藏」

    二叉树性质及证明「建议收藏」二叉树性质及证明(1)规定根节点层次为0,则一棵非空二叉树的第i层上最多有2i个结点。(2)规定根节点层次为0,则深度为k的二叉树的最大结点数为2(k+1)-1。(3)具有n个结点的完全二叉树的深度k为不超过lb(n+1)-1的最大整数。(4)对于一棵非空二叉树,如果叶节点个数为n0,度为2的结点数为n2,则有n0=n2+1。(5)对于具有n个结点的完…

    2022年5月31日
    38
  • oracle 将表名和字段名变为大写

    oracle 将表名和字段名变为大写当使用powerdesigner创建数据库时要注意大小写。注:以下脚本在oracle10g,11g上正确执行1.批量将表名变为大写beginforcin(selecttable_nametnfromuser_tableswheretable_name<>upper(table_name))loopbegine…

    2022年5月17日
    50

发表回复

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

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