Zookeeper单机部署单服务过程(非docker方式)

zk这东西太优秀了,分布式锁、分布通知/协调(配置管理)、分布式队列、集群管理、数据发布与订阅等场景,最佳中间件,虽然zk有很多强大的特性,但一般公司的项目不会用得太多,集群管理、分布式锁应该是绝大部分公司最常用的zk两个特性!个人将对zk的单机以及集群安装和配置、基本命令使用、zk设计原理以及应用层实例使用进行全面记录。

1、JDK安装

通过压缩包方式安装,jdk官网下载:

https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html

最新jdk12.0.2下载包:

个人习惯将环境放置/opt目录下,建议保留jdk安装包目录名,因为该目录名显示jdk版本号,方便后续升级或者漏洞补丁处理的版本查看

wget https://download.oracle.com/otn-pub/java/jdk/12.0.2+10/e482c34c86bd4bf8b56c0b35558996b9/jdk-12.0.2_linux-x64_bin.tar.gz

解压

tar -xzf jdk-12.0.2_linux-x64_bin.tar.gz

将jdk路径配置到系统环境中

vi ~/.bash_profile
# 将以下追加到文件末尾
export JAVA_HOME=/opt/jdk-12.0.2
export JRE_HOME=/$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

生效环境配置

source ~/.bash_profile

查看java 版本

java version

2、zookeeper单服务器安装
2.1 个人选择一个稳定的zookeeper-3.4.14

http://mirror.bit.edu.cn/apache/zookeeper/stable/

同样放置子/opt目录下

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

解压

tar -xzf zookeeper-3.4.14.tar.gz
[root@dn2 opt]# ls
hadoop-2.7.5.tar.gz jdk-12.0.2 zookeeper-3.4.14 
2.2 配置zk

在 zk目录下新建data和logs目录

[root@dn2 zookeeper-3.4.14]# mkdir data logs

拷贝一个zk的配置文件,用到实际项目中

[root@dn2 zookeeper-3.4.14]# cp conf/zoo_sample.cfg zoo.cfg
# 修改zoo.cfg的data目录和logs目录路径
vi zoo.cfg
# 修改监听客户端连接端口为五位数,信息安全等保要求重要端口都建议5位数
clientPort=32181
# 修改
dataDir=/opt/zookeeper-3.4.14/data
# 新增
dataLogDir=/opt/zookeeper-3.4.14/logs

将zk加入环境变量

vi ~/.bash_profile
新增
ZOOKEEPER_HOME=/opt/zookeeper-3.4.14 
export   PATH=$ZOOKEEPER_HOME/bin:$PATH  

source ~/.bash_profile

2.3 启动zk
# 启动zk
[root@dn2 opt]# zookeeper-3.4.14/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.14/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
#查看进程
[root@dn2 bin]# jps
4728 Jps
4668 QuorumPeerMain #QuorumPeerMain是zookeeper进程,启动正常

# 查看状态
[root@dn2 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: standalone

# 查看zk服务日志,打印后10条日志看看
[root@dn2 bin]# tail -n 10 -f  zookeeper.out 

# 停止zk服务
[root@dn2 bin]# ./zkServer.sh stop
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.14/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED

连接zk server

因为是本地单机,可以无须制定IP即可用cli登录

[root@dn2 bin]# ./zkCli.sh
Connecting to localhost:2181

# 若登录远程(部署多台或集群),指定远程IP即可
[root@dn2 bin]# ./zkCli.sh -192.168.100.5:2181
Connecting to localhost:2181

# 列出根路径下的节点,可以看到仅有zk的默认节点,注意“zookeeper”是zk保留字
[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper]

# 退出连接
quit

裸机部署zk单实例服务过程相对简单,在下一篇blog将给出集群部署,因测试环境无法提供多台真实服务器进行部署,所以这个集群是在一台服务器上实现,部署过程根但实例差别不大,另外也会给出使用docker部署zk集群。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值