zookeeper:一.zookeeper集群安装
2.安装zookeeper
2.1 安装环境准备
2.2 安装zookeeper
2.2.1.解压zookeeper压缩包到/opt/zookeeper
2.2.2.编辑zookeeper配置文件
2.2.3.创建myid文件
2.2.4.启动zookeeper
2.2.5.测试
1.zookeeper简介
zookeeper是一个开源的分布式协议服务框架,主要用来为应用程序做HA.提供的功能包括:配置维护、域名服务、分布式同步、组服务等。zookeeper的特点:
1.简单易用
提供了类似于文件系统的namespace(znode)来让应用程序(各节点)互相协调工作,
2.自带复制功能
zookeeper本身也是自带HA的,在2n+1个zookeeper节点中,只要在n+1个正常工作,zookeeper就能对外提供服务.zookeeper架构:
3.高性能
4.数据模型和文件化的命令名空间
使用zookeeper就像使用文件系统一样
5.临时的znode和永久的znode
znode分为临时的和永久的两种,临时的在会话结束后就清除,永久的一直存在.znode中保存有数据、ACL、时间戳等,以及对应的版本变化,每次更新这些数据时,版本号会增加。zookeeper自动维护znode中的数据的读写,用户只需要像使用文件系统一样使用znode即可。每个znode都有对应的ACL(访问控制列表)
6.数据一致性保证
体现为:
1)顺序保证。数据被按照发送来的顺序保存
2)原子性。数据更新要么在全节点上成功,要么失败,不会出现节点之间数据不同步。
3)镜像一致性。无论client连接到哪个server上,看到的镜像都是一样的
4)持久性。数据一旦提交会一直存在。
2.安装zookeeper
2.1 安装环境准备
- 下载并安装jdk:
http://java.sun.com/javase/downloads/index.jsp
安装过程略
- 下载zookeeper安装包:
http://zookeeper.apache.org/releases.html
- 设置zookeeper用户环境变量
在/home/zookeeper/.bash_profile中加入:
PATH=$PATH:$HOME/bin
JAVA_HOME=/opt/java/jdk1.8.0_121
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASS
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$JAVA_HOME/jre/lib/amd64/server
PATH=$PATH:$JAVA_HOME/bin
export PATH
http://java.sun.com/javase/downloads/index.jsp
安装过程略
http://zookeeper.apache.org/releases.html
在/home/zookeeper/.bash_profile中加入:
PATH=$PATH:$HOME/bin
JAVA_HOME=/opt/java/jdk1.8.0_121
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASS
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$JAVA_HOME/jre/lib/amd64/server
PATH=$PATH:$JAVA_HOME/bin
export PATH
执行. ~/.bash_profile使其生效.测试:
java
2.2 安装zookeeper
2.2.1.解压zookeeper压缩包到/opt/zookeeper
解压后路径为:/opt/zookeeper-3.4.10
2.2.2.编辑zookeeper配置文件
创建zookeeper配置文件,文件名可以叫任务名字,一般取zoo.cfg,并放在/opt/zookeeper-3.4.10/conf下
修改zoo.cfg文件:
tickTime=2000
dataDir=/opt/zookeeper-3.4.10/dataDir
dataLogDir=/opt/zookeeper-3.4.10/dataLogDir
clientPort=2181
initLimit=5
syncLimit=2
server.1=zoo1:2888:3888
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888
tickTime:zookeeper心跳时间
dataDir:数据目录
dataLogDir:事务日志目录,不设置时放在dataDir下.要求高性能zookeeper服务时,将该目录放在高性能磁盘上.
initLimit=5:当zookeeper集群启动时,follower要在5个tickTime内连接到leader,否则将follower丢弃
syncLimit=2:当followert和leader同步数据时间限制超过时间follower将被丢弃.
server.n=host: port: port 服务器列表.端口中,前者用于follower连接leader,只在leader上开启;后者用于选举leader
2.2.3.创建myid文件
在dataDir目录下创建myid文件,文件中写上server id,只写一个数字即可,数字范围1-255,如1号server就写1
2.2.4.启动zookeeper
将配置发到各上节点上,注意各个主机的myid不同
启动zookeeper:
bin/zkServer.sh start
或者:
java -cp zookeeper.jar:lib/slf4j-api-1.7.5.jar:lib/slf4j-log4j12-1.7.5.jar:lib/log4j-1.2.17.jar:conf \ org.apache.zookeeper.server.quorum.QuorumPeerMain zoo.cfg
改成相应路径
如果启动失败,检查zookeeper.out
2017-04-14 23:53:57,907 [myid:3] - ERROR [hadoop3/172.18.0.13:3888:QuorumCnxManager@432] - Unreasonable buffer length: -194817
只要telnet 3888端口,就会出现这个问题~
2.2.5.测试
找一台zookeeper服务器:
[zk: 127.0.0.1:2181(CONNECTED) 1] ls /
[zookeeper]
[zk: 127.0.0.1:2181(CONNECTED) 2] create /zk_test my_data
Created /zk_test
[zk: 127.0.0.1:2181(CONNECTED) 3] ls /
[zookeeper, zk_test]
zookeeper:一.zookeeper集群安装的更多相关文章
- ZooKeeper伪分布集群安装及使用 RMI+ZooKeeper实现远程调用框架
使用 RMI + ZooKeeper 实现远程调用框架,包括ZooKeeper伪集群安装和代码实现两部分. 一.ZooKeeper伪集群安装: 1>获取ZooKeeper安装包 下载地址:ht ...
- (转)ZooKeeper伪分布式集群安装及使用
转自:http://blog.fens.me/hadoop-zookeeper-intro/ 前言 ZooKeeper是Hadoop家族的一款高性能的分布式协作的产品.在单机中,系统协作大都是进程级的 ...
- ZooKeeper伪分布式集群安装及使用
ZooKeeper伪分布式集群安装及使用 让Hadoop跑在云端系列文章,介绍了如何整合虚拟化和Hadoop,让Hadoop集群跑在VPS虚拟主机上,通过云向用户提供存储和计算的服务. 现在硬件越来越 ...
- zookeeper 介绍与集群安装
zookeeper 介绍 ZooKeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务——分布式同步(Distributed Synchronization). ...
- zookeeper伪分布式集群安装
1.安装3个zookeeper 1.1创建集群安装的目录 1.2配置一个完整的服务 这里不做详细说明,参考我之前写的 zookeeper单节点安装 进行配置即可,此处直接复制之前单节点到集群目录 创建 ...
- zookeeper和Kafka集群安装配置
3个虚拟机,首先关闭防火墙,在进行下面操作 一.java环境 yum list java* yum -y install java-1.8.0-openjdk* 查看Java版本 Java -vers ...
- 吴超老师课程---ZooKeeper介绍和集群安装
1.ZooKeeper 1.1 zk可以用来保证数据在zk集群之间的数据的事务性一致.2.如何搭建ZooKeeper服务器集群 2.1 zk服务器集群规模不小于3个节点,要求各服务器之间系 ...
- 【分布式】Zookeeper伪集群安装部署
zookeeper:伪集群安装部署 只有一台linux主机,但却想要模拟搭建一套zookeeper集群的环境.可以使用伪集群模式来搭建.伪集群模式本质上就是在一个linux操作系统里面启动多个zook ...
- (原) 1.2 Zookeeper伪集群安装
本文为原创文章,转载请注明出处,谢谢 Zookeeper伪集群安装 zookeeper单机安装配置可以查看 1.1 zookeeper单机安装 1.复制三份zookeeper,分别为zookeeper ...
- zookeeper+kafka集群安装之二
zookeeper+kafka集群安装之二 此为上一篇文章的续篇, kafka安装需要依赖zookeeper, 本文与上一篇文章都是真正分布式安装配置, 可以直接用于生产环境. zookeeper安装 ...
随机推荐
- 二维码生成(QRCode.js)
什么是 QRCode.js? QRCode.js 是一个用于生成二维码的 JavaScript 库.主要是通过获取 DOM 的标签,再通过 HTML5 Canvas 绘制而成,不依赖任何库. 基本用法 ...
- HDU 2065 "红色病毒"问题(生成函数)
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...
- 缓存反向代理-Varnish
简介 Varnish是一款高性能.开源的缓存反向代理服务器.它从客户端接受请求,并尝试从缓存中响应请求,如果无法从缓存中提供响应,Varnish 向后端服务器发起请求,获取响应,将响应存储在缓存中,然 ...
- 08JavaScript对象
JavaScript 对象是拥有属性和方法的数据. 注:在 JavaScript 中,对象是非常重要的,当你理解了对象,就可以了解 JavaScript . 1.JavaScript 对象 在 Jav ...
- JSP/Servlet开发——第八章 JSTL和EL
1. EL表达式: ●需要EL表达式的原因: ◆在JSP中使用Java脚本的局限: 1).在JSP页面中嵌入大量的Java代码: 2).访问结构比较复杂的数据时代码烦琐,且经常需要强制类型转换: eg ...
- html中的定位
html中的定位体系 一. 分类 1.常规流static 2.浮动float 3.相对定位relative 4.绝对定位absolute 5.固定定位fixed 二.使用时的区分 在网页布局中,常常都 ...
- 导入/导出excel和PHPExcel基本使用
* PHPExcel基本使用 * PS:文章如果有误,请及时指出,给予修改 * 项目中导入PHPExcel * 可以去网上下载 github composer 都可以 * 为了方便下载,我将压缩包添加 ...
- MQTT的学习之Mosquitto安装&使用(1)
Mosquitto是一个实现了MQTT3.1协议的代理服务器,由MQTT协议创始人之一的Andy Stanford-Clark开发,它为我们提供了非常棒的轻量级数据交换的解决方案.本文的主旨在于记录M ...
- python2x和python3x的一些区别
python2x:各种按照自己代码习惯给python贡献源码 python3x:重写之后的源码,优美,清晰,简单 版本 打印函数 rang函数 输入函数 python2x print 或 print( ...
- R语言爬虫:CSS方法与XPath方法对比(表格介绍)
css 选择器与 xpath 用法对比 目标 匹配节点 CSS 3 XPath 所有节点 ~ * //* 查找一级.二级.三级标题节点 <h1>,<h2>,<h3> ...