ansible roles实践 zookeeper集群部署
1、下载解压
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar.gz
tar -zxvf zookeeper-3.4.11.tar.gz && cd zookeeper-3.4.11
2、修改配置文件
cp conf/zoo_sample.cfg zoo.cfg
vim zoo.cfg
tickTime=2000
dataDir=/var/lib/zookeeper/
initLimit=5
syncLimit=2
clientPort=2181
server.1=172.16.2.116:2888:3888
server.2=172.16.2.225:2888:3888
server.3=172.16.2.115:2888:3888
server.4=172.16.2.240:2888:3888
server.5=172.16.2.241:2888:3888
- 2888端口号是服务器与集群中的leader服务器交换信息的端口
- 3888端口号是zookeeper与其他应用程序通信的端口,万一集群中的leader服务器挂了,需要一个端口来重新进行选举,选出新的leader,而这个端口就是用来执行选举时候服务器互相通信的端口
- initLimit:这个配置是用来配置zookeeper接受客户端(这里所说的客户端不是用户连接zookeeper服务器的客户端,而是zookeeper服务器集群中连接到leader的follower服务)初始化连接时最长能接受多少个心跳时间间隔数。当已经超过10个心跳的时间(也就是tickTime)长度之后zookeeper服务器还没有接收到客户端返回的信息,那么表示这个客户端连接失败。总时间长度是10*2000=20秒。
- syncLimit:这个配置标识leader与follower之间发送消息,请求和答应时间长度,最长不能超过多少个tickTime的时间长度,总时间长度是5*2000=10秒
- 如果是伪集群的配置方式,由于ip都是一样的,所以不同的zookeeper实例通信端口号不能一样,所以要给它们分配不同的端口号
3、创建/var/lib/zookeeper快照目录,并创建server id文件。
$sudo mkdir /var/lib/zookeeper
$ cd /var/lib/zookeeper
在该目录下创建名为myid的文件,内容为1(这个值随server而改变,后面会提到)。
4、将server1上已经配置好的/home/hanli/zookeeper-3.4.11/和/var/lib/zookeeper两个目录分别拷贝至server2和server3。然后将其上的/var/lib/zookeeper/myid的内容修改为2和3.
5、启动Zookeeper
一次启动三台服务器,进入Zookeeper-3.4.5目录下,执行如下启动命令:
[root@master] /home/hanli/zookeeper-3.4.11/bin$ ./zkServer.sh start
注:启动第一台的时候可能会报错,提示zoo2和zoo3,等全部启动完成之后就不会报错了。
ansible安装集群
1、tasks/main.yml
---- name: unzip zookeeper
unarchive: src=zookeeper-3.4.11.tar.gz dest=/usr/local- name: configuration file
copy: src=zoo.cfg dest=/usr/local/zookeeper-3.4.11/conf/zoo.cfg- name: mkdir dataDir
file: path=/var/lib/zookeeper state=directory- name: touch myid
file: path=/var/lib/zookeeper/myid state=touch- name: touch myid file
shell: echo {{ myid }} > /var/lib/zookeeper/myid
2、files/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/var/lib/zookeeper
dataLogDir=/var/lib/zookeeper
clientPort=2181
server.1=172.16.2.116:2888:3888
server.2=172.16.2.225:2888:3888
server.3=172.16.2.115:2888:3888
server.4=172.16.2.240:2888:3888
server.5=172.16.2.241:2888:3888
3、/etc/ansible/hosts
[test]
172.16.2.225 myid=2
172.16.2.115 myid=3
172.16.2.116 myid=1[backup]
172.16.2.240 myid=4
172.16.2.241 myid=5
4、入口zookeeper.yml
---- hosts: all
remote_user: root
roles:
- zookeeper
5、ansible all -m shell -u root -a '/usr/local/zookeeper-3.4.11/bin/zkServer.sh start'
ansible roles实践 zookeeper集群部署的更多相关文章
- Centos6下zookeeper集群部署记录
ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等. Zookeeper设计目的 最终一致性:client不论 ...
- 分布式协调服务之Zookeeper集群部署
一.分布式系统概念 在聊Zookeeper之前,我们先来聊聊什么是分布式系统:所谓分布式系统就是一个系统的软件或硬件组件分布在网络中的不同计算机之上,彼此间通过消息传递进行通信和协作的系统:简单讲就是 ...
- HBase集成Zookeeper集群部署
大数据集群为了保证故障转移,一般通过zookeeper来整体协调管理,当节点数大于等于6个时推荐使用,接下来描述一下Hbase集群部署在zookeeper上的过程: 安装Hbase之前首先系统应该做通 ...
- Zookeeper集群部署
一. 部署前的准备工作 保证各个主机之间能够正常通信,最好是在同一网段. 修改host文件,加入IP和主机名的映射.方法为修改/etc/hosts和etc/hostname文件,不同的Linux发行版 ...
- 消息中间件kafka+zookeeper集群部署、测试与应用
业务系统中,通常会遇到这些场景:A系统向B系统主动推送一个处理请求:A系统向B系统发送一个业务处理请求,因为某些原因(断电.宕机..),B业务系统挂机了,A系统发起的请求处理失败:前端应用并发量过大, ...
- docker环境下solrcloud+zookeeper集群部署教程
前言:两个月前的16年11月份完成的配置,使用的solr6.1和zookeeper3.4,刚刚写成blog,目前版本可能有小版本的变化. 本例完成结果为:在docker环境下部署solrcloud集群 ...
- Zookeeper集群部署与配置(三)
在上一篇博客中我们讲解了<Zookeeper的单机配置>,此篇博客将继续介绍Zookeeper的集群部署与配置. 环境 集群配置的环境与单机配置的环境相同,唯一不同的就是集群是在多台服务器 ...
- Zookeeper集群部署及报错分析
安装 下载压缩包 解压 修改zoo.cfg文件 创建myid文件 启动 自启动配置 有时间再补hhh 报错处理 很荣幸的遇到了大部分报错,日志再zookeeper目录的bin下的zookeeper.o ...
- Zookeeper 集群部署的那些事儿
简介 额...., &*$% 淘气! ZooKeeper 是 Apache 的一个顶级项目,为分布式应用提供高效.高可用的分布式协调服务. ZooKeeper本质上是一个分布式的小文件存储系统 ...
随机推荐
- table中tr、td标签设置只读,不能修改(readonly属性)
在不能修改的位置加上代码:onselectstart="return false" οnselect="document.selection.empty()" ...
- Bean拷贝工具
Apache BeanUtils Spring BeanUtils cglib BeanCopier Hutool BeanUtil Mapstruct Dozer 1.Apache BeanUti ...
- Kernel PCA for Novelty Detection
目录 引 主要内容 的选择 数值实验 矩形框 spiral 代码 Hoffmann H. Kernel PCA for novelty detection[J]. Pattern Recognitio ...
- [opencv]<学习Opencv>英文原版翻译学习
[注]下文全部内容为 <<Learning OpenCV 3: Computer Vision in C++ with the OpenCV Library>>经由在线翻译整理 ...
- 编写Java程序,使用 Socket类模拟用户加入 QQ 群时,QQ 小冰发送欢迎消息的场景(用户充当客户端,QQ 小冰充当服务端)
查看本章节 查看作业目录 需求说明: 小冰是微软公司研发的人工智能机器人,被腾讯公司加入 QQ 群后,立即受到千万网友的喜爱.现在使用 Socket类模拟用户加入 QQ 群时,QQ 小冰发送欢迎消息的 ...
- Linux查看RAM内存信息
1.查看/proc/meminfo文件 查看RAM使用情况最简单的方法是通过/proc/meminfo. 这个动态更新的虚拟文件列出了详细的内存使用情况. cat /proc/meminfo 命令输出 ...
- Ranger-AdminServer安装
Ranger-AdminServer安装,对应的Ranger版本1.0.0. RangerAdmin安装依赖如下组件: mysql solr IP/机器名 安装软件 运行进程 zdh-245 Rang ...
- Kibana_X-Pack管理Elasticsearch权限
在Kibana上面配置权限,验证对Elasticsearch权限控制, 主要步骤如下: 1.创建角色 2.创建用户,并且赋予用户角色 3.用户登陆,验证没有权限 4.赋予角色权限 5.用户登陆,验证拥 ...
- C#中的记录(record)
从C#9.0开始,我们有了一个有趣的语法糖:记录(record) 为什么提供记录? 开发过程中,我们往往会创建一些简单的实体,它们仅仅拥有一些简单的属性,可能还有几个简单的方法,比如DTO等等,但是这 ...
- CVE-2021-45232 Apache APISIX 从未授权访问到RCE
00x1漏洞环境 Apache APISIX Dashboard 2.7 - 2.10 版本受到影响 通过git拉取在docker搭建环境 git clone https://github.com/a ...