1.下载zookeeper包
2.放到服务器上:
语令 | 注解 |
mkdir /opt/zookeeper | 新建一个zookeeper文件夹 |
mv zookeeper-3.4.5.tar.gz /opt/zookeeper | 把下载好的包放到目录下 |
cd /opt/zookeeper | 进入刚才的目录确认是否放到了。 |
tar xf zookeeper-3.4.5.tar.gz | 解压压缩包 |
cd /zookeeper/conf | 解压好了,直接进去conf看一下配置文件 |
cp zoo_sample.cfg zoo.cfg | 拷贝配置模版,名字叫zoo.cfg(该文件也是启动的加载配置文件) |
vi zoo.cfg | 打开模版。 |
在模版中根据需要修改参数 | 下方是参数说明 |
server.1=node01:2888:3888 server.2=node02:2888:3888 server.3=node03:2888:3888 server.4=node04:2888:3888 | 将自己的zookeeper的集群的所有机器都关联起来。 如果挂了(会谦让serer.最大的就是leader) |
:wq | 保存修改 |
mkdir -p var/项目名称/zookeeper | 创建解压目录(就是存放日志的目录) |
cd var/项目名称/zookeeper | 去到建好的目录下 |
vi myid | 新建一个文档叫myid |
1 | 在文档里写“1”表示server.1 |
:wq | 保存起来 |
cd /opt | 到opt目录下准备分发到其他服务器 |
scp -r ./zookeeper 要复制的服务器ip:pwd | 将zookeeper文件夹下的文件复制到(要复制的服务器)上。然后输入:服务器密码 |
第二台服务器操作 | |
cd /opt/zookeeper/cof | 到第二台服务器里修改myid的数字 |
mkdir -p var/项目名称/zookeeper | 创建解压目录(就是存放日志的目录) |
echo 2 > var/项目名称/zookeeper/myid | 向myid文件里的写入“2” |
dataDiar= var/项目名称/zookeeper(存放零时文件,和日志的地方)。
clientPort=2081 (客户端连接是启动的端口号)
maxClientCnxns=60 ()允许客户端的最大的连接数。
配置zookeeper环境变量
语令 | 解释 |
vi /etc/profile | 修改环境变量文件 |
export ZOOKEEPER_HOME=/opt/zookeeper/ookeeper-3.4.5 export PATH=$PATH:$ZOOKEEPER_HOME/bin | 在文件中添加配置 |
. /etc/profile | 重新加载到内存 |
scp /etc/profile 要复制的服务器ip:pwd | 分发到其他服务器。 |
启动
语令 | 解释 |
zkServer.sh start-foreground | 启动语句(在前台启动,在前台打印日志)(会报错表示没连接集群) |
zkServer.sh status | 查看当前运行状态。(必须要启动3台或以上才能做决策) |
语令解释
语令 | 解释 |
create / 节点a "" | 创建为空的节点a。 -s -e 持久的,临时的。 |
create /节点a/节点b "" | 在节点a下,创建为空的节点b |
get / 节点a | 查看节点a里有啥数据 |
set / 节点a "hello" | 存入节点a数据“hello” |
| 子节点修改id,会影响父节点id |
| |
| 写错了“”持久着 |
| |
create -e / 节点a "一个临时节点" | 创建一个临时节点,并在里面填充数据为“一个临时节点”。 |
get /节点a | 得到临时节点数据。并得知带了session。 注:当关闭服务后,在其他节一样会消亡。(但是,这个sessionid在创建的时候就会消耗一个,事物id,所以当客户拿着这个已经消亡的sessionid,取用的时候还是能够) 重点:客户端的启动/消亡,都会消耗事物id |
问题:
问:多人操作同一个节点:是否会覆盖
答:分布事物中写入时(分布式id命名):,主机器写入会自动区分。不会覆盖。
「注」:主机器写入会自动在后面命名,只要记住这个名字,就不会改错文件。也不会覆盖他人的文件。
问:统一配置管理是依靠什么完成的。
答:1.所有的分布式都只需要记住一个节点(node:可以存1M的数据)所有节点都可以拿到。
2.分组管理:依靠path结构。(父子节点的能力)。
3.统一命名:swquential(分布式序列)。
4.分布式同步:临时节点。
场景:1.分布式锁——》
依托一个父亲节点且具别(-s),代表父节点下可以有多把锁。——》
队列式事物的锁。
2.HA,选主。