决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试
决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试
Apache ZooKeeper 单机模式安装
创建hadoop用户&赋予sudo权限,安全第一:)
默认情况行下 CentOS 的group wheel 用的用户拥有 sudo权限
# useradd hadoop
# passwd hadoop
Changing password for user hadoop.
New password: bigdata123
Retype new password: bigdata123
passwd: all authentication tokens updated successfully.
usermod -aG wheel username
su - hadoop
安装vim,方便后期更改配置
sudo yum install vim
配置 JAVA_HOME
vim ~/.bashrc
添加如下代码,保存退出:wq
,如何安装JDK?请参考CentOS 7 JDK 8安装
JAVA_HOME=/opt/jdk1.8.0_101
PATH=$PATH:$JAVA_HOME/bin
测试
$ source ~/.bashrc
# echo $JAVA_HOME
下载Apache ZooKeeper-3.4.9[1] 安装并测试
$ cd /opt
$ sudo wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz
$ sudo tar xzf zookeeper-3.4.9.tar.gz
下载Apache ZooKeeper 安装并测试
创建配置文件conf/zoo.cfg
$ cd zookeeper-3.4.9/
$ sudo mkdir data
$ sudo vim conf/zoo.cfg
#添加如下配置到zoo.cfg
tickTime = 2000
dataDir = /opt/zookeeper-3.4.9/data #数据文件路径
clientPort = 2181 #端口
initLimit = 5
syncLimit = 2
保存退出,并回到Console,启动Zookeeper
$ sudo bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.9/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
恭喜你,you make it,让我们在启动命令行测试下
$ sudo bin/zkCli.sh
Connecting to localhost:2181
...
就是这么简单我们连接成功
用zkCli创建一个znode simon
,值为data 1
[zk: localhost:2181(CONNECTED) 8] create /simon 'data 1'
用zkCli查看刚才创建的路径
[zk: localhost:2181(CONNECTED) 9] ls /
[simon, zookeeper]
用zkCli查看刚才创建的路径的值,请注意此时ctime
和 mtime
的值是一样的
[zk: localhost:2181(CONNECTED) 10] get /simon
data 1
cZxid = 0x4
ctime = Sat Sep 10 03:11:27 EDT 2016
mZxid = 0x4
mtime = Sat Sep 10 03:11:27 EDT 2016
pZxid = 0x4
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 6
numChildren = 0
修改 /simon的值,是不是和linux的文件系统很像:),此时ctime和mtime的值不一样的了
set /simon 'data 2'
cZxid = 0x4
ctime = Sat Sep 10 03:11:27 EDT 2016
mZxid = 0x5
mtime = Sat Sep 10 03:16:22 EDT 2016
pZxid = 0x4
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 6
numChildren = 0
romove刚才创建的znode /simon
[zk: localhost:2181(CONNECTED) 13] rmr /simon
[zk: localhost:2181(CONNECTED) 14] ls /
[zookeeper]
So eeeeeasy~right ,那我开始玩点高级的,搭建集群模式
首先停止单机服务
[hadoop@note1 zookeeper-3.4.9]$ sudo bin/zkServer.sh stop
[sudo] password for hadoop:
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.9/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
ZooKeeper Cluster配置:
三台CentOS 7的虚拟机运行在VitualBox上面,规划如下
name | ip | myid |
---|---|---|
node1 | 192.168.3.11 | 0 |
node2 | 192.168.3.12 | 1 |
node3 | 192.168.3.13 | 2 |
修改note1的域名配置 sudo vim /etc/hosts
添加如下内容,并保存退出
node1 192.168.3.11
node2 192.168.3.12
node3 192.168.3.13
修改ZooKeeper的配置
备份之前的单机配置
cd /opt/zookeeper-3.4.9
cp conf/zoo.cfg conf/zoo_standalone.cfg
创建log目录
sudo mkdir /opt/zookeeper-3.4.9/log
创建myidsudo vim /opt/zookeeper-3.4.9/myid
insert 1,:wq
添加集群配置配置 sudo vim conf/zoo.cfg
,替换之前的配置为如下内容:
tickTime=2000
#Replace the value of dataDir with the directory where you would like ZooKeeper to save its data
dataDir=/opt/zookeeper-3.4.9/data
#Replace the value of dataLogDir with the directory where you would like ZooKeeper to log
dataLogDir=/opt/zookeeper-3.4.9/log
clientPort=2181
initLimit=10
syncLimit=5
server.1=192.168.3.11:2888:3888
server.2=192.168.3.12:2888:3888
server.3=192.168.3.13:2888:3888
关机 sudo shutdown -h 0
快速搭建分布集群的另外的俩个节点
现在是见证奇迹的时刻,使用VitualBox复制功能clone另外俩台虚拟机node2, node3
复制node2
复制成功后启动node2
修改hostname:
hostnamectl set-hostname node2 --static
修改静态IP
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
修改内容如下,保存退出
#指定的静态ip,node3 改为 IPADDR=192.168.3.13
IPADDR=192.168.3.12
#MAC地址 node3 改为 83179c2f-b512-4c1a-8358-2ff4e823d956
UUID=83179c2f-b512-4c1a-8358-2ff4e823d955
重启机器 reboot now
现在可以使用新的IP登陆:192.168.3.12
创建note3,参考note2
启动分布式集群node1,node2,node3
修改 node2,和node3的zookeeper的myid
#for node2 echo "3"
echo "2" > /opt/zookeeper-3.4.9/data/myid
启动各个节点ZkSerer(root账号):
# cd /opt/zookeeper-3.4.9/ &&bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.9/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
可以查看各个启动日志:
# more zookeeper.out
2016-09-10 04:39:03,077 [myid:] - INFO [main:QuorumPeerConfig@124] - Reading configuration from: /opt/zookeeper-3.4.9/bin/../conf/zoo.cfg
2016-09-10 04:39:03,105 [myid:] - INFO [main:QuorumPeer$QuorumServer@149] - Resolved hostname: 192.168.3.13 to address: /192.168.3.13
2016-09-10 04:39:03,106 [myid:] - INFO [main:QuorumPeer$QuorumServer@149] - Resolved hostname: 192.168.3.12 to address: /192.168.3.12
2016-09-10 04:39:03,106 [myid:] - INFO [main:QuorumPeer$QuorumServer@149] - Resolved hostname: 192.168.3.11 to address: /192.168.3.11
2016-09-10 04:39:03,106 [myid:] - INFO [main:QuorumPeerConfig@352] - Defaulting to majority quorums
2016-09-10 04:39:03,108 [myid:3] - INFO [main:DatadirCleanupManager@78] - autopurge.snapRetainCount set to 3
2016-09-10 04:39:03,108 [myid:3] - INFO [main:DatadirCleanupManager@79] - autopurge.purgeInterval set to 0
2016-09-10 04:39:03,108 [myid:3] - INFO [main:DatadirCleanupManager@101] - Purge task is not scheduled.
2016-09-10 04:39:03,119 [myid:3] - INFO [main:QuorumPeerMain@127] - Starting quorum peer
2016-09-10 04:39:03,136 [myid:3] - INFO [main:NIOServerCnxnFactory@89] - binding to port 0.0.0.0/0.0.0.0:2181
2016-09-10 04:39:03,141 [myid:3] - INFO [main:QuorumPeer@1019] - tickTime set to 2000
2016-09-10 04:39:03,141 [myid:3] - INFO [main:QuorumPeer@1039] - minSessionTimeout set to -1
2016-09-10 04:39:03,141 [myid:3] - INFO [main:QuorumPeer@1050] - maxSessionTimeout set to -1
2016-09-10 04:39:03,141 [myid:3] - INFO [main:QuorumPeer@1065] - initLimit set to 10
查看各个节点的zk的状态,可以看到node2目前是leader节点
[root@node2 zookeeper-3.4.9]# bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.9/bin/../conf/zoo.cfg
Mode: leader
自此我们已经完成Zookeeper 复制模式的搭建,To be contiue
Have a good weekend~
有任何问题可以联系我: email:huangbaixun(at)outlook.com
决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试的更多相关文章
- 【原创】大数据基础之Zookeeper(2)源代码解析
核心枚举 public enum ServerState { LOOKING, FOLLOWING, LEADING, OBSERVING; } zookeeper服务器状态:刚启动LOOKING,f ...
- 大数据篇:Zookeeper
Zookeeper 1 Zookeeper概念 Zookeeper是什么 是一个基于观察者设计模式的分布式服务管理框架,它负责和管理需要关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Z ...
- 决战大数据之二:CentOS 7 最新JDK 8安装
决战大数据之二:CentOS 7 最新JDK 8安装 [TOC] 修改hostname # hostnamectl set-hostname node1 --static # reboot now 重 ...
- 《决战大数据:驾驭未来商业的利器》【PDF】下载
内容简介 大数据时代的来临,给当今的商业带来了极大的冲击,多数电商人无不"谈大数据色变",并呈现出一种观望.迷茫.手足无措的状态.车品觉,作为一名经验丰富的电商人,在敬畏大数据的同 ...
- 大数据hadoop之zookeeper
一.ZooKeeper 的实现 1.1 ZooKeeper处理单点故障 我们知道可以通过ZooKeeper对分布式系统进行Master选举,来解决分布式系统的单点故障,如图所示. 图 1.1 ZooK ...
- 【喜讯】新一代大数据任务调度 - Apache DolphinScheduler 社区荣获OSCHINA年度 “最佳技术团队”...
新一代大数据任务调度 - Apache DolphinScheduler 继 11 月 19 日由 InfoQ 举办.在 300+ 参评项目中脱颖而出获得 "2020 年度十大开源新锐项目 ...
- CentOS6安装各种大数据软件 第十章:Spark集群安装和部署
相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...
- CDH构建大数据平台-使用自建的镜像地址安装Cloudera Manager
CDH构建大数据平台-使用自建的镜像地址安装Cloudera Manager 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.搭建CM私有仓库 详情请参考我的笔记: http ...
- 大数据技术之Zookeeper
第1章 Zookeeper入门 1.1 概述 Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目. 1.2 特点 1.3 数据结构 1.4 应用场景 提供的服务包括:统 ...
随机推荐
- CSS 性能
http://boagworld.com/dev/why-you-should-care-about-css-page-performance/ http://css-tricks.com/effic ...
- 再谈collections模块defaultdict()和namedtuple()
defaultdict()和namedtuple()是collections模块里面2个很实用的扩展类型.一个继承自dict系统内置类型,一个继承自tuple系统内置类型.在扩展的同时都添加了额外的很 ...
- poj2186Popular Cows(Kosaraju算法--有向图的强连通分量的分解)
/* 题目大意:有N个cows, M个关系 a->b 表示 a认为b popular:如果还有b->c, 那么就会有a->c 问最终有多少个cows被其他所有cows认为是popul ...
- Oracle Dataguard之Real-Time Apply
Oracle Dataguard一共支持三种模式:最大可用模式(Maximum Availability),最大性能模式(Maximum Performance),最大保护模式(Maximum Pro ...
- [转载]TFS源代码管理
以下主要描述了: TFS源代码控制系统的基本场景 如何把一个项目添加到源代码管理中 如何与服务器同步 如何做Check-In 如何做分支与合并 什么是上架与下架 我们知道工作项是项目管理的基本元素,但 ...
- CSS 魔法系列:纯 CSS 绘制各种图形《系列五》
我们的网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多比人想象不到的效果.特别是随着 CSS3 的广泛使用,更多新奇的 CSS 作品涌现出来. ...
- Windows Azure HandBook (3) 浅谈Azure安全性
<Windows Azure Platform 系列文章目录> 2015年3月5日-6日,参加了上海的Azure University活动.作为桌长与微软合作伙伴交流了Azure相关的技术 ...
- 【数据压缩】Huffman编码
1. 压缩编码概述 数据压缩在日常生活极为常见,平常所用到jpg.mp3均采用数据压缩(采用Huffman编码)以减少占用空间.编码\(C\)是指从字符空间\(A\)到码字表\(X\)的映射.数据压缩 ...
- Hyperledger中数据存取的实现
简介 本文介绍了在Hyperledger中数据存取的实现. API接口 Hyperledger提供基于key/value的数据存储,其中key是字符串,value则是二进制字节数组,Hyperledg ...
- .NET Core第三方开源Web框架YOYOFx
YOYOFx框架 YOYOFx是一个轻量级用于构建基于 HTTP 的 Web 服务,基于 .NET 和 Mono 平台. 本着学习的态度,造了这个轮子,也是为了更好的了解各个框架的原理和有点,还希望可 ...