参考:

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. Spring 初探(一) IoC 图集

    Spring 框架总体结构 IoC 直观 Spring IoC容器 Spring提供两种容器类型: - BeanFactory - ApplicationContext ApplicationCont ...

  2. vue使用ajax

    1.Vue的Ajax基本用法 在vue中用Ajax需要用到vue.js和vue-resource.js; vue-resource.js的下载地址:https://cdn.staticfile.org ...

  3. np.max() 和 np.maximum()的区别

    1.np.max(a, axis=None, out=None, keepdims=False) 求序列的最值 最少接受一个参数 axis默认为axis=0即列向,如果axis=1即横向 ex: &g ...

  4. 使用Python操作Excel文档(一)

    Python | 使用Python操作Excel文档(一) 0 前言 在阅读本文之前,请确保您已满足或可能满足以下条件: 请确保您具备基本的Python编程能力. 请确保您会使用Excel. 请确保您 ...

  5. [笔记]C++下的数组声明

    /* 例子来源于<C++ Primer> */ ]; //prts是含有10个整数类型指针的数组 ]; //错误,没有引用的数组 ]; //指向有10个整型元素数组的指针 ]; //引用有 ...

  6. 分享代码到GitHub

    1.本地安装git 2.项目文件夹右键Git bash here,弹出git命令窗口 3.输入git init,使项目加入Git管理 4.输入git add .,将项目全部内容添加到git 5.输入“ ...

  7. Python代码整洁之道(一)

    很多新手在开始学一门新的语言的时候,往往会忽视一些不应该忽视的细节,比如变量命名和函数命名以及注释等一些内容的规范性,久而久之养成了一种习惯.对此呢,我特意收集了一些适合所有学习 Python 的人, ...

  8. Docker安装Redis及Warning解决方法

    虚拟机环境:VirtualBox 操作系统:CentOS 7 宿主机: Microsoft Windows 10 家庭中文版 Docker简介 Docker是一个轻量级容器技术.Docker直接运行在 ...

  9. DP&图论 DAY 6 上午

    DP&图论  DAY 6  上午 双连通分量 从u-->v不存在必经边,点 点双连通分量 边双连通分量 点/边双连通分量缩点之后变成一个树 找连通块的时候不越过割点或者桥 P3469 [ ...

  10. Json文件删除元素

    方法1:delete 注意,该方法删除之后的元素会变为null,并非真正的删除!!! 举例: 原json: { "front" : { "image" : [ ...