(1)熟悉掌握使用在Linux下安装JDK。
(2)熟悉掌握使用在Linux下安装Hadoop。
(3)熟悉掌握使用配置SSH免密登录。
环境 | 版本 | 说明 |
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 |
在实际应用中,如果是做简单的测试数据不大,可以使用Hadoop伪分布式集群来运算。Hadoop伪分布式部署的步骤流程与分布式的相差不大,相对来说要更简单些。集群的配置需要具体问题具体分析,根据业务需求搭建合适的集群环境。因此,请基于Hadoop 3.1.4版本,安装并部署伪分布式Hadoop集群,巩固Hadoop集群的搭建操作,加深对Haddop的理解。
(1)使用命令“ifconfig”查看虚拟机的IP地址。
(2)打开Final shell连接Linux系统。
(1)使用hostnamectl命令设置主机别名,最后重启reboot。
- hostnamectl set-hostname hadoop
- reboot
(2)使用命令“host”查看修改后的主机名。
(3)进入hosts文件里面添加IP与主机别名的映射关系。
- vi /etc/hosts
- 192.168.213.200 hadoop
(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命令。
(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目录下,具体实现如下所示。
- cd /opt/
- tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/local/
(2)验证JDK是否配置成功,使用“java -version”命令查看Java版本。具体实现如代码所示。
(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目录下。
- 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环境变量
- 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命令测试一下是否配置成功。
使用命令“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所示。
-
-
fs.defaultFS -
hdfs://hadoop:8020 -
-
-
hadoop.tmp.dir -
/usr/local/hadoop-3.1.4/tmp -
(2)使用命令“vi hadoop-env.sh”打开文件。hadoop-env.sh文件设置了Hadoop运行基本环境的配置,需要修改JDK所在目录。修改内容如代码4.5-2所示。
代码4.5-2 修改hadoop-env.sh
- 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所示。
-
dfs.namenode.http-address -
hadoop:9870 -
-
-
dfs.namenode.secondary.http-address -
hadoop:9868
(4)使用命令“vi mapred-site.xml”打开文件,mapred-site.xml文件添加的内容如代码4.54所示。
代码4.5-4 mapred-site.xml文件添加的内容
-
mapreduce.framework.name -
yarn
(5)使用命令“vi yarn-site.xml”打开文件,yarn-site.xml文件修改的内容如代码4.5-5所示。
-
yarn.nodemanager.aux-services -
mapreduce_shuffle -
-
-
-
yarn.resourcemanager.hostname -
hadoop
(1)在首次启动签需要使用命令“hdfs namenode -format”格式化NameNode。
(2)格式化完成后即可启动Hadoop集群,使用命令“start-all.sh”可启动Hadoop集群。
(3)集群启动之后,使用“jps”命令,出现如下图所示的6个进程信息,说明集群启动成功。
首先查看防火墙的状态:firewall-cmd --state
如果防火墙为开启状态,需要关闭防火墙:systemctl stop firewalld.service
浏览器输入网址:http://192.168.25.200:9870