0
点赞
收藏
分享

微信扫一扫

Linux上安装zookeeper

吴wuwu 2022-04-07 阅读 80

zookeeper的作用:

1,用于分布式系统中加载动态配置

abc按照集群的方式工作,为了保证abc服务的一致性,可以使用zookeeper来保证,这样abc中任意一个服务对数据作出改动其他两个也能及时改动

2,用于名字服务,类似于dns服务器

abc三个都要访问登录服务,例如当想要访问百度网页时,只需要将百度的域名给zk,zk就可以返回百度网页的ip和端口

3,分布式锁

常用在多个进程访问统一资源的情况下,例如如果没有锁的话,每个服务都会执行一遍转账操作,那么就会转账300元

使用分布式锁:

A服务在执行期间,其他两个服务并不会执行

if(lock == false){
lock = true;
//才去执行响应逻辑
}else{
}

4,服务发现(ping)

abc三个服务是集群关系,如果b出现问题不能ping通,那么zk就记录下来,并给想要登录的客户分配a和c服务

 

zookeeper的安装:

参考连接:Centos7安装zookeeper详细流程(亲测绝对成功!)_Java大侠的博客-CSDN博客_centos7安装zookeeper

推荐工具使用finalshell,免费又能拖文件

一、下载tar包

进入zookeeper官网

Index of /zookeeper

下载apache-zookeeper-3.6.3.bin.tar.gz 到本地电脑上

直接将本地的文件拖到opt文件夹中

 二、解压

tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz

移动 apache-zookeeper-3.6.3-bin 目录到 /usr/loca/ 目录下

此处后面的文件名是新建的文件夹的名字,是3.6.2还是3.6.3没有太大关系,此处主要是原博客中使用的3.6.2,而且后面还要用这个名字索性就不改了

mv apache-zookeeper-3.6.3-bin /usr/local/zookeeper-3.6.2

3、新建data 和 logs文件夹

[root@service local]# cd zookeeper-3.6.2/

[root@service zookeeper-3.6.2]# mkdir data

[root@service zookeeper-3.6.2]# mkdir logs

4、初始化zookeeper配置文件

进入zookeeper文件夹下的conf配置目录

复制zookeeper的配置模板zoo_sample.cfg

[root@service zookeeper-3.6.2]# cd conf/
[root@service conf]# ls
[root@service conf]# cp zoo_sample.cfg zoo.cfg

5、修改zookeeper配置信息

[root@service conf]# vim zoo.cfg

修改dataDir与dataLogDir 

#路径为本地存在名称路径
#数据文件夹
dataDir=/usr/local/zookeeper-3.6.2/data
#日志文件夹
dataLogDir=/usr/local/zookeeper-3.6.2/log

6、修改系统配置文件

进入系统配置文件,将以下内容插入进入,保存退出

vim /etc/profile
#zookeeper-3.6.2配置
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.6.2/
export PATH=$ZOOKEEPER_HOME/bin:$PATH
export PATH

使 /etc/ 目录下的 profile 文件生效:

[root@service conf]# source /etc/profile

7、开放端口

[root@service bin]# firewall-cmd --permanent --zone=public --add-port=2181/tcp

重启防火墙

[root@service huanglejia]# systemctl restart firewalld

查看开放端口

[root@service huanglejia]# netstat -ntl

8、启动zookeeper

启动服务端

进入zookeeper目录

[root@service bin]# cd /usr/local/zookeeper-3.6.2/

进入bin目录

[root@service zookeeper-3.6.2]# cd bin/

启动zookeeper服务端

[root@service bin]# ./zkServer.sh start

启动客户端

[root@service bin]# ./zkCli.sh

举报

相关推荐

0 条评论