Zookpeer集群节点
Adaptive Communication Environment(自适配通信环境),简称ACE。
reference artfile:zookeeper单节点与集群的安装https://blog.csdn.net/xfz0330/article/details/52434237
5分钟让你了解 ZooKeeper 的功能和原理https://blog.csdn.net/weijifeng_/article/details/79775738
download url: https://zookeeper.apache.org/
zookpeer介绍:
zookpeer有个集群角色,leader,follower,observer。只能有一个leader。
※注意:tar.gz实质也就是zip文件,一般也是可以在windows上使用的。下载解压即可。
1. 配置环境变量
ZK_HOME=文件解压地址
Path添加 %ZK_HOME%\bin;
2. 创建配置文件
创建data文件夹和logs文件夹
将conf下的zoo_sample.cfg文件,复制修改为zoo.cfg
添加:
dataDir=D:\\workspace_canal\\zookeeper-3.4.\\data
dataLogDir=D:\\workspace_canal\\zookeeper-3.4.\\logs
server.=127.0.0.1::
注意要为\\双反斜杠,在集群时,会在java程序中查找myid,因此如果是单\则会使得文件夹之间的分隔符丢失。
错误: Caused by: java.lang.IllegalArgumentException: D:workspace_canalzookeeper-3.4.10data\myid file is missing
在data文件夹下创建myid文件。内容设置为 1,表示serverID为1.
3. 启动
》zkServer.cmd
错误:启动一闪而过
※ 如果启动一闪而退,说明有问题,需要在cmd文件中添加pause,查看错误内容。
错误1:看到控制台输出call 时有这样一个调用:"C:\Program Files\Java\jdk1.8.0_172\"\bin\java ***
说明JAVA的拼接出了问题需要修正zkEnv.cmd中修改为正确的java地址去掉引号。
错误2:再次运行发现依然报错,'C:\Program' 不是内部或外部命令,也不是可运行的程序。
说明 空格符将path给拆了导致。
从以上两个错误可知,我们是想让“”包括住所有
set JAVA="%JAVA_HOME%\bin\java"
再次启动,一切正常。
》netstat -aon|findstr "2181" 端口已正常监听
点击 zkCli.cmd发现也已经可以对联上2181端口了。
集群布置:
集群最少需要3个ip或者端口,在这里创建3个端口来测试。
将zoo.cfg再添加两个server.2,3
server.=127.0.0.1::
server.=127.0.0.1::
server.=127.0.0.1::
建立data2,data3文件夹,并修改myid为对应的号。
将zoo.cfg 复制两份同时
1. 修改端口号
2. 修改data
更名为zoo2.cfg,zoo3.cfg。
致此,zoo的集群就算是配置好了。
启动:
因 windows下 的zoo.cfg是固定被获取的,因此需要修改 zkEnv.cfg
将其设为输入配置名称。
set /p zooname=请输入zoo配置名称:zoo.cfg
set ZOOCFG=%ZOOCFGDIR%\%zooname%
启动zkServer.cmd:配置用zoo.cfg
启动zkServer.cmd:配置用zoo2.cfg
启动zkServer.cmd:配置用zoo3.cfg
这样3个集群就全部起来了,在启动第一个时他会侦查第二个和第三个的IP地址,因还没启动会报错,不用管,那几个全部起来后就没错误了。
------------------------------------
也可将zookeeper应用复制多份来做集群,做法一样。
此时集群就算是完成了。
启动错误:
Unable to load database on disk
java.io.IOException: Unreasonable length = 1048583
解决办法:进入zkdata目录删除version-2下面的所有文件,还有bin\workspace_canalzookeeper-3.4.10logs,还有logs文件的内容都删除。
Zookpeer集群节点的更多相关文章
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.3.Oracle 集群节点间连通失败
1.检查节点连通性的错误 [grid@linuxrac1 grid]$ ./runcluvfy.sh stage -post hwos -n linuxrac1,linuxrac2 -verbose ...
- Akka(12): 分布式运算:Cluster-Singleton-让运算在集群节点中自动转移
在很多应用场景中都会出现在系统中需要某类Actor的唯一实例(only instance).这个实例在集群环境中可能在任何一个节点上,但保证它是唯一的.Akka的Cluster-Singleton提供 ...
- 【故障公告】10:30-10:45 左右 docker swarm 集群节点问题引发故障
非常抱歉,今天 10:30-10:45 左右由于 docker swarm 集群节点出现问题,造成除博客之外的站点出现访问异常,由此给您带来很大的麻烦,请您谅解. 故障开始时出现有时访问正常有时访问出 ...
- Kubernetes从懵圈到熟练:读懂这一篇,集群节点不下线
排查完全陌生的问题,完全不熟悉的系统组件,是售后工程师的一大工作乐趣,当然也是挑战.今天借这篇文章,跟大家分析一例这样的问题.排查过程中,需要理解一些自己完全陌生的组件,比如systemd和dbus. ...
- Rabbitmq关于集群节点功能的读书笔记
消息和队列可以指定是否持久化,如果指定持久化则会保存到硬盘上 ,不然只在内存里 普通集群模式下持久化的队列不能重建了 内存节点和磁盘节点的区别就是将元数据放在了内存还是硬盘,仅此而已,当在集群中声明队 ...
- Quartz的集群模式和单机模式共存-让一个非集群的Quartz与集群节点并行着运行
假如你让一个非集群的 Quartz 应用与集群节点并行着运行,设法使用 JobInitializationPlugin和 RAMJobStore Quartz支持可选节点执行jobquartz集群,会 ...
- 删除RAC集群节点
删除GRID集群节点:参考oracle database 11g RAC手册(第二版) 目前GRID集群中节点信息:[grid@node1 ~]$ olsnodesnode1node2node3nod ...
- 如何诊断 11.2 集群节点驱逐问题 (文档 ID 1674872.1)
适用于: Oracle Database - Enterprise Edition - 版本 11.2.0.1 到 11.2.0.2 [发行版 11.2]本文档所含信息适用于所有平台 用途 这篇文档提 ...
- 集群节点Elasticsearch升级
集群节点Elasticsearch升级 操作流程 1.首先执行Elasticsearch-1.2.2集群的索引数据备份 2.关闭elasticsearch-1.2.2集群的recovery.compr ...
随机推荐
- docker容器使用
查看容器的配置信息 # docker inspect dc4e2ff3eb58 查看容器的网络信息 # docker inspect -f {{.NetworkSettings}} node4 [ro ...
- [UE4]Overlay容器:图片随着其他容器(比如Vertical Box)大小而同步改变
- PHP 7下安装Swoole和Yar、Yaf
安装步骤 1.wget -c https://github.com/swoole/swoole-src/archive/v2.0.8.tar.gz 百度盘链接:https://pan.baidu.c ...
- 知识点:Mysql 基本用法之事务
事务 事务用于将某些操作的多个SQL作为原子性操作,一旦有某一个出现错误,即可回滚到原来的状态,从而保证数据库数据完整性. 事务实例: create table user( id int primar ...
- MongoDB集群搭建之主从模式
单机搭建 #创建docker持久化数据目录 [root@docker ~]# mkdir -p /root/application/program/mongodb/data/master-slaveM ...
- 使用gulp压缩js详细步骤笔记
先要安装nodejs,初始化项目配置文件package.json,根据情况输入配置参数 npm init test command: git repository: keywords: author: ...
- 02-创建String对象
创建一个String对象实在是太简单了,就是因为简单,所以有很多java程序员做了好几年的开发,也没有注意这些小细节问题 String字符串的本质就是char数据对象, 那么char[0]数组当中的一 ...
- U3D学习005——输入操作
1.input管理器 edit-project settings-input 2.getaxis——虚拟轴获取 获取水平和垂直的输入和其他输入(input管理器中定义的) 3.对象的transform ...
- iOS @property语句
@property声明的形式是: @property ( attributes ) type name; type和name的含义一目了然,attributes描述了如何编写访问器. 一.assign ...
- async方法:async+await
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...