linux大数据集群搭建--云服务器 zookeeper集群搭建

目录

第一步:下载zookeeeper的压缩包,下载网址如下

第二步:解压 解压zookeeper的压缩包到/export/servers路径下去,然后准备进行安装

第三步:修改配置文件

第四步:添加myid配置

第五步:安装包分发并修改myid的值,安装包分发到其他机器

第六步:三台机器启动zookeeper服务

第七步:连接到ZooKeeper

第八步:配置环境变量(非必须)

第九步:启动异常解决方案


公司大数据集群搭建总结,自己买3台阿里云服务进行搭建大数据集群搭建

扫描二维码关注公众号,回复: 8789208 查看本文章

 

第一步:下载zookeeeper的压缩包,下载网址如下

http://archive.apache.org/dist/zookeeper/  我们在这个网址下载我们使用的zk版本为3.4.9

下载完成之后,上传到我们的linux的/export/soxwares路径下准备进行安装

 

第二步:解压 解压zookeeper的压缩包到/export/servers路径下去,然后准备进行安装

cd /export/software

tar -zxvf zookeeper-3.4.9.tar.gz -C ../servers/

 

第三步:修改配置文件

第一台机器修改配置文件

cd /export/servers/zookeeper-3.4.9/conf/

cp zoo_sample.cfg zoo.cfg

mkdir -p /export/servers/zookeeper-3.4.9/zkdatas/

vim zoo.cfg  

dataDir=/export/servers/zookeeper-3.4.9/zkdatas

# 保留多少个快照
autopurge.snapRetainCount=3

# 日志多少小时清理一次
autopurge.purgeInterval=1

# 集群中服务器地址
server.1=server01:2888:3888
server.2=server02:2888:3888
server.3=server03:2888:3888

 

其中:

initLimit=10: 对于从节点最初连接到主节点时的超时时间,单位为tick值的倍数。

syncLimit=5:对于主节点与从节点进行同步操作时的超时时间,单位为tick值的倍数。

dataDir=/tmp/zookeeper: 用于配置内存数据库保存的模糊快照的目录。即刚刚创建的data文件夹就是在此目录中。文件信息都存放在data目录下。

clientPort=2181: 表示客户端所连接的服务器所监听的端口号,默认是2181。即zookeeper对外提供访问的端口号。

2888:在zookeeper服务器之间及和leader连接时使用,

3888:第二个端口号,是在进行leader选举时使用

2181 是服务连接zookeeper端口

 

第四步:添加myid配置

 新建myid文件

在第一台机器的 /export/servers/zookeeper-3.4.9/zkdatas /这个路径下创建一个文件,文件名为myid ,文件内容为1

echo 1 > /export/servers/zookeeper-3.4.9/zkdatas/myid

 

第五步:安装包分发并修改myid的值,安装包分发到其他机器

第一台机器上面执行以下两个命令

scp -r /export/servers/zookeeper-3.4.9/ node02:/export/servers/
scp -r /export/servers/zookeeper-3.4.9/ node03:/export/servers/

在三个linux机器上刚刚创建的zookeeper目录下新建一个myid文件并打开,vi myid命令。

在node01机器上输入1,保存退出;在node02机器上输入2,保存退出;在node03机器上输入3,保存退出。

这里的1,2,3是与server1,2,3相对应的,这是zookeeper的序列号

第二台机器上修改myid的值为2

echo 2 > /export/servers/zookeeper-3.4.9/zkdatas/myid

第三台机器上修改myid的值为3

echo 3 > /export/servers/zookeeper-3.4.9/zkdatas/myid

第六步:三台机器启动zookeeper服务

三台机器启动zookeeper服务,这个命令三台机器都要执行

/export/servers/zookeeper-3.4.9/bin/zkServer.sh start

查看启动状态

/export/servers/zookeeper-3.4.9/bin/zkServer.sh status

zkServer.sh start 来启动。

zkServer.sh restart (重启)

zkServer.sh status (查看状态)

zkServer.sh stop (关闭)

zkServer.sh start-foreground (以打印日志方式启动)

看到

server02为leader

server01为follower

server02为follower

第七步:连接到ZooKeeper

在命令行中输入:zkCli.sh

几个zNode节点操作的api简单介绍

create /parh data 创建一个名为/path的zNode节点,并包含数据data

delete /path 删除名为/path的zNode节点

exists /path 检查是否存在名为/path的zNode节点

setData /path data 设置名为/path的zNode的数据为data

getData  /path  返回名为/path的zNode节点的数据信息

getChildren /path 返回所有/path节点的所有子节点列表

 

zNode节点还有不同的类型,持久(persistent)节点和临时(ephemeral)节点。持久的zNode,如/path,只能通过调用delete来进行删除,而临时的zNode则与之相反,当创建该节点的客户端崩溃或者关闭了与ZooKeeper服务器的连接时候,这个临时zNode节点就会被删除了。其中临时节点可用于实现分布式锁

第八步:配置环境变量(非必须)

为了能够在任意目录启动zookeeper集群,我们需要配置环境变量。
ps:你也可以不配,这不是搭建集群的必要操作,只不过如果你不配置环境变量,那么每次启动zookeeper需要到安装文件的 bin 目录下去启动。
首先进入到 /etc/profile 目录,添加相应的配置信息:

#set zookeeper environment
export ZK_HOME=/export/servers/zookeeper-3.4.9
export PATH=${JAVA_HOME}/bin:${ZK_HOME}/bin:$PATH


然后通过如下命令使得环境变量生效:

source /etc/profle
启动命令:zkServer.sh start
停止命令:zkServer.sh stop
重启命令:zkServer.sh restart
查看集群节点状态:zkServer.sh status
以打印日志方式启动:zkServer.sh start-foreground 

 

第九步:启动异常解决方案

只有服务server01上机器启动,server02,server03机器没有启动,查看启动状态报异常

Error contacting service. It is probably not running.
  • 定位问题以打印日志状态启动
  • 可以看出是端口连接不通

  • 但是防火墙端口我已经开放了

  • 最后考虑到阿里云没有打开安全组,添加端口安全组

还是启动不了,最后把配置改成0.0.0.0  不知道为什么本机有hosts映射也不行

发布了38 篇原创文章 · 获赞 26 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/sdrfengmi/article/details/104063083