修改Linux主机名,修改IP,
如果老大让我搭一个集群,规划:主机名,IP 安装的软件(jdk,hadoop,后三台安装zookeeper)
hadoop2.0 namenode可以是多个,一个是active,一个是stand by,协调的人就是zookeeper(如果active死掉了,就用zookeeper来协调)
zookeeper也是一个集群,但是它单点也能运行
zookeeper是Google的chubby一个开源的实现,是hadoop的分布式协调服务。它包含一个简单的原语集(语法),可以实现数据同步,分布式锁,等等
为了保证zookeeper的高可靠性,且机器的数量必须是奇数台(最少3台,理论上可以允许一台机器down掉)。只要一半以上正常运行,就可以提供服务。
笔者公司:两千多台机器,7台zookeeper
上图,五台机器共同组成了一个zk服务,且,有两种角色,一种是leader(一个),一种是follower(多个),假如运行一段时间,leader它down掉了,此时从候选人中选一个新leader,这个从follower切换成leader
数据同步:
我们发现有许多客户端连着leader和follower,leader监测到follower数据发生变化,之后小弟和小弟之间数据发生同步,最终同步完成之后,从另一个客户端读数据,也是修改后的值
Q:为什么要使用zookeeper?
集群出现之后,集群的协调管理。两千台机器,假如我要修改配置,现在在分布式协调服务,可以进行同步。
Q:zookeeper能帮我们做什么?
使用zookeeper,能确保整个集群只有一个活跃的namenode,hbase,使用zookeeper的事件处理,确保整个集群只有一个HMaster,进行协调。
zookeeper采用“松耦合交互方式”,就是尽量“面向接口编程”,跟你关联不是很大,别人连我,我给你提供接口。
接下来,应该安装一个zookeeper
为了模拟公司的环境,安装了6台,你自己玩的话,两台也可以。在itcast04上安装zookeeper,在456上组成最小集群。在公司真正部署hadoop集群的时候,一定不要使用root用户!
先在04上面安装一个【单节点的】zookeeper,456组成一个集群
用同样的方法,下载zookeeper,解压放在/itcast/里面
可以看到,bin是里面的可执行脚本,conf是配置,lib是依赖的包,.jar是核心包
conf里面有一个例子配置文件。
单节点文件很简单,只要安装了jdk就可以。
which java 看一眼路径
安装单节点zk:修改一个配置文件,在conf里面,就是把zoo—example名字改成zoo.cfg
怎样启动?cd到bin/ 然后./zkserver.sh start
看到started之后,就发现再jps之后,就有quorumpeermain出现了
我刚刚启动了zk的服务端,(Quorum那个),我也可以启动一个客户端 ./zkCli.sh
接下来我到了zk客户端的命令行状态
语法跟Linux比较像,我ls / 看根 表示我看了zk系统的根 接下来看看根下面有什么东西:
create /itcast 8000$ 我保存了一个8000刀的信息。【其实我是在一个“文件夹”里面保存了一个8000刀的信息】
之后 get /itcast0106 可以看到8000 也可以看到一些奇怪的东西 悬念留到下一节