20190315-hadoop集群搭建

OS Hadoop版本 节点个数
CentOS7 Hadoop-2.7.7 2(master,slave)

1 基于 VMware workstations 的CentOS7安装

1.1 安装虚拟机

1.打开VMware,文件->新建虚拟机,出现如下界面,
选择“自定义(高级)”选项,下一步
在这里插入图片描述
2.此步骤默认,下一步继续:
在这里插入图片描述
3.在出现下面界面,选中“稍后安装操作系统”选项,下一步继续:
在这里插入图片描述
4.在出现如下界面,客户机操作系统选择“Linux”,版本选择“CentOS 64位”,下一步继续:
在这里插入图片描述
5.出现如下界面,输入自定义虚拟机名称,这里是“node1”,指定虚拟机位置,这里是“E:\VirtualMachines\CentOS 64位\node1“,然后下一步继续:
在这里插入图片描述
6.出现下面界面,选择处理器数量和每个处理器核心数量,这里分别是2和2,下一步继续:
在这里插入图片描述
7.出现如下界面,指定虚拟机占用内存大小,这里是2048M,下一步继续:
在这里插入图片描述
8.出现如下界面,选择网络连接类型,这里选择“使用NAT模式”,各位安装虚拟机过程根据需要自行选择,安装向导中已经针对各种模式进行了比较规范的说明,这里补充说明如下:

  • 使用桥接网络:虚拟机ip与本机在同一网段,本机与虚拟机可以通过ip互通,本机联网状态下虚拟机即可联网,同时虚拟机与本网段内其他主机可以互通,这种模式常用于服务器环境架构中。
  • 使用网络地址转换(NAT):虚拟机可以联网,与本机互通,与本机网段内其他主机不通。
  • 使用仅主机模式网络:虚拟机不能联网,与本机互通,与本机网段内其他主机不通。下一步继续:
    在这里插入图片描述

9.默认,下一步继续:
在这里插入图片描述
10.默认、下一步继续:
在这里插入图片描述
11.默认,下一步继续:
在这里插入图片描述
12.出现下面界面,输入虚拟机磁盘大小,这里设置虚拟机磁盘大小为30G,下一步继续:
在这里插入图片描述
13.默认,下一步继续:
在这里插入图片描述
14.默认、点击“完成”结束虚拟机创建:
在这里插入图片描述
退出安装向导后,我们可以在虚拟机管理界面左侧栏看到刚刚创建的虚拟机,右侧栏可以看到虚拟机详细配置信息:
在这里插入图片描述

15.上图界面中点击“编辑虚拟机设置”选项,出现如下界面:
在这里插入图片描述
16.挂载光盘,然后点击确定,按照上述设置后界面如下图所示:
在这里插入图片描述

1.2 安装CentOS7操作系统

点击开启虚拟机进入CentOS7操作系统安装过程。
1.虚拟机控制台出现界面,选择Install CentOS Linux 7,点击回车键继续:
在这里插入图片描述
2.根据提示点击回车键继续:
在这里插入图片描述

3.如下界面默认选择English,点击Continue继续:
在这里插入图片描述

3.CentOS7安装配置主要界面如下图所示,根据界面展示,这里对以下3个部分配置进行说明:
在这里插入图片描述

Localization和software部分不需要进行任何设置,其中需要注意的是software selection选项,这里本次采用安装含图形界面安装,至于其他组件,待后期使用通过yum安装即可。
在这里插入图片描述

4.点击“Installation Destination”,进入如下界面,选中30g硬盘,点击左上角done进行磁盘分区规划:
在这里插入图片描述
5.点击“DATE&TIME”配置时间
在这里插入图片描述
6.完成磁盘规划后,点击network & host name选项中修改主机名(默认主机名为 localhost.localdomain),这里 node1修改为master,node2修改为slave,然后点击done完成主机名配置,返回主配置界面:

  • master:
    在这里插入图片描述
  • slave
    在这里插入图片描述
    7.右下角“Begin Installation”按钮已经从原本的灰色变成蓝色,这说明已经可以进行操作系统安装工作了,点击“Begin Installation”进行操作系统安装过程。
    在这里插入图片描述
    8.在用户设置中需要做的是修改root用户密码和创建普通用户。
    在这里插入图片描述

点击“root password”,设置密码,如果密码安全度不高,比如我这里的密码为“rootroot”,那么可能需要点击2次确定才可以。
在这里插入图片描述
分别在node1和node2创建普通用户yao

在这里插入图片描述
在这里插入图片描述
9.在下图,操作系统安装已经完成,点击reboot重启操作系统。
在这里插入图片描述
安装完成,通过普通用户yao登录:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2 Linux系统配置

2.1 上传安装包

1.将jdk-8u144-linux-x64.tar.gz分别上传到两台虚拟机的/soft目录下

sftp> pwd
/soft
sftp> put E:/study2019/software/jdk-8u144-linux-x64.tar.gz

master:
在这里插入图片描述
slave:
在这里插入图片描述
2.将hadoop-2.7.7.tar.gz上传到master:

sftp> put E:/study2019/software/hadoop-2.7.7.tar.gz

3.查看是否上传成功
master:
在这里插入图片描述
slave:
在这里插入图片描述

2.2 配置时钟同步

2.2.1 查看时间

在这里插入图片描述
在这里插入图片描述

2.2.2 时间不一致的解决办法

方法一:通过timedatectl命令修改
在这里插入图片描述
在这里插入图片描述
使用指南 timedatectl -h
查看当前系统时间 timedatectl status
设置当前时间

timedatectl set-time "YYYY-MM-DD HH:MM:SS"
timedatectl set-time "YYYY-MM-DD"
timedatectl set-time "HH:MM:SS"

查看所有可用的时区

timedatectl list-timezones
timedatectl list-timezones |  grep  -E "Asia/S.*"

设置时区

timedatectl set-timezone Asia/Shanghai

设置硬件时间

timedatectl set-local-rtc 1 			// 默认UTC

启动自动同步时间

timedatectl set-ntp yes  		//yes或no,1或0

方法二:同步网络时间
1.同步mater

[root@master ~]# ntpdate time.nuri.net
13 Mar 17:32:29 ntpdate[26372]: adjust time server 211.115.194.21 offset -0.263924 sec

2.同步slave

[root@master ~]# ntpdate time.nuri.net
13 Mar 17:32:41 ntpdate[26372]: adjust time server 211.115.194.21 offset -0.263924 sec

2.3 配置主机名

2.3.1 命令设置主机名永久有效

[root@master ~]# hostnamectl set-hostname master

2.3.2 配置文件

[root@master ~]# vim /etc/hostname

在这里插入图片描述
在这里插入图片描述

2.4 关闭防火墙

2.4.1 关闭防火墙

[root@master ~]# systemctl stop firewalld.service

2.4.2 禁止firewall开机启动

[root@master ~]# systemctl disable firewalld.service

2.4.3 查看状态

[root@master ~]# systemctl status firewalld

在这里插入图片描述

2.5 配置网络

查看IP

虚拟机名称 主机名 IP Address
node1 master 192.168.16.199
node2 slave 192.168.16.200

master:
在这里插入图片描述
slave:
在这里插入图片描述
如果没有显示IP使用setup设置

[root@master ~]# setup

在这里插入图片描述
1.选择“Network configuration”,回车进入该项
在这里插入图片描述
2.选择Device configuration
在这里插入图片描述
3.使用光标键移动选择eth0,回车进入该项在这里插入图片描述
4.重启网络服务

[root@master ~]# service network restart

5.检查是否修改成功

[root@master ~]# ifconfig

2.6 配置hosts

注意,要同时在两个节点配置
在这里插入图片描述
在这里插入图片描述

2.7 安装jdk

在master上操作

2.7.1 新建目录

[root@master ~]# mkdir /usr/java/

2.7.2 解压安装包

将JDK文件解压,放到/usr/java目录下

[root@master java]# tar zxvf jdk-8u144-linux-x64.tar.gz

在这里插入图片描述
解压后:
在这里插入图片描述

2.7.3 配置环境变量

切换到普通用户

[root@master ~]# su yao
[yao@master root]$ cd ~
[yao@master ~]$ vi .bash_profile
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export JAVA_HOME=/usr/java/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH

2.7.4 测试

在这里插入图片描述
在这里插入图片描述
注意,如果主机名是后更改的的,以上操作完成以后需要重启:

[root@slave java]# reboot

2.8 免密钥登陆配置

切换到普通用户下操作。

2.8.1 master节点

1.在终端生成密钥

[yao@master root]$ ssh-keygen -t rsa

在这里插入图片描述
2.复制公钥文件

[yao@master .ssh]$ cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

3.修改authorized_keys文件的权限

[yao@master .ssh]$ chmod 600 ~/.ssh/authorized_keys

在这里插入图片描述
4.将authorized_keys复制到slave节点

[yao@master .ssh]$ scp ~/.ssh/authorized_keys yao@slave:~/

在这里插入图片描述

2.8.2 slave节点

1.在终端生成密钥

[yao@slave root]$ ssh-keygen -t rsa

2.将authorized_keys文件移动到.ssh目录

[yao@slave ~]$ mv authorized_keys ~/.ssh/

在这里插入图片描述

2.8.3验证免密钥登录

在master机器上执行

[yao@master .ssh]$ ssh slave

在这里插入图片描述

3 hadoop 配置部署

Hadoop配置部署要在普通用户下操作:

3.1 解压Hadoop安装包

[yao@master ~]$ tar -xzvf hadoop-2.7.7.tar.gz

在这里插入图片描述

3.2 修改配置文件

在这里插入图片描述

3.2.1 hadoop-env.sh

[yao@master hadoop]$ vim hadoop-env.sh

在这里插入图片描述

3.2.2 yarn-env.sh

[yao@master hadoop]$ vim yarn-env.sh

在这里插入图片描述

3.2.3 core-site.xml

[yao@master hadoop]$ vim core-site.xml

修改内容:

<configuration>
<property> 			//修改项
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/yao/hadoopdata</value>			//hadoop的数据存放目录
</property>
</configuration>

在这里插入图片描述

3.2.4 hdfs-site.xml

[yao@master hadoop]$ vim hdfs-site.xml

修改内容:

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

在这里插入图片描述

3.2.5 yarn-site.xml

[yao@master hadoop]$ vim yarn-site.xml

修改内容:

<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:18040</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:18030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:18025</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:18141</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:18088</value>
</property>

在这里插入图片描述

3.2.6 marpred-site.xml

[yao@master hadoop]$ cp mapred-site.xml.template mapred-site.xml
[yao@master hadoop]$ vim mapred-site.xml

修改内容

<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

在这里插入图片描述

3.2.7 slaves文件

[yao@master hadoop]$ vi slaves

在这里插入图片描述
注意,因为此次搭建的是2个节点,如果要搭建3个或以上,这里就要把所有从节点的主机名写在里面,一行写一个

3.3 复制主从点

[yao@master hadoop]$ cd ~
[yao@master ~]$ scp -r hadoop-2.7.7 yao@slave:~/

4 启动Hadoop集群

4.1 配置环境变量

[yao@master ~]$ vi .bash_profile
export HADOOP_HOME=/home/yao/Hadoop-2.7.7
export PATH=$HADOOP_HOME/bin:$ HADOOP_HOME/sbin:$PATH

在这里插入图片描述

[yao@master ~]$ source .bash_profile

4.2 格式化文件系统

[yao@master ~]$ hdfs namenode –format

在这里插入图片描述
此处有一个报错,原因是配置文件core-site.xml中的一个路径出错了,更改后,需要手动将slave中的core-site.xml也一并修改为正确版。删掉/home/yao/hadoop-2.7.7/logs下的全部文件,因为格式化的过程中,它已经记录日志了。再删掉/home/yao/hadoopdata目录。重新格式化。
在这里插入图片描述

4.3 启动hadoop集群

[yao@master ~]$ start-all.sh

在这里插入图片描述

4.4 验证Hadoop集群是否成功

4.4.1 jps

jps的一个打印启动的进程的命令,可以用来测试Hadoop集群是否连接成功。
在master节点上有4个进程:
在这里插入图片描述
在slave节点上有3个进程:
在这里插入图片描述

4.4.2 通过web页面

1.在地址栏输入master:18088
在这里插入图片描述
2.在地址栏输入master:50070
在这里插入图片描述

4.4.3 Pi

这是hadoop自带的一个小例子,pi是一个参数,可以用来验证Hadoop集群是否成功。

[yao@master ~]$ hadoop jar hadoop-2.7.7/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar pi 5 5

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/shayuwei/article/details/88747600