参考:

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. jsp上传超大文件解决方案

    1,项目调研 因为需要研究下断点上传的问题.找了很久终于找到一个比较好的项目. 在GoogleCode上面,代码弄下来超级不方便,还是配置hosts才好,把代码重新上传到了github上面. http ...

  2. learning armbian steps(10) ----- armbian 源码分析(五)

    在上一节的分析当中,已经知道了uboot kernel的源代码路径及编译选项,以及rootfs的版本,相关信息如下所示: ## BUILD CONFIGURATION Build target: Bo ...

  3. webuploader的一些体验

    WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件.支持大文件分片并发上传. 具体api文档参考:http://fex.b ...

  4. jQuery文档操作之克隆操作

    语法: $(selector).clone(); 解释:克隆匹配的DOM元素 $("button").click(function(event) { //1.clone():克隆匹 ...

  5. Codeforces Gym 101630J Travelling from Petersburg to Moscow (最短路)

    题目链接 http://codeforces.com/gym/101630/attachments 题解 zyb学长的题. 先枚举第\(k\)大的边权,设其边权为\(x\),然后把每条边边权减掉\(x ...

  6. Apache Ranger && HDFS

    Apache Ranger && HDFS 标签(空格分隔): Hadoop HDFS HDFS对于任何Hadoop大数据平台来说都是核心组成部分,为了加强对Hadoop平台的数据保护 ...

  7. [学习笔记] MRF 入门

    MRF马尔科夫随机场入门 Intro MRF是一种广泛应用于图像分割的模型,当然我看到MRF的时候并不是因为分割,而是在图像生成领域,有的paper利用MRF模型来生成图像,因此入门一下MRF,并以分 ...

  8. nginx的请求限制

    一.http协议的连接与请求 总结: HTTP请求是建立在一次TCP连接的基础之上. 一次TCP请求至少产生一次HTTP请求. 二.连接限制 limit_conn_module 配置语法: Synta ...

  9. ubuntu安装相关

    安装系统参考:http://xinzhi.wenda.so.com/a/1523530837610141 首先进行更新源 sudo apt-get update 安装codeblocks sudo a ...

  10. 【转】java导出多个excel表格,并压缩成zip输出

    转自:http://blog.csdn.net/qq_14861089/article/details/53169414    感谢作者分享 /** * 导出支付宝批量支付文件excel * * @p ...