ZooKeeper集群环境安装与配置
原文:出自本人的Linux博客http://blog.csdn.net/unix21/
ZooKeeper版本:3.4.5
约定:3台虚拟机
前提:需要安装JDK,关于Linux环境JDK安装配置参考我的另一帖Linux环境安装卸载JDK以及安装Tomcat和发布Java的web程序
ZooKeeper官网:http://zookeeper.apache.org/
1.下载解压
# wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz
# tar zxvf zookeeper-3.4.5.tar.gz
# cd zookeeper-3.4.5
2.配置
1).建立数据目录
# mkdir data
2).编辑配置文件
# cd /usr/zookeeper-3.4.5/conf
conf目录下修改文件名 zoo_sample.cfg 改为 zoo.cfg
# mv zoo_sample.cfg zoo.cfg
# vim ./conf/zoo.cfg
#dataDir=/tmp/zookeeper
dataDir=/usr/zookeeper-3.4.5/data
clientPort=2181
initLimit=10
syncLimit=5
tickTime=2000
server.1=192.168.1.1:2888:3888
server.2=192.168.1.2:2888:3888
server.3=192.168.1.3:2888:3888
注意千万不要把IP写错了,不然启动后会报奇怪的错误!快照是需要的#mkdir data
如果需要事务#mkdir datalog
新建配置文件zoo.cfg,保存在conf子目录下,写入以下内容:
tickTime=# Zookeeper服务器心跳时间,单位毫秒
dataDir= # 数据持久化路径
clientPort=# 连接端口
initLimit=# 投票选举新leader的初始化时间。
syncLimit=# Leader与Follower之间的最大响应时间单位,响应超过syncLimit*tickTime,Leader认为Follwer挂掉,从服务器列表中删除Follwer
dataLogDir=# 日志保存路径 这个要自己新建,具体目录根据自己的实际情况为准!
3).新增myid文件
# cd /usr/zookeeper-3.4.5/data
在data目录下创建文件,文件名为“myid”, 编辑该“myid”文件,并在对应的IP的机器上输入对应的编号。
如在192.168.1.1上,“myid”文件内容就是1,在192.168.1.2上,内容就是2,在192.168.1.3上,内容就是3
3.修改防火墙
如果是用iptable的话,在/etc/sysconfig/iptables中加入ZooKeeper的端口:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2181 –j ACCEPT-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2888 –j ACCEPT-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3888 –j ACCEPT
执行防火墙重启命令: # service iptables restart
4.启动ZooKeeper
启动
# /usr/zookeeper-3.4.5/bin/zkServer.sh start
[root@localhost conf]# /usr/zookeeper-3.4.5/bin/zkServer.sh start
JMX enabled by default
Using config: /usr/zookeeper-3.4.5/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
停止
# /usr/zookeeper-3.4.5/bin/zkServer.sh stop
重启
# /usr/zookeeper-3.4.5/bin/zkServer.sh restart
5.检查状态
# /usr/zookeeper-3.4.5/bin/zkServer.sh status
可能需要安装nc包
# yum install nc
ZooKeeper会自动选出Leader,一旦Leader挂了会选出新的Leader。
Leader/Follower会通过选举算法进行选择。
6.客户端登陆
# /usr/zookeeper-3.4.5/bin/zkCli.sh -server 127.0.0.1:2181
相关文章:

thinkphp5 mysql长连接_tp5(thinkPHP5)框架连接数据库的方法示例
本文实例讲述了thinkPHP5框架连接数据库的方法。分享给大家供大家参考,具体如下:1、配置文件目录 tp5applicationdatabase.php通过配置文件来连接。。也可以通过方法链接在控制器里方法链接数据库 ;查询时写法 和使用系统的DB类方法略有差异/…

学习笔记之Linux Shell脚本教程:30分钟玩转Shell脚本编程
Linux Shell脚本教程:30分钟玩转Shell脚本编程 http://c.biancheng.net/cpp/shell/转载于:https://www.cnblogs.com/pegasus923/p/5304025.html

tomcat的startup.bat闪退问题解决
从官网下载一个免安装的tomcat,我把它解压在E盘,配置了环境变量:CATALINA_HOME、CATALINA_BASE、TOMCAT_HOME 为 tomcat的解压路径 进入解压tomcat的bin目录,执行startup.bat,出现闪退。 然后winR 输入cmd 进入解压tom…
使用Netbeans创建java Web项目
使用Netbeans创建java Web项目需要先搭建JDK参考: Java开发环境的搭建以及使用eclipse创建项目 Linux环境安装卸载JDK1.安装Tomcat 去官网下载最新的Tomcat:http://tomcat.apache.org/ 目前最新的windows环境的Tomcat是 http://mirrors.hus…

Linux内核设计第五周学习总结 分析system_call中断处理过程
陈巧然原创作品 转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000使用gdb跟踪分析一个系统调用中断处理过程,分析系统调用从system_call开始到iret结束之间的整个过程。 实验过程: 登陆实验楼虚拟机http://w…

mysql data ibdata1_database - 如何在MySQL中收缩/清除ibdata1文件
database - 如何在MySQL中收缩/清除ibdata1文件我在localhost中使用MySQL作为在R中执行统计的“查询工具”,也就是说,每次运行R脚本时,我创建一个新数据库(A),创建一个新表(B),将数据导入B ,提交查询以获得…

MySQL学习----各种字符的长度总结
数字型 类型大小范围(有符号)范围(无符号)用途TINYINT1 字节(-128,127)(0,255)小整数值SMALLINT2 字节(-32 768,32 767)(0,65 535)大整数值MEDIUMINT3 字节(-8 388 608,8…
分布式消息队列Kafka集群安装
kafka是LinkedIn开发并开源的一个分布式MQ系统,现在是Apache的一个孵化项目。在它的主页描述kafka为一个高吞吐量的分布式(能将消息分散到不同的节点上)MQ。在这片博文中,作者简单提到了开发kafka而不选择已有MQ系统的原因。两个原…

[na]pc加入域认证细节
这也是以前好奇,因为学生时候,经常机房上网, 对一些譬如.. 现在看来很low了. 是小作坊式的技术, 真正上不了台面的.扛不住生产的压力. ftp共享计算机统一管理等无盘/网克等特别好奇 计算机组织的两种形式 加入办公网络里有200多台pc,如果各个独立的上网互不干扰. 这种也挺方便,…

react 树形菜单_关于React 使用antd组件递归实现左侧菜单导航树(MenusTree)的示例...
一、菜单组件Demo这里本人采用的是蚂蚁金服(antd)组件库里的{Menu}组件写的一个左侧菜单树的小Demo(整套开发环境是ReactReduxwebpack)import React from react;import { Menu, Icon } from antd;import {WeaScroll} from ecCom;import {bindActionCreators} from redux;import…

SQL快速入门 ( MySQL快速入门, MySQL参考, MySQL快速回顾 )
SQL 先说点废话,很久没发文了,整理了下自己当时入门 SQL 的笔记,无论用于入门,回顾,参考查询,应该都是有一定价值的,可以按照目录各取所需。SQL数据库有很多,MySQL是一种,…
MyEclipse2014配置Tomcat开发JavaWeb程序JSP以及Servlet
1.安装准备 1).下载安装MyEclipse2014,这已经是最新版本。2).下载Tomcat 官网:http://tomcat.apache.org/ 我们选择8.0: http://tomcat.apache.org/download-80.cgi 在windows下选择64位解压版:http://mirror.bit.edu.cn/apache/t…

[转]Linux 的多线程编程的高效开发经验
Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微和隐晦的差别。不注意这些 Linux 上的一些开发陷阱,常常会导致程序问题不穷,死锁不断。本文中我们从 5 个方面总结出 Linux 多线程编程上的问题…

mac webpack 版本_晓前端周刊 第48期:EMP面向未来微前端方案正式开源了!玩转 webpack,使你的打包速度提升 90%;...
业界动态苹果最大杀招:iPhone App 已能在电脑运行近日网友反馈,苹果 App Store 中大量应用在兼容性一栏中显示:已支持运行 macOS 11(及以上版本)的 Mac 电脑。这意味着,iPhone 中的应用,已可以在 Mac 电脑中运行。并非…

LNMP安装配置
LNMP安装配置 目录bin:存放普通用户可执行命令sbin:存放超级用户可执行命令which iptables : 查看boot目录:存放系统启动所需(内核,映像)dev:设备文件(鼠标,键盘...等外部…
效果广告点击率预估实践:在线学习
效果广告点击率预估实践:在线学习 原创 2016-03-24 腾讯大数据 腾讯大数据1.引言 技术钻研如逆水行舟,不进则退。公司的广告业务发展非常迅猛,有目共睹,激烈的外部竞争和客户越来越高的期望,都要求我们的技术不断进步&…
Redis安装与调试
Redis安装与调试 Redis安装与调试linux版本:64位CentOS 6.5 Redis版本:2.8.17 (更新到2014年10月31日) Redis官网:http://redis.io/ Redis常用命令:http://redis.io/commands 1.安装Redis # wget http:…

lumen mysql 事务_简单几部搞定laravel/lumen跨库操作
1.跨库数据库配置在网站跟目录下的config文件中增加database.php作为数据库配置文件。配置如下://当前默认数据库mysql > [driver > mysql,host > env(DB_HOST, localhost),port > env(DB_PORT, 3306),database > env(DB_DATABASE, forge),username …
springMVC出现HTTP Status 405 - Request method 'GET' not supported错误的解决方法
今天在写一个简单的springMVC的表单请求处理时,出现了这个问题。我的form表单用的是post方法提交,并没有使用get方法,出现这个问题时,笔者可谓是一脸懵逼。这是form表单:这是对post请求的处理方法:检查了半…
从Nginx源码谈大小写字符转化的最高效代码以及ASCII码表的科学
说起大小写字母转换,大家很容易想起系统函数是不是,几乎所有的编程语言都提供了这种转换函数,但是你有没有想过这背后是怎么实现的? 让你写怎么实现?我们都知道Nginx是目前用的最多的Http服务器,那么他的代…

常回“家”看看
近一年来很少写博客了,原因很多,一言难尽!感觉人在每个阶段思想都在不断发生变化,往往某一时期认定的事情会在另外一个阶段发生自我否定或者是改变!之前认为自己也许不再走技术路线了,所以把精力都放在了其…

python launcher怎么使用_QMUI实战(一)—为何我们要使用 LauncherActivity?
QMUI 2 发布了,但是里面换肤等相关的很多东西,如果不讲,那么很多人估计就只能复制粘贴下 QMUIDemo 的代码,而并不能用好 QMUI, 或者是通过 QMUI 来提升自己的 UI 开发能力,毕竟现在很多 Android 开发都是轻…

CoAP 协议解析说明(转)
CoAP 协议全面分析 HTTP与COAP 请求与响应示例 HTTP请求(文本格式) POST https://getman.cn/echo HTTP/1.1 User-Agent: Fiddler Host: getman.cn Content-Length: 9{temp:22}HTTP响应(文本格式) HTTP/1.1 200 OK Server: NWSs Da…

孔雀翎----《Programming C# 》中文版 第4版
孔雀翎----《Programming C# 》中文版 第4版 主页:http://blog.csdn.net/21aspnet/ 时间:2007.8.7 电子工业出版社给我邮寄了此书,所以本人可以先在出版之前一睹为快。 本人曾看过300多本.NET方面的书,感慨颇深。其实一…

iOS开发小技巧--textField成为密码框,view加载完后textField获取焦点
文本框安全输入:Secure Text Entry(安全文本输入)view加载完后textField获取焦点的正确做法

python出现typeerror原因是_Python 文件添加列表数据后TypeError原因
# -*- coding: utf-8 -*-#打开文件,将文件读入字符串colfopen(pride.txt)textf.read()colstext.split()f2open(data.txt,w)for col in cols:f2.write(col)f2.write(\n)以上代码运行无误。# -*- coding: utf-8 -*-#打开文件,将文件读入字符串colfopen(pri…

LVM逻辑卷创建管理
LVM(逻辑分区)的创建顺序:物理分区-物理卷-卷组-逻辑卷-挂载。物理卷(Physical Volume,PV):就是指硬盘分区,也可以是整个硬盘或已创建的软RAID&am…
Linux环境PHP5.5以上连接SqlServer2008【全网最经典无错版】
linux版本:64位CentOS 6.4 Nginx版本:nginx1.8.0 php版本:php5.5.28 Sqlserver版本:2008 FreeTDS版本:0.95 关于Linux环境安装NginxPHP参考Linux环境Nginx安装与调试以及PHP安装 即可。一般来说,PHPmysql是…

python矩阵运算库效率_python - 布尔矩阵运算的最快方法_performance_酷徒编程知识库...
只需在compute中进行一些小的更改:def compute(m, n):m np.asarray(m)n np.asarray(n)# Apply mask N in advancem2 m & n# Pack booleans into uint8 for more efficient bitwise operations# Also transpose for better caching (maybe?)mb np.packbits(…

hibernate-session中的方法
1.操作实体对象的方法 save() 保存 update() 更新 saveOrUpdate() 保存或更新 delete() 删除 2.操作缓存的方法 clear() 清除所有缓存 evit() 将指定对象清除出缓存 flush() 刷新到数据库中()马上执行sql语句,不会清除session缓存&#x…