准备工作
1、第一步分别建立SSHEnvC1、2、3
正常运行
2、在SSHEvnC1中操作,New terminal
3、切换到root用户。
命令:sudo /bin/bash
4、进入hadoop目录下并查看有哪些文件夹。
命令:cd /hadoop/
5、运行initHost.sh脚本,进行三台机器的认证:./initHosts.sh 。
命令:./initHosts.sh
运行效果:
安装zookeeper安装包
1、 在app11中操作,切换到hadoop用户,密码Yhf_1018
命令:su – hadoop
注:输入的密码是不显示出来的。
2、 进入hadoop根目录,并查看目录下的文件。
命令:cd /hadoop/
3、创建一个ZooKeeper安装的根目录。
命令:mkdir ZooKeeper
4、 进入到ZooKeeper目录下。
命令:cd ZooKeeper/
5、上传安装包我们这里用的版本是zookeeper-3.4.10,通过wget命令在网上直接上传,wget+网址。
命令:wget http://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
6、 安装包解压,会出现一个zookeeper-3.4.10 的文件夹。
命令:tar -xf zookeeper-3.4.10.tar.gz
7、进入zookeeper-3.4.10文件夹,文件中有一个conf文件。
命令:cd zookeeper-3.4.10
8、 进入conf文件夹,文件中有一个zoo_sample.cfg文件,将zoo_sample.cfg文件改名为zoo.cfg。
命令:mv zoo_sample.cfg zoo.cfg
注:文件名之间要有空格。
9、 查看zoo.cfg内容。
命令:vi zoo.cfg
运行效果:
10、将原文件的dataDir改为/hadoop/ZooKeeper/zookeeper-3.4.10/data
,注:按i进行内容更改,先按ESC再输入:wq进行文件保存并退出。
11、设置集群的server,再刚才的zoo.cfg文件中继续操作,再文件的最后内容中加入
server.1=app-11:2888:3888
server.2=app-12:2888:3888
server.3=app-13:2888:3888
并保存退出。
12、进入上一层目录,目录为zookeeper-3.4.10,该目录下不存在data目录,需要创建data目录和myid文件,myid对应的id为conf的id,打开myid文件。
命令:mkdir data
、touch data/myid
、vi data/myid
运行效果:
13、输入1,这是myid的内容,并保存退出。
14、返回根目录。
命令:cd ..
设置环境变量
1、命令:vi ~/.bashrc
运行效果:
2、设置ZOOKEEPER_HOME目录和PATH目录,在环境变量中加入
export ZOOKEEPER_HOME=/hadoop/ZooKeeper/zookeeper-3.4.10
export PATH=${ZOOKEEPER_HOME}/bin:$PATH
保存并退出。
3、当前的PATH中并没有ZOOKEEPER目录,需要使用source命令让刚刚的修改过的PATH执行。
命令:echo $PATH
、source ~/.bashrc
其他集群设置
1、 首先免密登录到app-12上,进入hadoop目录下创建ZooKeeper文件。
命令:ssh hadoop@app-12 "cd /hadoop && mkdir ZooKeeper"
2、所有的集群目录都是一样,需要将整个zookeeper安装包拷贝到其他集群的机器上。
命令:scp -r zookeeper-3.4.10 hadoop@app-12:/hadoop/ZooKeeper
注:-r是表示拷贝整个目录。
运行效果:
3、需要将app-12的myid改为2。
登录app-12。
命令:ssh hadoop@app-12
4、进入ZooKeeper目录下,有zookeeper-3.4.10证明刚才的拷贝完成。
命令:cd /hadoop/ZooKeeper/
5、 进入到zookeeper-3.4.10/data目录下,打开myid文件。
命令:cd zookeeper-3.4.10/
、cd data/
、vi myid
运行效果:
6、 将1改为2,并保存退出。
7、退出app-12。
命令:exit
8、将环境变量拷贝到app-12上,进行覆盖拷贝。
命令:
scp ~/.bashrc hadoop@app-12:~/
app-12完成。同理,在app-13上执行。
9、在app-13上创建目录,并拷贝文件,这里使用的是静默拷贝。
命令:ssh hadoop@app-13 "cd /hadoop && mkdir ZooKeeper"
scp -r -p zookeeper-3.4.10
hadoop@app-13:/hadoop/ZooKeeper/
10、拷贝环境变量。
命令:scp ~/.bashrc hadoop@app-13:~/
11、登录到app-13上修改myid文件。
命令:ssh hadoop@app-13
vi /hadoop/ZooKeeper/zookeeper-3.4.10/data/myid
运行效果:
12、将1修改为3,并保存退出。
13、退出app-13。
检验是否成功
分别登录app-11、app-12、app-13,执行命令:zkServer.sh start
,成功运行出效果图,证明成功。
常见问题
问题:zkServer.sh start无法正常运行。
解决办法:检查zookeeper的环境变量是否正确。
含义是:免密登录APP-13并在app-13用户中进行zkServer.sh status操作。
hadoop@app-13和“zkServer.sh status”之间一定要有空格。
问题:可能网络不稳定,缺少某个插件。
解决办法:重新刷新。
问题:运行失败。
解决办法:重新刷新运行。
问题:该错误为当前用户没有权限对文件作修改。
解决办法:按ESC在输入:q!退出即可。
问题:在执行zkServer.sh start时出现的弹框。
解决办法:直接点x就可以。
问题:网络出现波动。
解决办法:多几次刷新页面,重新进入Workspace或者重新登录she平台。
友情提示:详细学习内容可观看Spark快速大数据处理——余海峰https://edu.csdn.net/course/detail/24205