余老师带你学习大数据-Spark快速大数据处理第三章第二节Hadoop环境搭建

前期准备工作

1、第一步分别建立ZookeeperC1、2、3。
在这里插入图片描述
2、在app11中操作,New terminal.
在这里插入图片描述

3、切换到root用户。
命令:sudo /bin/bash
在这里插入图片描述
4、进入hadoop目录下并查看有哪些文件夹。
命令:cd /hadoop/ls
在这里插入图片描述
5、运行initHost.sh脚本,进行三台机器的认证。
命令:./initHosts.sh
确保我们的三台机器是running状态。
在这里插入图片描述
运行效果:
在这里插入图片描述
6、切换到hadoop用户下,进入hadoop根目录。
命令:su – hadoopcd /hadoop/
在这里插入图片描述
7、启动zookeeper集群。
命令:./startAll.sh
在这里插入图片描述

hadoop环境搭建

安装hadoop安装包

1、在app-11上,切换到hadoop用户。
命令:su - hadoop
注:输入的密码是不显示出来的。
在这里插入图片描述
2、进入hadoop根目录,并查看目录下的文件。
命令:cd /hadoop/
在这里插入图片描述
3、创建一个安装Hadoop的根目录。
命令:mkdir Hadoop
在这里插入图片描述
4、进入到Hadoop目录下。
命令:cd Hadoop/
在这里插入图片描述
5、下载hadoop安装包。
命令:wget https://archive.apache.org/dist/hadoop/common/hadoop-3.1.2/hadoop-3.1.2.tar.gz
在这里插入图片描述
6、解压安装包。
命令:tar -xf hadoop-3.1.2.tar.gz
在这里插入图片描述
7、进入到/tmp目录下。
命令:cd /tmp/
在这里插入图片描述
8、通过GitHub下载Spark-stack。
命令:git clone https://github.com/haiye1018/Spark-stack
在这里插入图片描述
9、进入Spark-stack/目录下。
命令:cd Spark-stack/
在这里插入图片描述
10、 进入Hadoop目录下。
命令:cd Hadoop/
在这里插入图片描述
11、 将conf拷贝到hadoop-3.1.2/etc/hadoop目录下,并查看是否成功。
命令:cp conf/* /hadoop/Hadoop/hadoop-3.1.2/etc/hadoop/cat /hadoop/Hadoop/hadoop-3.1.2/etc/hadoop/workers
在这里插入图片描述
12、在环境变量中加入hadoop和HADOOP_HOME路径。
命令:vi ~/.bashrc
export HADOOP_HOME=/hadoop/Hadoop/hadoop-3.1.2
exporPATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${HADOOP_HOME}/lib:$PATH
在这里插入图片描述
13、将设置的环境变量生效。
命令:source ~/.bashrcecho $PATH
在这里插入图片描述

将hadoop安装包拷贝集群中的另两台机器上

14、先创建安装的根目录。
命令:ssh hadoop@app-12 "mkdir /hadoop/Hadoop"sshhadoop@app-13 "mkdir /hadoop/Hadoop"
在这里插入图片描述
15、将环境变量拷贝到集群的另外两个机器上。
命令:scp ~/.bashrc hadoop@app-12:~/scp ~/.bashrchadoop@app-13:~/
在这里插入图片描述
16、 将改好的安装包拷贝到集群的另外两个机器上。
命令:scp -r -q hadoop-3.1.2 hadoop@app-12:/hadoop/Hadoopscp -r -q hadoop-3.1.2 hadoop@app-13:/hadoop/Hadoop
在这里插入图片描述

hadoop初始化工作

17、 需要将所有的journalnode守护进程启动,接下来是用一个循环脚本启动。
命令:for name in app-11 app-12 app-13; do ssh hadoop@$name"hdfs --daemon start journalnode"; done
在这里插入图片描述
18、 查看journalnode是否启动。
命令:for name in app-11 app-12app-13; do ssh hadoop@$name "jps"; done注:显示的是三个journalnode守护进程,三个zookeeper守护进程。
在这里插入图片描述
19、 在app-11namenode上各式化。
命令:hdfs namenode -format注:会打印很多classpath
在这里插入图片描述
20、 因为是两台namenode做ha,需要在另一台机器上拷贝格式化信息,先关闭所有守护进程。
命令:for name in app-11 app-12 app-13; do ssh hadoop@$name "hdfs--daemon stop journalnode"; done
在这里插入图片描述

创建ha节点

21、创建ha主从应用里zookeeper目录树的目录,先登录到客户端查看ha存不存在。
命令:zkCli.sh
在这里插入图片描述
22、 查看客户端下有什么。
命令:ls /
在这里插入图片描述
23、 只有一个zookeeper节点,ha节点并不存在,退出。
命令:quit

在这里插入图片描述
24、 zookeeper初始化工作。
命令:hdfs zkfc -formatZK -force注:打印很多的classpath
在这里插入图片描述
25、 再次登录到客户端,查看ha节点存不存在。
命令:zkCli.sh
在这里插入图片描述
26、 查看根目录下有什么。
命令:ls /注:这时候有一个hadoop-ha节点
在这里插入图片描述
27、 查看hadoop-ha节点下。
命令:ls /hadoop-ha
在这里插入图片描述
28、 查看dmcluster节点下,dmcluster节点下是空的,dmcluster是ha下的集群。
命令:ls /hadoop-ha/dmcluster
在这里插入图片描述
29、 证明ha节点存在之后,退出。
命令:quit
在这里插入图片描述

将app-11namenode的初始化信息同步到app-12上

30、 先启动dfs整个的系统。
命令:start-dfs.sh
在这里插入图片描述
31、 免密登录到app-12上执行。
命令:ssh hadoop@app-12 "hdfsnamenode -bootstrapStandby"注:打印很多classpath
在这里插入图片描述

启动整个集群检查hdfs和yarn是否成功

32、 关闭整个dfs系统,因为后续需要通过其他途径启动整个集群。
命令:stop-dfs.sh
在这里插入图片描述
33、启动整个集群,时间会比较久。
命令:start-all.sh
在这里插入图片描述
34、检查hdfs和yarn到底是否成功,现将命令打出来。
命令:hdfs haadmin
在这里插入图片描述
35、使用-getAllServiceState这个命令。
命令:hdfs haadmin -getAllServiceState
在这里插入图片描述

36、打印yarn的命令行。
命令:yarn rmadmin
在这里插入图片描述
37、使用-getAllServiceState这个命令。
命令:yarn rmadmin -getAllServiceState
在这里插入图片描述
38、验证整个集群,先看一下hdfs上有什么。命令:hdfs dfs -ls /注:hdfs为空
在这里插入图片描述

测试hadoop集群是否正常启动

1、为测试方便,创建一个目录。
命令:hdfsdfs -mkdir -p /test/data
在这里插入图片描述
2、将所有需要mapreduce数据放在data目录下,将配置文件以xml结尾的上传到data目录里。
命令:hdfs dfs -put /hadoop/Hadoop/hadoop-3.1.2/etc/hadoop/*.xml/test/data
在这里插入图片描述
3、查看是否上传成功。
命令:hdfsdfs -ls /test/data
在这里插入图片描述
4、提交一个mapreduce任务,用hadoop自带的例子。
命令:hadoop jar/hadoop/Hadoop/hadoop-3.1.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.2.jargrep /test/data /test/output "dfs[a-z.]+"
注:使用的是grep参数,输入是test/data输出是test/output,这里的output一定不能存在,存在的话用rm命令删除掉。查询以dfs开头的,以小写字母以及.紧接着相邻的很多+字符的字符串。这个命令执行的时候分两步,第一步是查询,查到做正则表达的那一行,然后做排序。
在这里插入图片描述
在这里插入图片描述
5、整个mapreduce案例已经执行完了,看结果输出什么东西。
命令:hdfs dfs -ls /test/output
注:输出了两个文件,结果在part-r-00000中
在这里插入图片描述
6、查看part-r-00000文件中的内容。命令:hdfs dfs -cat /test/output/part-r-00000
在这里插入图片描述注:数字代表出现的次数,字符串是匹配的字符串。

7、登录管理界面,查看已经执行完的任务。首先点击右侧chrome-browser。
在这里插入图片描述
8、再点击vnc_lite.html.
在这里插入图片描述
9、单击右键,选择Chrome.
在这里插入图片描述
在这里插入图片描述
10、输入网址,app-11:8088,会自动跳转到app-12:8088。
在这里插入图片描述

常见问题

在这里插入图片描述
问题:app-12和app-13的环境变量有问题。解决办法:检查环境变量,如有异常请使用source命令,运行环境变量或者删除workerspace后从头开始创建。

友情提示:详细学习内容可观看Spark快速大数据处理——余海峰https://edu.csdn.net/course/detail/24205

猜你喜欢

转载自blog.csdn.net/weixin_45810046/article/details/108727343