- Hadoop 2.7.1环境搭建
- 1、购买华为云服务器
- 2、修改服务器相关配置
- 3、配置ssh免密登录
- 4、JDK安装
- 5、Hadoop集群搭建
- Spark 3.2.0集群环境搭建
- 1、Spark安装
- 2、Spark文件配置
- 3、启动Spark集群
- 4、关闭Spark集群
Hadoop 2.7.1环境搭建 1、购买华为云服务器所使用安装包及对应版本:
- JDK 8
- Hadoop 2.7.1
- Spark 3.2.0
在华为云平台购买3台centosd性云服务器,一台作为master,另外两台作为slave。它们在同一内网中,相互之间是能ping通的。
1. CloudShell远程登录master主机,使用如下命令修改主机名为master:
# hostname master
再进入/etc/hostname文件,修改文件内容为master,重新建立会话连接,就能看到主机名已经被修改为master。
同理,修改另外两台服务器主机名分别为slave01,slave02。
2. 分别进入三台主机的/etc/hosts文件,修改配置为
127.0.0.1 localhost 192.168.0.90 master 192.168.0.137 slave01 192.168.0.48 slave02
这样,不需要输入IP地址,只需输入相应主机名就能ping通对应主机。
在master主机上输入如下命令并输入对应密码即可登录slave01主机:
# ssh slave01
但在Hadoop集群环境中不可能每次都要master输入slave的密码,所以需要配置ssh免密登录。华为云d性云服务器默认配置了ssh服务,可通过如下命令查看ssh服务状态,出现sshd进程则表示服务已经启动。
# ps -e | grep ssh
在master主机上输入如下命令,遇到选项全部回车或者yes即可。注:这里需要输入一次slave01和slave02的密码。
# cd /root/.ssh # ssh-keygen -t rsa # ssh-copy-id -i /root/.ssh/id_rsa.pub master # ssh-copy-id -i /root/.ssh/id_rsa.pub slave01 # ssh-copy-id -i /root/.ssh/id_rsa.pub slave01
配置完成后,若通过命令ssh slave01和ssh slave02能直接登录slave01和slave02主机,则免密登录配置完成。
4、JDK安装在Hadoop官网上看到不同版本的Hadoop支持的jdk版本: Hadoop对应jdk版本
可以看到Hadoop 2.0支持Java 7和Java 8(更高的版本会报错),这里提供本文使用的JDK8网盘链接。
链接:https://pan.baidu.com/s/1vZzs0E_3aSxRuUqoPW8C6g
提取码:vwk5
在master主机的/usr/local目录下新建java文件夹,将下载好的JDK8安装包上传到java文件夹中。并使用如下命令进行压缩包的解压:
# cd /usr/local/java # tar -zxvf jdk-8u202-linux-x64.tar.gz
效果如图:
使用如下命令打开/etc/profile配置文件:
# vim /etc/profile
在文件末行添加如下java环境变量:
export JAVA_HOME=/usr/local/java/jdk1.8.0_202 export CLASSPATH=:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
输入如下命令使配置文件生效:
# source /etc/profile
可输入命令java或javac来查看JDK是否安装成功。
在主机slave01和slave02上使用同样的方法进行JDK的安装,或者使用如下文件拷贝命令将master整个java目录拷贝给slave01和slave02:
# scp -r /usr/local/java/ root@slave01:/usr/local/java/ # scp -r /usr/local/java/ root@slave02:/usr/local/java/
注:slave01与slave02的java环境变量也要记得配。
5、Hadoop集群搭建1、环境配置
本文搭建的Hadoop平台版本为2.7.1,这里附上百度网盘链接。
链接:https://pan.baidu.com/s/1HwmgNu502HmYBcZRhbUjgg
提取码:9t4d
在master主机的/usr/local目录下新建hadoop文件夹,将下载好的hadoop压缩包上传到该文件夹中,使用如下命令进行解压:
# cd /usr/local/hadoop # tar -zxvf hadoop-2.7.1.tar.gz
修改配置文件/etc/profile,添加如下配置:
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.1 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
输入命令使配置文件生效:
# source /etc/profile
2、修改相关文件
修改master主机中Hadoop的如下配置文件,这些配置文件都位于/usr/local/hadoop/hadoop-2.7.1/etc/hadoop目录下。
- 修改slaves文件,这里让master节点主机仅作为NameNode节点使用。
slave01 slave02
- 修改hadoop-env.sh export JAVA_HOME项:
export JAVA_HOME=/usr/local/java/jdk1.8.0_202
注:这里需要显示申明JAVA_HOME,不然会在运行的时候出现找不到java路径的错误。
- 修改core-site.xml:
hadoop.tmp.dir file:/usr/local/hadoop/hadoop-2.7.1/tmp Abase for other temporary directories. fs.defaultFS hdfs://master:9000
- 修改hdfs-site.xml:
dfs.replication 3 dfs.namenode.http-address master:50070 dfs.namenode.secondary.http-address master:50090 dfs.namenode.name.dir file:/usr/local/hadoop/hadoop-2.7.1/hdfs/name dfs.datanode.data.dir file:/usr/local/hadoop/hadoop-2.7.1/hdfs/data
- 修改mapred-site.xml:
将mapred-site.xml.template文件内容复制到mapred-site.xml,再修改mapred-site.xml文件。相关命令和修改内容如下:
# cd /usr/local/hadoop/hadoop-2.7.1/etc/hadoop # cp mapred-site.xml.template mapred-site.xml
mapreduce.framework.name yarn
- 修改yarn-site.xml:
yarn.nodemanager.aux-services mapreduce_shuffle yarn.resourcemanager.hostname master
3、slave节点配置Hadoop
通过如下命令将master主机的hadoop目录拷贝给slave01和slave02。
# scp -r /usr/local/hadoop/ root@slave01:/usr/local/hadoop/ # scp -r /usr/local/hadoop/ root@slave02:/usr/local/hadoop/
再配置/etc/profile文件中Hadoop相关环境变量即可。
4、启动Hadoop集群
在master主机中输入如下命令即可启动Hadoop集群:
# cd /usr/local/hadoop/hadoop-2.7.1 # bin/hdfs namenode -format # sbin/start-all.sh
在master主机中输入命令jps即可看到如下进程信息。
在slave01中输入命令jps即可看到如下进程信息。
注:关闭Hadoop集群命令如下,尽量保证服务有开就有停,可以避免很多问题出现。
# sbin/stop-all.sh
5、查看Hadoop管理页面
浏览器输入http://master公网IP:50070即可访问到如下Hadoop管理页面。
注:若打不开Hadoop管理页面,可能是HDFS中NameNode的默认端口50070没有开放。在华为云服务器安全组中添加如下规则即可。
Spark分布式集群的安装环境,需要事先配置好Hadoop的分布式集群环境。可以去Apache官网下载与Hadoop匹配的Spark版本。
这里附上本文使用的Spark 3.2.0网盘链接。
链接:https://pan.baidu.com/s/1R40ZXixzRyPT04uGhBgKfw
提取码:35fl
这里同样先搭建master主机的Spark环境,再通过文件拷贝搭建slave01与slave02环境。在master主机的/usr/local目录下新建spark文件夹,将下载好的Spark压缩包上传到该文件夹中,使用如下命令进行解压,并修改文件夹名称为spark-3.2.0:
# cd /usr/local/spark # tar -zxvf spark-3.2.0-bin-hadoop2.7.tgz # mv spark-3.2.0-bin-hadoop2.7 spark-3.2.0
打开/etc/profile文件,添加如下配置:
export SPARK_HOME=/usr/local/spark/spark-3.2.0 export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
并使用如下命令使配置生效:
# source /etc/profile2、Spark文件配置
在master主机上进行如下 *** 作:
- 配置workers文件:
将workers.template 拷贝到workers
# cd /usr/local/spark/spark-3.2.0/conf # cp workers.template workers
workers文件设置Worker节点,把默认内容localhost替换成如下内容:
slave01 slave02
- 配置spark-env.sh文件:
将 spark-env.sh.template 拷贝到 spark-env.sh
#cp spark-env.sh.template spark-env.sh
编辑spark-env.sh,添加如下内容:
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/hadoop-2.7.1/bin/hadoop classpath) export HADOOP_CONF_DIR=/usr/local/hadoop/hadoop-2.7.1/etc/hadoop export SPARK_MASTER_IP=192.168.0.90 export JAVA_HOME=/usr/local/java/jdk1.8.0_202
注:
① SPARK_MASTER_IP 指定 Spark 集群 Master 节点的 IP 地址。
② 最后一行的JAVA_HOME一定要申明,不然会出现slave节点找不到JAVA_HOME的错误。
配置好后,将Master主机上的/usr/local/spark文件夹复制到各个节点上。在Master主机上执行如下命令:
# scp -r /usr/local/spark/ root@slave01:/usr/local/spark/ # scp -r /usr/local/spark/ root@slave02:/usr/local/spark/
注:别忘了配置slave01与slave02的/etc/profile文件。
3、启动Spark集群1、启动Hadoop集群
启动Spark集群前,要先启动Hadoop集群。在Master节点主机上运行如下命令:
# cd /usr/local/hadoop/hadoop-2.7.1 # sbin/start-all.sh
2、启动Spark集群
- 启动Master节点
在Master节点主机上运行如下命令:
# cd /usr/local/spark/spark-3.2.0 # sbin/start-master.sh
在Master节点上运行jps命令,可以看到多了个Master进程:
- 启动所有Slave节点
在Master节点主机上运行如下命令:
# sbin/start-slaves.sh
分别在slave01、slave02节点上运行jps命令,可以看到多了个Worker进程
3、在浏览器上查看Spark独立集群管理器的集群信息
打开浏览器,访问http://master公网IP:8080,如下图:
注:若无法访问,可能是安全组8080端口未开放,安全组中开放8080端口即可。
1、关闭master节点
# sbin/stop-master.sh
2、关闭Worker节点
# sbin/stop-slaves.sh
3、关闭Hadoop集群
# cd /usr/local/hadoop/hadoop-2.7.1 # sbin/stop-all.sh
参考文档:
http://dblab.xmu.edu.cn/blog/1177-2/
http://dblab.xmu.edu.cn/blog/1187-2/
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)