栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

zookeeper 集群部署和shell测试运行

zookeeper 集群部署和shell测试运行

这篇文章在以下文章全部完成之后

Zookeeper环境准备(三台虚拟机)_cxy好好先生的博客-CSDN博客集群脚本的准备最近在学zookeeper,发现scp这东西真好用,可以给其他节点传输文件,非常的方便。但是拷贝文件到各个节点,节点数量少还是挺方便的,但是节点一多起来,就会发现重复的工作增加了好多,相同的命令需要输入好多次,而且接受的用户名如果改错了还会浪费时间。所以每次都用scp远程命令去拷贝不现实,所以现在编写一个分发脚本,单命令可以分发到各个节点。(以下是三台已经互相ssh免密登录的虚拟机centos7)1.创建/home/hadoop/tools 脚本存放目录(以下所有需要在ha..https://blog.csdn.net/weixin_52105111/article/details/123268361

一.jdk安装

1.上传安装包

在windows系统下载jdk,我这里选择的版本是linux的17.0.2,将压缩包通过xftp软件直接上传到虚拟机hadoop01 的/home/hadoop/app 文档中

2.解压JDK(hadoop01上)

tar -zxvf  安装包名称   #进行解压

3.创建软连接

ln -s jdk-17.0.2  jdk            #jdk-17.0.2文件夹名是你自己的要修改

为了方便版本的更换和学习使用,可以创建软连接jdk指向真是安装路径,可以使用以上命令

4.配置环境变量

配置文档有两种

第一:/etc/profile

如果你的计算机仅仅作为开发使用时推荐这种算法,因为所有用户的shell都有权使用这些环境变量,这些环境变量,可能会给系统带来安全性问题,这里是针对所有用户的,所有shell。

第二:~/.bashrc

这种方法更安全,它可以把这些环境变量的权限控制到用户级别,这里是只针对摸一个特定用户,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bashrc文件就可以了。(在hadoop用户下)

vim ~/.bashrc

这样jdk就配置好了

保存文件

然后

source ~/.bashrc

java -version

如果出现Java版本就是配置正确。

 5.将jdk 分发到其他slave节点

deploy.sh jdk17.0.2 /home/hadoop/app slave

deploy.sh 脚本的配置请参考

Zookeeper环境准备(三台虚拟机)_cxy好好先生的博客-CSDN博客集群脚本的准备最近在学zookeeper,发现scp这东西真好用,可以给其他节点传输文件,非常的方便。但是拷贝文件到各个节点,节点数量少还是挺方便的,但是节点一多起来,就会发现重复的工作增加了好多,相同的命令需要输入好多次,而且接受的用户名如果改错了还会浪费时间。所以每次都用scp远程命令去拷贝不现实,所以现在编写一个分发脚本,单命令可以分发到各个节点。(以下是三台已经互相ssh免密登录的虚拟机centos7)1.创建/home/hadoop/tools 脚本存放目录(以下所有需要在ha..https://blog.csdn.net/weixin_52105111/article/details/1232683616.其他节点也要和master节点一样创建软连接,配置环境变量,直到java -version能出现java版本

二.zookeeper集群部署

1.下载zookeeper

我选择的是apache的3.6.0版本

Index of /dist/zookeeperhttp://archive.apache.org/dist/zookeeper

 这里有个坑,不要下载下面那个压缩包,要下载上面那个带bin的压缩包,因为下面那个不知道什么原因zookeeper安装好后启动,没有相应的进程,当时看了半天在日志里看到了错误,去网上搜索才发现很多人用下面和我一样碰到了同样的问题。

下载好后还是用Xftp传输到 虚拟机hadoop01的/home/hadoop/app 目录下

 

2.解压压缩包(hadoop01上)

tar -zxvf  压缩包名称  

删除压缩包

rm 压缩包名称

 

3.创建软连接

ln -s  zk文件夹名称   zookeeper

4.配置zookeeper环境变量

先进入/home/hadoop/app/zookeeper/conf

创建一个环境变量文件,先复制zoo_sample.cfg    一个命名为zoo.cfg并进入编辑模式

cp zoo_sample.cfg   zoo.cfg

vim zoo.cfg

 

# The number of milliseconds of each tick
# 这个时间是作为Zookeeper服务器之间或者客户端与服务器>之间维持心跳的时间间隔  
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take

# 配置 Zookeeper 接受客户端初始化连接时最长能接受多少>个心跳时间间隔
initLimit=10

# The number of ticks that can pass between 
# sending a request and getting an acknowledgement

# Leader 与 Follower 之间发送消息,请求和应答时间长度
syncLimit=5

# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.

# 数据目录需提前创建
dataDir=/home/hadoop/data/zookeeper/zkdata

# 日志目录需提前创建
dataLogDir=/home/hadoop/data/zookeeper/zkdatalog

# the port at which the clients will connect
# 访问端口号
clientPort=2181

# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

## Metrics Providers
# https://prometheus.io Metrics Exporter
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true
#server.每个节点服务编号=服务器ip地址:集群通信端口:>选举端口

server.1=0.0.0.0:2888:3888     #第一个原本应该是hadoop01 ,但是有问题后来才知道本机应该用0.0.0.0,所以在hadoop02上应该是server.2 的第一个变为0.0.0.0,hadoop03应该是 server.3 的第一个变为0.0.0.0

server.2=hadoop02:2888:3888
server.3=hadoop03:2888:3888


###这里的server.X中的X 与后面的zkdata文件夹里的myid有着联系,hadoop01 X和myid文件中就是1。

5.将zookeeper分发到各个节点

deploy.sh /home/hadoop/app/apache-zookeeper-3.5.0-bin   /home/hadoop/app  slave

同样也是创建软连接

不说了这里。

6.在各个节点创建data文件

runRemoteCmd.sh "mkdir -p /home/hadoop/data/zookeeper/zkdata" all

runRemoteCmd.sh "mkdir -p /home/hadoop/data/zookeeper/zkdatalog" all

runRemoteCmd.sh 脚本文件配置先看:

Zookeeper环境准备(三台虚拟机)_cxy好好先生的博客-CSDN博客集群脚本的准备最近在学zookeeper,发现scp这东西真好用,可以给其他节点传输文件,非常的方便。但是拷贝文件到各个节点,节点数量少还是挺方便的,但是节点一多起来,就会发现重复的工作增加了好多,相同的命令需要输入好多次,而且接受的用户名如果改错了还会浪费时间。所以每次都用scp远程命令去拷贝不现实,所以现在编写一个分发脚本,单命令可以分发到各个节点。(以下是三台已经互相ssh免密登录的虚拟机centos7)1.创建/home/hadoop/tools 脚本存放目录(以下所有需要在ha..https://blog.csdn.net/weixin_52105111/article/details/123268361

 7.修改每个节点服务编号

分别到每个节点中进入/home/hadoop/data/zookeeper/zkdata 目录中,创建文件myid,里面的内容分别填充为 1, 2 ,3. (不要有空格)

配置好后用脚本查看各个节点myid,1,2,3

runRemoteCmd.sh "cat /home/hadoop/data/zookeeper/zkdata/myid"  all

 

 三.启动zookeeper

1.在hadoop01节点用脚本启动所有节点的zookeeper

在/home/hadoop/app/zookeeper/bin/这个文件夹中有很多脚本

runRemoteCmd.sh "/home/hadoop/app/zookeeper/bin/zkServer.sh start" all

 

2.查看zookeeper的状态

home/hadoop/app/zookeeper/bin/zkServer.sh status" all

 这就算启动成功了

四.zookeeper shell 测试运行

在/home/hadoop/app/zookeeper文件夹中 进入zookeeper

bin/zkCli.sh
ls / 查看目录  (可以把zookeeper里的ls看作linux中的cd)


get /zookeeper/quota  查看文件


hlep  查看操作

create  /test  "test"   #创建一个内容和名称都为test的文件

delete /test       删除/test文件


quit  #退出zookeeper

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/752950.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号