1. 实训目标
(1)熟悉掌握使用在Linux下安装JDK。
(2)熟悉掌握使用在Linux下安装Hadoop。
(3)熟悉掌握使用配置SSH免密登录。
2. 实训环境 与软件
|--------------|-----------------|----------------------------|
| 环境 | 版本 | 说明 |
| Windows 10系统 | 64位 | 操作电脑配置 |
| VMware | 16 | 用于搭建所需虚拟机Linux系统 |
| Linux系统 | CentOS 7 | 已配置完成 |
| hadoop | 192.168.213.200 | 用于安装JDK与Hadoop伪分布式的搭建 |
| 软件 | 版本 | 说明 |
| JDK | 1.8 | jdk-8u161-linux-x64.tar.gz |
| Hadoop | 3.1.4 | hadoop-3.1.4.tar.gz |
3. 实训说明
在实际应用中,如果是做简单的测试数据不大,可以使用Hadoop伪分布式集群来运算。Hadoop伪分布式部署的步骤流程与分布式的相差不大,相对来说要更简单些。集群的配置需要具体问题具体分析,根据业务需求搭建合适的集群环境。因此,请基于Hadoop 3.1.4版本,安装并部署伪分布式Hadoop集群,巩固Hadoop集群的搭建操作,加深对Haddop的理解。
4. 实训步骤
4.1 FinalShell远程连接Linux系统
(1)使用命令"ifconfig"查看虚拟机的IP地址。
(2)打开Final shell连接Linux系统。
4.2 修改主机别名为hadoop
(1)使用hostnamectl命令设置主机别名,最后重启reboot。
java
hostnamectl set-hostname hadoop
reboot
(2)使用命令"host"查看修改后的主机名。
(3)进入hosts文件里面添加IP与主机别名的映射关系。
java
vi /etc/hosts
192.168.213.200 hadoop
4.3 设置SSH免密登录
(1)使用"ssh-keygen -t rsa"命令,接着按3次"Enter"键。ssh-keygen产生公钥与私钥(可以进入.ssh目录中查看,id_rsa:私钥,id_rsa.pub :公钥)。
(2)使用命令"ssh-copy-id"将公钥复制至master,输入ssh-copy-id hadoop后,输入yes和密码。
(3)验证免密登录是否成功,输入ssh hadoop命令。
4. 4 安装JDK
(1)将JDK安装包jdk-8u161-linux-x64.tar.gz上传至虚拟机master的/opt目录下,进入/opt目录下,使用"tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/local/"命令将JDK解压安装到/usr/local目录下,具体实现如下所示。
java
cd /opt/
tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/local/
(2)验证JDK是否配置成功,使用"java -version"命令查看Java版本。具体实现如代码所示。
4.5 安装Hadoop ,配置jdk和hadoop的环境变量
(1)将Hadoop安装包hadoop-3.1.4.tar.gz上传至虚拟机master的/opt目录下,使用"tar -zxvf hadoop-3.1.4.tar.gz -C /usr/local"命令,将Hadoop安装包解压至master的/usr/local目录下。
java
cd /opt/
tar -zxvf hadoop-3.1.4.tar.gz -C /usr/local/
(2)配置jdk和hadoop的环境变量。使用命令"vi /etc/profile"在hadoop节点上修改/etc/profile文件,在文件末尾添加如下代码内容,文件修改完保存退出,然后使用"source /etc/profile"命令使配置生效。
代码4.4-1 设置Jdk和Hadoop环境变量
java
export JAVA_HOME=/usr/local/jdk1.8.0_161
export HADOOP_HOME=/usr/local/hadoop-3.1.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
(3)使用"source /etc/profile"命令使配置生效。
(4)使用jps和javac命令测试一下是否配置成功。
4.6 配置Hadoop相关文件
使用命令"cd /usr/local/hadoop-3.1.4/etc/hadoop/ "进入/usr/local/hadoop-3.1.4/etc/hadoop目录。依次修改core-site.xml、hadoop-env.sh、hdfs-site.xml、mapred-site.xml、yarn-site.xml共5个配置文件的内容,具体操作步骤如下。
(1)使用命令"vi core-site.xml"打开文件。hadoop.tmp.dir配置了Hadoop的临时文件的目录。添加的内容如代码4.5-1所示。
代码4.5-1 修改core-site.xml
java
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop-3.1.4/tmp</value>
</property>
</configuration>
(2)使用命令"**vi **hadoop-env.sh"****打开文件。hadoop-env.sh文件设置了Hadoop运行基本环境的配置,需要修改JDK所在目录。修改内容如代码4.5-2所示。
代码4.5-2 修改hadoop-env.sh
java
export JAVA_HOME=/usr/local/jdk1.8.0_161
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
(3)使用命令**"vi hdfs-site.xml"**打开文件。hdfs-site.xml设置了HDFS相关的配置,修改内容如代码4.5-3所示。
代码4.5-3 修改hdfs-site.xml文件
java
<configuration>
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop:9870</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop:9868</value>
</property>
</configuration>
(4)使用命令"vi mapred-site.xml ****"****打开文件,mapred-site.xml文件添加的内容如代码4.54所示。
代码4.5-4 mapred-site.xml文件添加的内容
java
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
(5)使用命令"vi yarn-site.xml ****"****打开文件,yarn-site.xml文件修改的内容如代码4.5-5所示。
代码4.5-5 yarn-site.xml文件修改的内容
java
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop</value>
</property>
</configuration>
4.7 启动Hadoop
(1)在首次启动签需要使用命令"hdfs namenode -format"格式化NameNode。
(2)格式化完成后即可启动Hadoop集群,使用命令"start-all.sh"可启动Hadoop集群。
(3)集群启动之后,使用"jps"命令,出现如下图所示的6个进程信息,说明集群启动成功。
4.8 查看HDFS对应的webUI(必须要先关闭防火墙)
首先查看防火墙的状态:firewall-cmd --state
如果防火墙为开启状态,需要关闭防火墙:systemctl stop firewalld.service
浏览器输入网址:http://192.168.25.200:9870