四、zookeeper-3.4.5-cdh5.3.6集群搭建

可紊 提交于 2020-01-25 08:08:49

①为什么要搭建zookeeper以及zookeeper是什么?

zookeeper是用来做分布式协调的技术框架。我们最后一个模块:实时计算模块,广告流量的实时计算模块,需要用到消息队列,消息队列采取kafka,kafka底层是zookeeper,所以我们必须把zookeeper搭起来。

②拷贝文件

将zookeeper-3.4.5-cdh5.3.6.tar.gz用软件WinSCP拷贝到虚拟机sparkproject1的/usr/local/目录下面。

③解压缩tar包文件

对zookeeper-3.4.5-cdh5.3.6.tar.gz文件进行解压缩,在sparkproject1虚拟机的/usr/local/目录下输入:

tar -zxvf zookeeper-3.4.5-cdh5.3.6.tar.gz

然后在local目录下输入:ll,发现有zookeeper-3.4.5-cdh5.3.6.tar.gz文件和zookeeper-3.4.5-cdh5.3.6文件夹

删除zookeeper-3.4.5-cdh5.3.6.tar.gz文件,留下zookeeper-3.4.5-cdh5.3.6文件夹,

在local目录下输入:rm -rf zookeeper-3.4.5-cdh5.3.6.tar.gz

然后在输入:ll,发现只有zookeeper-3.4.5-cdh5.3.6文件夹、data文件夹、hadoop文件夹、hive文件夹。

④重命名

对zookeeper-3.4.5-cdh5.3.6文件夹重命名,在local目录下输入:mv zookeeper-3.4.5-cdh5.3.6 zk

⑤配置zookeeper相关的环境变量

在local目录下,输入:vi ~/.bashrc

输入键盘 i 键,插入内容:

export ZOOKEEPER_HOME=/usr/local/zk

其他export不变,但PATH的export要多点东西

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bIn:$ZOOKEEPER_HOME/bin

然后按Esc键,再输入:wq,保存退出。

然后source一下,即输入:source ~/.bashrc

⑥配置zoo.cfg文件

在sparkproject1虚拟机的/usr/local/目录下输入:cd zk/conf,进入conf目录

然后输入:ll,发现有zoo-sample.cfg文件

然后将zoo_sample.cfg文件命名为zoo.cfg文件,在conf目录下输入:mv zoo_sample.cfg zoo.cfg

然后在conf目录下输入:vi zoo.cfg

输入键盘 i 键,插入内容:

修改dataDir=......内容为:dataDir=/usr/local/zk/data

并且在文件最末尾新增内容:server.0=sparkproject1:2888:3888

                                               server.1=sparkproject2:2888:3888

                                               server.2=sparkproject3:2888:3888

然后按Esc,输入:wq,保存退出。

⑦设置zk节点标识

在conf目录下输入:cd ..,回到zk目录

在zk目录下输入:mkdir data,在zk目录创建data文件夹

进入data目录,在zk目录下输入:cd data/

输入:ll,发现文件夹内容为空,则正确

然后在data目录输入:vi myid

输入键盘 i 键,插入内容:0

⑧搭建zk集群

在另外两台虚拟机上(另外两个节点上)按照上述步骤配置ZooKeeper,使用scp将zk和~/.bashrc拷贝到sparkproject2和sparkproject3即可,唯一的区别是sparkproject2和3的标识号分别设置成1和2。。

1、先在sparkproject1上输入:cd ~,然后输入:cd /usr/local/,回到local目录

再在local目录输入:ll,发现有zk文件夹就对了

在sparkproject1虚拟机的local目录下输入:scp -r zk root@sparkproject2:/usr/local 

然后在sparkproject1虚拟机的local目录下输入:scp ~/.bashrc root@sparkproject2 :~/

然后在sparkproject2虚拟机的local目录下输入:ll,发现有data文件夹、hadoop文件夹、zk文件夹,就对了。

再在sparkproject2虚拟机的local目录下输入:cat ~/.bashrc

里面内容有:

export JAVA_HOME=/usr/java/latest

export HADOOP_HOME=/usr/local/hadoop

export HIVE_HOME=/usr/local/hive

export ZOOKEEPER_HOME=/usr/local/zk

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$ZOOKEEPER_HOME/bin

就对了

然后需要在sparkproject2虚拟机的local目录source一下,输入:source ~/.bashrc

然后在sparkproject2虚拟机上的local目录输入:cd zk/data/,进入data目录

在sparkproject2虚拟机的data目录输入:ll,发现有myid文件

再在sparkproject2虚拟机的data目录输入:vi myid

输入键盘 i 键,插入内容:

将0改为1,按Esc键,输入:wq,保存退出。

2、在sparkproject1虚拟机的local目录下(因为zk文件夹在这个目录),输入:scp -r zk root@sparkproject3:/usr/local 

然后再在sparkproject1的local目录下输入:scp ~/.bashrc root@sparkproject3 :~/

然后在sparkproject3虚拟机的local目录下输入:ll,发现有data文件夹、hadoop文件夹、zk文件夹,就对了。

再在sparkproject3虚拟机的local目录下输入:cat ~/.bashrc

里面内容有:

export JAVA_HOME=/usr/java/latest

export HADOOP_HOME=/usr/local/hadoop

export HIVE_HOME=/usr/local/hive

export ZOOKEEPER_HOME=/usr/local/zk

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$ZOOKEEPER_HOME/bin

就对了

然后需要在sparkproject3虚拟机的local目录source一下,输入:source ~/.bashrc

然后在sparkproject3虚拟机上的local目录输入:cd zk/data/,进入data目录

在sparkproject3虚拟机的data目录输入:ll,发现有myid文件

再在sparkproject3虚拟机的data目录输入:vi myid

输入键盘 i 键,插入内容:

将0改为2,按Esc键,输入:wq,保存退出。

⑨启动ZooKeeper集群

1、在sparkproject1虚拟机的local目录执行:zkServer.sh start    

     在sparkproject2虚拟机的local目录执行:zkServer.sh start

     在sparkproject3虚拟机的local目录执行:zkServer.sh start

2、在sparkproject1虚拟机的local目录执行:zkServer.sh status    

     在sparkproject2虚拟机的local目录执行:zkServer.sh status

     在sparkproject3虚拟机的local目录执行:zkServer.sh status

可以看到sparkproject1是leader,sparkproject2和3是follower。

3、在sparkproject1虚拟机的local目录执行:jps

     在sparkproject2虚拟机的local目录执行:jps

     在sparkproject3虚拟机的local目录执行:jps

发现三个节点都多了:QuorumPeerMain进程

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!