zookeeper简介,集群部署
2016-06-15 16:18
399 查看
zookeeper是什么
Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。好像说得比较抽象,举个场景,在集群分布式服务中,我们常常遇到这些问题
1、集群中,每个节点的状态怎么监控,怎么进行负载均衡,一个节点down了,怎么让客户端知道?
2、节点那么多,如果有配置,我们怎么实现修改一个节点的配置,所有的节点都能修改到?
3、我们怎么动态的移除和添加一个节点,难道要停止集群服务,添加移除再重启?
4、怎样简单,快速的管理集群服务?
zookeeper可以帮我实现这些,它简单点就是一个文件系统加通知机制!!
zookeeper能做什么
1、命名服务我们可以在zookeeper文件系统中建一个唯一的目录,在我们使用tborg无法确定上游程序的部署机器时即可与下游程序约定好路径目录,通过目录路径可以相互发现
2、统一配置
我们可以把配置文件配置到zookeeper的文件系统中,链接到zookeeper的节点只需监控该zookeeper的配置,即可以实现一次配置,所有节点同步
3、集群管理
zookeeper可以帮我们选举master,集群中节点的动态添加和删除以及容灾还有事件通知状态同步
4、分布式锁
zookeeper集群的每个节点的数据都是一致的, 那么我们可以通过这些节点来作为锁的标志。分布式锁能保证集群中任何节点访问数据,数据都一致。
zookeeper安装配置
单节点部署1、上传zookerper安装包,解压安装包到某个路径下
tar -zxvf zookeeper-3.4.5.tar.gz -C /zookeeper
2、进入到解压目录的conf目录下,将 zoo_sample.cfg复制一份为zoo.cfg
cp zoo_sample.cfg zoo.cfg
3、进入到解压目录的bin目录下,启动服务
./zkServer.sh start #启动服务 ./zkServer.sh stop #停止服务 ./zkServer.sh status #查看服务状态 ./zkCli.sh #进入客户端
集群部署
1、修改配置文件zoo.cfg,添加集群配置
dataDir=/home/zookeeper/zookeeper-3.4.5/data server.101=192.168.137.101:2888:3888 server.102=192.168.137.102:2888:3888 server.103=192.168.137.103:2888:3888
2、 在/home/zookeeper/zookeeper-3.4.5/创建一个目录为data并创建年一个myid的文件,存放server.N中的N
3、通过ssh将解压包copy到其他机器
scp -rp /home/zookeeper/zookeeper-3.4.5/ root@192.168.137.102:/home/zookeeper/zookeeper-3.4.5/ scp -rp /home/zookeeper/zookeeper-3.4.5/ root@192.168.137.103:/home/zookeeper/zookeeper-3.4.5/
4、注意要把/home/zookeeper/zookeeper-3.4.5/data/myid里面的内容修改为各自的server.N中的N
5、启动服务,需要把三台机器的服务端都启动
./zkServer.sh start #启动服务 ./zkServer.sh stop #停止服务 ./zkServer.sh status #查看服务状态 ./zkCli.sh #进入客户端
6、进行测试
分俩部,第一部可以在101的机器上创建一个节点,看在102,103是否能获取到节点
./zkCli.sh #进入客户端 [zk: localhost:2181(CONNECTED) 1] create /name liuxg #创建节点 [zk: localhost:2181(CONNECTED) 0] get /name #设置节点
相关文章推荐
- 无线局域网络简介一
- 无线局域网络简介二
- Lua教程(十七):C API简介
- PHP Session机制简介及用法
- BootStrap 智能表单实战系列(二)BootStrap支持的类型简介
- Redis教程(一):Redis简介
- Java语言简介(动力节点Java学院整理)
- 无线局域网络简介
- angular2使用简单介绍
- markdown简介和语法介绍
- mysql性能监控工具Innotop简介及配置
- Windows PowerShell是啥?看完本文你就懂它了
- 零基础学习AJAX之AJAX的简介和基础
- JSON简介以及用法汇总
- Node.js 学习笔记之简介、安装及配置
- MongoDB系列教程(二):MongoDB简介
- angular简介和其特点介绍
- Windows phone 8 开发环境搭建
- Ansible