参考:

https://www.cnblogs.com/yinzhengjie/p/9209319.html

10.52.110.48 bi-kafka-3
10.52.48.92 bi-kafka-1
10.52.60.235 bi-kafka-2

1/ 三个节点都需要安装
yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel

2/ 添加环境变量
vim /etc/profile
#set java environment
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:/opt/confluent-5.2.2/bin

source /etc/profile

3/ 安装zk,选一个性能好的作为主节点,在主节点上:
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5-bin.tar.gz
tar -zxf apache-zookeeper-3.5.5-bin.tar.gz -C /hongfeng/software/

4/ 创建配置zookeeper的堆内存配置文件
cat /hongfeng/software/apache-zookeeper-3.5.5-bin/conf/java.env
#指定JDK的安装路径
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64
#指定zookeeper的heap内存大小
export JVMFLAGS="-Xms2048m -Xmx2048m $JVMFLAGS"

5/ 修改配置文件zoo.cfg
vim /hongfeng/software/apache-zookeeper-3.5.5-bin/conf/zoo.cfg

tickTime=2000
initLimit=10
#存放数据文件
dataDir=/data/zookeeper
syncLimit=5
clientPort=2181
#zk cluster,2888为选举端口,3888为心跳端口
server.101=10.52.110.48:2888:3888
server.102=10.52.48.92:2888:3888
server.103=10.52.60.235:2888:3888

6/ 添加zk的环境变量
vim /etc/profile
#ADD Zookeeper PATH BY yinzhengjie
ZOOKEEPER=/hongfeng/software/apache-zookeeper-3.5.5-bin
PATH=$PATH:$ZOOKEEPER/bin

7/#配置主节点到其它节点免密
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
ssh-copy-id 10.52.110.48
ssh-copy-id 10.52.48.92
ssh-copy-id 10.52.60.235

8/ 把上面的配置copy过去
scp -r /hongfeng/software/apache-zookeeper-3.5.5-bin/ 10.52.48.92:/hongfeng/software/
scp -r /hongfeng/software/apache-zookeeper-3.5.5-bin/ 10.52.60.235:/hongfeng/software/

9/ 每个节点下建myid文件,里面的id要不一样

mkdir /data/zookeeper/ -p

vim /data/zookeeper/myid

yum -y install ansible
[root@10-52-110-48 software]# ansible zk -m shell -a 'cat /data/zookeeper/myid'
10.52.48.92 | CHANGED | rc=0 >>
102
10.52.60.235 | CHANGED | rc=0 >>
103
10.52.110.48 | CHANGED | rc=0 >>
101

10/ 每台机器上启动zk
zkServer.sh start
自己写管理脚本zk-manager.sh
#!/bin/bash
#@author :hongfeng

#判断用户是否传参
if [ $# -ne 1 ];then
echo "无效参数,用法为: $0 {start|stop|restart|status}"
exit
fi

#获取用户输入的命令
cmd=$1

#定义函数功能
function zookeeperManger(){
case $cmd in
start)
echo "启动服务"
remoteExecution start
;;
stop)
echo "停止服务"
remoteExecution stop
;;
restart)
echo "重启服务"
remoteExecution restart
;;
status)
echo "查看状态"
remoteExecution status
;;
*)
echo "无效参数,用法为: $0 {start|stop|restart|status}"
;;
esac
}

#定义执行的命令
function remoteExecution(){
for (( i=1 ; i<=3 ; i++ )) ; do
tput setaf 2
echo ========== bi-kafka-$i zkServer.sh $1 ================
tput setaf 9
ssh bi-kafka-$i "source /etc/profile ; zkServer.sh $1"
done
}

#调用函数
zookeeperManger

用脚本检查:

[root@bi-kafka-1 script]# sh zk-manager.sh status
查看状态
========== bi-kafka-1 zkServer.sh status ================
ZooKeeper JMX enabled by default
Using config: /hongfeng/software/apache-zookeeper-3.5.5-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower
========== bi-kafka-2 zkServer.sh status ================
ZooKeeper JMX enabled by default
Using config: /hongfeng/software/apache-zookeeper-3.5.5-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: leader
========== bi-kafka-3 zkServer.sh status ================
ZooKeeper JMX enabled by default
Using config: /hongfeng/software/apache-zookeeper-3.5.5-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower

用图形工具在根下建一个kafka01目录(为了多kafka集群管理),改kafka的配置文件:
由于端口冲突的原因,zk的client端口在zk配置文件中改为了2181:
10.52.110.48:2182,10.52.48.92:2182,10.52.60.235:2182/kafka01

附录:zk的图形化管理工具

wget https://github.com/zhitom/zkweb/releases/download/zkWeb-v1.2.1/zkWeb-v1.2.1.jar

java -jar zkWeb-v1.2.1.jar

默认启动端口是8099

访问这台机器的ip:8099

在web界面添加如下信息,可以把三个节点都一一添加

注: 如果你配置文件clientPort=2181, 连接端口要改为2181

 

zk安装管理的更多相关文章

  1. Linux 学习 (十一) 软件安装管理

    Linux软件安装管理 学习笔记 软件包简介 软件包分类: 源码包 :脚本安装包 二进制包(RPM 包.系统默认包) 源码包的优点: 开源,如果有足够的能力,可以修改源代码 可以自由选择所需的功能 软 ...

  2. openWrt 安装管理界面luci中文包

    openWrt15安装管理界面luci中文包   如果刚刷的openwrt15没有中文界面,用ssh连接路由后用opkg安装     root@bang-bang-tang:~# opkg insta ...

  3. Linux软件安装管理之——dpkg与apt-*详解 apt命令(dpkg和apt代替rpm)

    apt list *python* Nosee123关注赞赏支持   Linux软件安装管理之--dpkg与apt-*详解 [Linux软件安装管理系列]- - 传送门: - -<Linux软件 ...

  4. Linux软件安装管理之——dpkg与apt-*详解

    Linux软件安装管理之--dpkg与apt-*详解 [Linux软件安装管理系列]- - 传送门: - -<Linux软件安装管理之--源码安装详解> - -<Linux软件安装管 ...

  5. inux软件安装管理之——dpkg与apt-*详解

    inux软件安装管理之--dpkg与apt-*详解 Nosee123关注 0.5922017.09.12 17:47:44字数 3,894阅读 8,565 [Linux软件安装管理系列]- - 传送门 ...

  6. @Zookeeper可视化工具。 ZK 安装 node-zk-browser。2015.10.22亲测可用

    zookeeper基本是基于API和console进行znode的操作,并没有一个比较方便的操作界面,这里也发现了taobao 伯岩写的一个工具,可以比较方便的查询zookeeper信息. 工具的开发 ...

  7. vim配置及插件安装管理(超级详细)

    1 写在前面   Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE. 但是对我等从Windows平台转移过来的Coder来说, 一个好用 ...

  8. Linux软件安装管理概述

    介绍如何在Linux字符界面下安装软件 课程大纲: 一.软件包管理简介 二.rpm命令管理 三.yum在线管理 四.源码包管理 五.脚本安装包

  9. vim配置及插件安装管理(超级详细)[转]

    1 写在前面   Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE. 但是对我等从Windows平台转移过来的Coder来说, 一个好用 ...

随机推荐

  1. Maven - Maven Project与Maven Module区别和联系

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/J080624/article/detai ...

  2. jquery live()方法 语法

    jquery live()方法 语法 作用:live() 方法为被选元素附加一个或多个事件处理程序,并规定当这些事件发生时运行的函数.通过 live() 方法附加的事件处理程序适用于匹配选择器的当前及 ...

  3. 基于c++回顾

    c++类 特别的构造函数 默认参数: 几乎所有函数都可以使用默认参数,但在构造函数中最为普遍 初始化列表 用来直接初始化数据成员;与列表顺序无关,与成员申明顺序有关;如果一个成员是const的,那么, ...

  4. 【CUDA 基础】3.4 避免分支分化

    - title: [CUDA 基础]3.4 避免分支分化 categories: - CUDA - Freshman tags: - 规约问题 - 分支分化 toc: true date: 2018- ...

  5. Mac安装软件提示文件损坏

    Mac安装软件提示文件损坏,请移至废纸篓 sudo spctl --master-disable

  6. 黑马vue---8-10、v-cloak、v-text、v-html、v-bind、v-on的基本使用

    黑马vue---8-10.v-cloak.v-text.v-html.v-bind.v-on的基本使用 一.总结 一句话总结: v-bind等这些东西都是用的vue.data里面的变量 1.使用 v- ...

  7. Chrome Development Tool: [VM] file from javascript

    Chrome Development Tool: [VM] file from javascript [VM] (scriptId) has no special meaning. It's a du ...

  8. Note 2 for <Pratical Programming : An Introduction to Computer Science Using Python 3>

    Book Imformation : <Pratical Programming : An Introduction to Computer Science Using Python 3> ...

  9. XAMPP是什么?

    XAMPP=Apache + MySQL + PHP + Perl,是一个完全免费,易于安装和使用Apache发行版,包含了Apache.MySQL.PHP和Perl.支持Windows.Linux和 ...

  10. WARNING: inbound connection timed out (ORA-3136)

    WARNING: inbound connection timed out (ORA-3136) WARNING: inbound connection timed out (ORA-3136) Ta ...