一、Zookeeper简介
简介
ZooKeeper是一种分布式协调服务,用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper通过其简单的架构和API解决了这个问题。ZooKeeper允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式特性。ZooKeeper框架最初是在“Yahoo!”上构建的,用于以简单而稳健的方式访问他们的应用程序。 后来,Apache ZooKeeper成为Hadoop,HBase和其他分布式框架使用的有组织服务的标准。 例如,Apache HBase使用ZooKeeper跟踪分布式数据的状态。
Zookeeper是一个分布式协调服务;就是为用户的分布式应用程序提供协调服务
1、为别的分布式程序服务的(比如服务管理、心跳检查、配置信息管理)
2、本身就是一个分布式程序(只要有半数以上节点存活,zk就能正常服务)
3、提供的服务涵盖:主从协调、服务器节点动态上下线、统一配置管理、分布式共享锁、统一名称服务……
4、虽然说可以提供各种服务,但是zookeeper在底层其实只提供了两个功能:
- 管理(存储,读取)用户程序提交的数据;
- 并为用户程序提供数据节点监听服务;
官网:https://zookeeper.apache.org/
二、zookeeper伪分布式搭建
环境准备
伪分布式集群就是在一台机器部署多个zk应用,部署之前服务器需要有jdk环境 java -version可以显示相关java信息才可以进行zookeeper搭建,jdk安装>>传送门
安装步骤
- 下载好zookeeper-3.4.9.tar.gz 下载地址
- 然后解压tar -zxvf zookeeper-3.4.9.tar.gz
- 进入zk中的conf目录下输入
1 | cp zoo-sample.cfg zoo1.cfg |
- 分别对zoo1、2、3文件进行编辑
1 | # The number of milliseconds of each tick |
- 修改之后分别创建data目录和日志目录,并写入myid
1 | mkdir -p /apps/servers/data/d_1 |
- 进入bin目录下输入命令 分别进行启动
1 | ./zkServer.sh start ../conf/zoo1.cfg |
- 通过命令检测是否成功:
1 | ./zkCli.sh -server localhost:2181,localhost:2182,localhost:2183 |
成功显示
- 至此Zookeeper搭建结束,下面开始启动Zookeeper,分别启动:如果你不想切换到Zookeeper目录启动,可以配置环境变量:
1 | vim /etc/profile (修改文件) |