Hadoop集群部署


任务描述

本关任务:在右侧命令行中完成 Hadoop 集群的部署,安装和管理。

相关知识

为了完成本关任务,你需要掌握: 1.主机映射; 2.免密登录; 3.安装JDK; 4.Hadoop 完全分布式搭建。

主机映射

先查看各节点查看 ip 地址

master:

图 1


查看 master 节点 IP

slave1:

图 1


查看 slave1 节点 IP

slave2:

图 1


查看 slave2 节点 IP

接下来去设置主机映射,因为我们是搭建完全分布式,所以在设置映射的时候需要设置 3 台虚拟机的映射关系。

输入命令 vi /etc/hosts进行主机 ip 的映射设置,添加如下配置:

 
  1. #master、slave1、slave2
  2. 172.16.248.174 master
  3. 172.16.251.34 slave1
  4. 172.16.240.174 slave2

注:需要根据自身节点 ip 地址去配置,每次重置环境会刷新 ip 地址。

图 1


配置主机映射

操作示意图如下:

图 1


主机映射操作示意图

免密登录

在各节点服务器生成秘钥:

 
  1. #master、slave1、slave2
  2. ssh-keygen -t rsa

,

在 master 复制 master、slave1、slave2 的公钥。

 
  1. cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
  2. ssh slave1 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
  3. ssh slave2 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys

,

接下来来查看下 slave1 节点连接密码,首先点击 slave1 命令行窗口,再点击右上角

,

图标,最后点击 SSH 直连即可查看相关信息,如下示意图:

,

点开后,查看密码:

,

注:密码可双击选中后复制,但环境重置后密码会随机生成。

在 slave1 复制 master 的 authorized_keys 文件。

 
  1. ssh master cat ~/.ssh/authorized_keys>> ~/.ssh/authorized_keys

在 slave2 复制 master 的 authorized_keys 文件。

 
  1. ssh master cat ~/.ssh/authorized_keys>> ~/.ssh/authorized_keys

操作示意图如下:

图 1


免密登录操作示意图

安装 JDK

解压

首先在右侧命令行中创建一个/app文件夹,我们之后的软件都将安装在该目录下。 命令:mkdir /app

然后,切换到/opt目录下,来查看一下提供的压缩包

,

可以看到我们已经帮你下载好了 JDK 的安装文件。

现在我们解压 JDK 并将其移动到/app目录下

tar -zxvf jdk-8u11-linux-x64.tar.gz mv jdk1.8.0_11/ /app

可以切换到/app目录下查看解压好的文件夹

,

配置环境变量

解压好 JDK 之后还需要在环境变量中配置 JDK ,才可以使用,接下来就来配置 JDK 。 输入命令:vim /etc/profile 编辑配置文件;

在文件末尾输入如下代码:

,

最后:source /etc/profile使刚刚的配置生效

输入:java -version 出现如下界面代表配置成功。

,

在 slave1 和 slave2 节点各创建一个/app文件夹 命令:mkdir /app

将解压好的 JDK 与配置文件通过 scp 命令发送至 slave1、slave2 中

 
  1. #发送 JDK
  2. scp -r /app/jdk1.8.0_11 root@slave1:/app
  3. scp -r /app/jdk1.8.0_11 root@slave2:/app
  4. #发送配置文件
  5. scp /etc/profile root@slave1:/etc/
  6. scp /etc/profile root@slave2:/etc/

在各节点上分别执行source /etc/profile,使配置文件生效。

操作示意图如下:

图 1


安装 JDK 操作示意图

Hadoop 完全分布式搭建

下面对 Hadoop 的压缩包进行解压,我们切换到 /bigfiles目录下:cd /data/bigfiles/ 可看到所提供的的压缩包。

,

解压文件并移动到/app目录下。 tar -zxvf hadoop-3.1.0.tar.gz -C /app

切换到\app目录下修改一下 hadoop 文件夹的名字。 mv hadoop-3.1.0/ hadoop3.1

,

接下来我们要开始修改 Hadoop 的配置文件了,总共需要修改6个文件。分别是:

hadoop-env.sh; yarn-env.sh ; core-site.xml; hdfs-site.xml; mapred-site.xml; yarn-site.xml。

我们一个一个接着来配置吧!

hadoop-env.sh 配置

两个env.sh文件主要是配置 JDK 的位置。

首先我们切换到 hadoop 目录下

cd /app/hadoop3.1/etc/hadoop/

编辑vi hadoop-env.sh 在文件中插入如下代码:

 
  1. # The java implementation to use.
  2. #export JAVA_HOME=${JAVA_HOME}
  3. export JAVA_HOME=/app/jdk1.8.0_11

yarn-env.sh 配置

编辑vi yarn-env.sh 插入如下代码:

export JAVA_HOME=/app/jdk1.8.0_11

,

core-site.xml配置

这个是核心配置文件我们需要在该文件中加入 HDFS 的 URI 和 NameNode 的临时文件夹位置,这个临时文件夹在下文中会创建。

在文件末尾的 configuration 标签中添加代码如下:

 
  1. <configuration>
  2. <property>
  3. <name>fs.default.name</name>
  4. <value>hdfs://localhost:9000</value>
  5. <description>HDFS的URI,文件系统://namenode标识:端口号</description>
  6. </property>
  7. <property>
  8. <name>hadoop.tmp.dir</name>
  9. <value>/usr/hadoop/tmp</value>
  10. <description>namenode上本地的hadoop临时文件夹</description>
  11. </property>
  12. </configuration>

hdfs-site.xml文件配置

replication指的是副本数量,我们现在是单节点,所以是1

 
  1. <configuration>
  2. <property>
  3. <name>dfs.name.dir</name>
  4. <value>/usr/hadoop/hdfs/name</value>
  5. <description>namenode上存储hdfs名字空间元数据 </description>
  6. </property>
  7. <property>
  8. <name>dfs.data.dir</name>
  9. <value>/usr/hadoop/hdfs/data</value>
  10. <description>datanode上数据块的物理存储位置</description>
  11. </property>
  12. <property>
  13. <name>dfs.replication</name>
  14. <value>1</value>
  15. </property>
  16. </configuration>

mapred-site.xml文件配置

mapred-site.xml包括 JobHistoryServer 和应用程序参数两部分,在文件末尾的configuration标签中添加代码如下:

 
  1. <configuration>
  2. <property>
  3. <name>mapreduce.framework.name</name>
  4. <value>yarn</value>
  5. </property>
  6. </configuration>

yarn-site.xml配置

Yarn 的站点配置文件是 yarn-site.xml,将以下代码填充到文件的末尾的configuration标签中。

 
  1. <configuration>
  2. <property>
  3. <name>yarn.nodemanager.aux-services</name>
  4. <value>mapreduce_shuffle</value>
  5. </property>
  6. <property>
  7. <name>yarn.resourcemanager.webapp.address</name>
  8. <value>192.168.2.10:8099</value>
  9. <description>这个地址是mr管理界面的</description>
  10. </property>
  11. </configuration>

创建文件夹

我们在配置文件中配置了一些文件夹路径,现在我们来创建他们,在/usr/hadoop/目录下使用hadoop用户操作,建立tmphdfs/namehdfs/data目录,执行如下命令:

 
  1. mkdir -p /usr/hadoop/tmp
  2. mkdir /usr/hadoop/hdfs
  3. mkdir /usr/hadoop/hdfs/data
  4. mkdir /usr/hadoop/hdfs/name

将Hadoop添加到环境变量中

vim /etc/profile

在文件末尾插入如下代码:

,

最后使修改生效:source /etc/profile

格式化

在使用 Hadoop 之前我们需要格式化一些 hadoop 的基本信息。

使用如下命令:

hadoop namenode -format

出现如下界面代表成功:

,

操作示意图如下:

图 1


Hadoop 完全分布式搭建

启动Hadoop

接下来我们启动 Hadoop,在/hadoop3.1/sbin路径下: cd /app/hadoop3.1/sbin

start-dfs.shstop-dfs.sh两个文件顶部添加以下参数:

 
  1. #!/usr/bin/env bash
  2. HDFS_DATANODE_USER=root
  3. HADOOP_SECURE_DN_USER=hdfs
  4. HDFS_NAMENODE_USER=root
  5. HDFS_SECONDARYNAMENODE_USER=root

还有,start-yarn.shstop-yarn.sh顶部也需添加以下:

 
  1. #!/usr/bin/env bash
  2. YARN_RESOURCEMANAGER_USER=root
  3. HADOOP_SECURE_DN_USER=yarn
  4. YARN_NODEMANAGER_USER=root

再次启动start-dfs.sh,最后输入命令 jps 验证,出现如下界面代表启动成功:

,

发送 Hadoop 至另外两台虚拟机

 
  1. scp -r /app/hadoop3.1 root@slave1:/app
  2. scp -r /app/hadoop3.1 root@slave2:/app

发送配置文件至另外两台虚拟机

 
  1. scp /etc/profile root@slave1:/etc/
  2. scp /etc/profile root@slave2:/etc/

在各节点上source /etc/profile,使配置文件生效。

至此,Hadoop 集群的部署已全部完成。

操作示意图如下:

图 1


启动 Hadoop 操作示意图

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值