搭建好VMware Workstation Pro(我这里装的版本是16)
搭建hadoop集群需要三台虚拟机
1.新建虚拟机——>自定义(高级)
3.映像文件稍后再加入
4.选择Linux——>CentOS 7 64位
5.可以在存放虚拟机的文件内新建一个文件夹,专门放hadoop集群需要的虚拟机(有三个)
6.处理器数量设置一个就好
7.内存不够的选2048就足够了的,我这里设置4096
我的存储磁盘文件的位置改了一下
编辑虚拟机设置,将装好的映像文件放进来
(映像文件可以在官网下载:Index of /7.6.1810/isos/x86_64)
打开虚拟机,选择完语言后,点击安装位置,然后选择我要配置分区
接受更改即可
8.点击软件选择
9.点击网络和主机名
以太网 打开即可
设置一下root的登录密码(尽量设置简单一些,方便每次登陆)
然后等待安装
右下角重启
现在还未接受许可证,点击进去
勾选我同意,然后完成
完成配置
选择语言,一直前进
地区时间选择中国上海即可
设置一下账户密码(不过后续主要用的是root用户)
10.关闭hadoop01,然后如下图拍摄快照
1.卸载系统自带的jdk (我们这里要卸载系统自带的jdk)
开启hadoop01虚拟机,登录时用户点击未列出,用户名为root,密码是自己设的;
打开终端,输入 rpm -qa | grep java
有七个包
使用rpm命令卸载这系统自带的七个包
使用命令:rpm -e --nodeps [包名] ,七个包都需要使用一次命令,
卸载完以后,使用 rpm -qa | grep java查看一下包是否卸载干净
2.关闭虚拟机,准备克隆虚拟机
右键hadoop01——>管理——>克隆
将虚拟机名称改为hadoop02
完成后,等待一下
然后跟hadoop02克隆的步骤一样,克隆hadoop03
克隆好以后,这里就有三台虚拟机:hadoop01,hadoop02,hadoop03
1.配置静态ip
(ip地址的设计要跟主机IPV4的相对应,但是最后三位数需要在128-255这个区间)
win+R打开cmd,输入命令:ipconfig,
查看VMware Network Adapter VMnet8主机ip 地址
我这里IPV4是192.168.124.1
集群部署规划:
主机名 | HDFS | YARN | IP地址 |
hadoop01 | NameNode DataNode |
ResourceManager NodeManager |
192.168.124.128 |
hadoop02 | SecondaryNameNode DataNode |
NodeManager | 192.168.124.129 |
hadoop03 | DataNode | NodeManager | 192.168.124.130 |
这边IP地址就是设置主机地址,除了后三位,其他都跟前面查询到的IPV4是一样的,
后三位要在128-255之间。
打开虚拟机hadoop01,以这一台做示范
打开虚拟机后,进入终端 ,
输入 vi /etc/sysconfig/network-scripts/ifcfg-ens33 编辑
按i进入insert模式,下图是原来的
修改:
BOOTPROTO="static"
ONBOOT="yes"
IPADDR=192.168.124.128
NETMAST=255.255.255.0
GATWAY=192.168.124.2
DNS1=8.8.8.8
DNS2=114.114.114.114
(按Esc退出编辑模式,然后:wq退出编辑并保存)
注意:IPADDR每台主机是不同的,根据自己的来设定,GATWAY网关我这边是192.168.124.2
hadoop02和hadoop03也同上设置
*在开启第三台虚拟机时,有如下报错
重新开启虚拟机就可以了。
hadoop02:
hadoop03:
三台虚拟机都需要关闭防火墙
现在三台主机名都为localhost,为了方便后续与服务器连接,要把三台主机分别对应修改为hadoop01、hadoop02和hadoop03
用命令:vim /etc/hostname
配置主机名与IP映射主要是方便主机名和静态ip映射
终端输入:vim /etc/hosts
加入如下三行:
192.168.124.128 hadoop01
192.168.124.129 hadoop02
192.168.124.130 hadoop03
三台虚拟机都要配置,配置好以后,执行 ping hadoop02 看看是否能够ping通
如果出现如上图情况,证明设置成功。
可以将三台虚拟机都互相ping一下。
每个节点之间ssh连接要不断输入密码,为了防止这些操作,就得设置一下ssh免密登录。
在终端输入 ssh-keygen -t rsa 生成秘钥 ,然后一直回车
另外两台虚拟机也需要如上一样生成秘钥
然后,互相复制公钥到每一台虚拟机
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop01
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop02
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop03
回车后——>yes——>输root的登录密码
三台虚拟机都需要输,然后用ssh hadoop01,ssh hadoop02,ssh hadoop03验证,如下图时,免密配置成功。
在官网下载,家庭/学校免费 - NetSarang Website
新建会话
将hadoop01、hadoop02、hadoop03都连接上
打开Xftp进行新建目录,也可以在Xshell中使用命令
mkdir -p /export/software
mkdir -p /export/servers
mkdir -p /export/data
(安装包可以到官网下载)
在Xshell中用ls命令查看software下的压缩包
将jdk解压到前面创建好的目录:/export/servers/中
解压完成
输入 vim /etc/profile 进入编辑环境变量,
加上下面三行
保存退出后,用 source /etc/profile 将环境变量生效,
java -version查看jdk是否安装和配置成功 ,下图就是安装成功了。
解压完毕
vim /etc/profile 打开环境变量进行编辑
添加如下两行
export HADOOP_HOME=/export/servers/hadoop-2.7.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
将环境生效
然后用 hadoop verison 检查是否安装成功
配置Hadoop集群主要需要修改六个配置文件,分别为hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves这六个。
cd /export/servers/hadoop-2.7.4/etc/hadoop/ 切换到这个目录下,可以看到需要修改增加配置的文件都在这个目录下
进入编辑:vim hadoop-env.sh
(路径太长了不想切换出去再粘贴进来,可以vim进入编辑以后按Esc,然后输入“:”,输入cd /export/servers/jdk1.8.0_161/ ——> 这里可以按tab键补全,例如输入ex,然后按tab键,就会补全export)如下图:
回到编辑模式:按Esc,然后按i,就能回到编辑模式
将JAVA_HOME路径添加进来
进入编辑:vim core-site.xml
最好对其一下
保存退出编辑
(这是配置了NameNode的运行主机的位置以及存放临时数据的目录)
vim hdfs-site.sh 进入编辑
这里设置了副本的数量以及SecondaryNameNode所在节点位置
这里是指定mapreduce的运行框架,指定为yarn
目录中没有该文件,需要将mapred-site.xml.template复制改名为mapred-site.xml
cp mapred-site.xml.template mapred-site.xml
进入编辑:vim mapred-site.xml
保存并退出编辑
保存并退出编辑
还在当前目录中,编辑slaves文件:vim slaves
将localhost 删掉,改成如下图:
保存退出
分发系统文件:
scp -r /etc/profile hadoop02:/etc/profile
scp -r /etc/profile hadoop03:/etc/profile
分发配置文件:
scp -r /export/ hadoop02:/
scp -r /export/ hadoop03:/
需要一点时间,等待一下
第一次启动NameNode时,必须对主节点,也就是NameNode这个节点进行格式化
hdfs namenode -format 或 hadoop namenode -format
出现下面划红线这两行,就代表格式化成功
只有第一次启动时需要格式化,后续都不需要,之间启动即可
start-dfs.sh
输入:start-yarn.sh
三个节点均使用 jps 查看进程
Hadoop集群启动正常
接下来可以在浏览器中输入:
192.168.124.128:8088
192.168.124.128:50070
Hadoop集群配置完成