- 选择自定义
- 虚拟机硬件兼容性默认即可
- 选择下载好的centos7光盘镜像
- 找到你下载好的iso镜像位置,点击打开
- 显示检测到centos7操作系统就可以了
- 名称、用户名等可自定义
- 修改虚拟机存放位置,尽量存放在空闲磁盘
- 处理器配置随意,vm允许配置超过本机的cpu核心数
- 内存分配根据自己电脑性能而定,最低不能低于512MB,多多益善
- 使用NAT网络类型
- IO控制器默认
- 磁盘类型默认
- 选择磁盘默认
- 磁盘容量40GB,这不是实际占用的磁盘大小,请放心
- 指定磁盘文件默认
- 点击完成,等待安装
- 安装完成
- 登录,用户密码是刚刚在新建虚拟机时的那个账号密码
- 右键打开终端
- 切换到root用户
su - root
注意!此处需要输入密码,密码就是你在新建虚拟机时写的那个用户密码,这里输入密码没有回显!
- 安装网络组件
yum install net-tools
- 配置虚拟机网络环境
+ 配置VM8虚拟网卡的dhcp服务器分配地址范围
![Untitled](https://img-blog.csdnimg.cn/img_convert/019156d8d394be1c15db3539bf11dcdd.png)
![Untitled](https://img-blog.csdnimg.cn/img_convert/180dcd8c5e28dc661e8fc738acd36214.png)
+ 配置网关
![Untitled](https://img-blog.csdnimg.cn/img_convert/e645f7a05279c7a2b1e171255bb84d78.png)
![Untitled](https://img-blog.csdnimg.cn/img_convert/f76d7958cd4451dff3c90ae713d45112.png)
![Untitled](https://img-blog.csdnimg.cn/img_convert/93a8950cbaeac6ba782cf60a0dcd790e.png)
- 重启虚拟机
reboot
- 重启后打开终端,切换到root用户
su - root
- 配置网络文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
注意,网卡的名字不同,配置文件也不同!
保存退出
- 设置root密码
passwd root
设置密码为root
- 重启虚拟机
reboot
- 打开xshell,连接虚拟机
- 安装分发工具
yum install rsync -y
- 编写集群分发脚本
mkdir ~/bin && vim ~/bin/xsync
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi
#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname
#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#4 获取当前用户名称
user=`whoami`
#5 循环
#这里的主机名是hadoop101~hadoop103,要根据情况修改代码
for i in hadoop102 hadoop103 hadoop104
do
echo ------------------- $i --------------
rsync -rvl $pdir/$fname $user@$i:$pdir
done
- 给脚本赋权
chmod +x ~/bin/xsync
- 关机
init 0
- 右键,克隆虚拟机
点击完成,克隆成功
再按照以上步骤克隆一台虚拟机,名称为hadoop104
完成后如下图
-
配置克隆的网络文件
- 开启hadoop103,切换至root用户
su - root
密码是root
- 编辑网络配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
保存退出
- 重启
reboot
- 开启hadoop104
- 切换至root用户
su - root
- 编辑网络配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
保存退出
- 重启hadoop104
reboot
-
启动hadoop102
确保3台节点启动成功
-
打开xshell,新建两个会话
- hadoop103会话
点击确定
- hadoop104会话
点击确定
- 连接
选中3个会话,点击连接
弹出如下提示,输入yes即可
搭建hadoop3.x完全分布式集群
集群规划
hadoop102 | hadoop103 | hadoop104 |
---|---|---|
namenode | resourcemanager | datanode |
datanode | datanode | nodemanager |
nodemanager | nodemanager | secondarynamenode |
-
配置host映射
- 点击hadoop102选项卡
- 编辑hosts文件
vim /etc/hosts
192.168.138.102 hadoop102 192.168.138.103 hadoop103 192.168.138.104 hadoop104
保存退出
-
配置集群ssh
- hadoop102配置ssh无密登录
ssh-keygen -t rsa
一直回车即可
ssh-copy-id hadoop102
输入yes,提示输入密码的地方输入root,这里也是没有回显的!!
如上操作再将公钥复制到hadoop103、hadoop104
ssh-copy-id hadoop103
ssh-copy-id hadoop104
- 分发hosts
xsync /etc/hosts
- hadoop103配置ssh无密登录
点击hadoop103选项卡
生成公钥
ssh-keygen -t rsa
如hadoop102的操作,将公钥复制到其他节点
ssh-copy-id hadoop102
ssh-copy-id hadoop103
ssh-copy-id hadoop104
- hadoop104配置ssh无密登录
选择hadoop104选项卡
生成公钥
ssh-keygen -t rsa
复制公钥到其他节点
ssh-copy-id hadoop102
ssh-copy-id hadoop103
ssh-copy-id hadoop104
-
上传hadoop安装包
- 回到hadoop102选项卡
创建目录
mkdir /opt/software && cd /opt/software
- 上传安装包
开启xftp
将下载好的hadoop和jdk移动到右边
回到xshell
- 创建目录并解压
mkdir /opt/module
tar -zxvf /opt/software/hadoop-3.1.3.tar.gz -C /opt/module/
tar -zxvf /opt/software/jdk-8u401-linux-x64.tar.gz -C /opt/module/
- 改名
mv /opt/module/jdk1.8.0_401/ /opt/module/jdk
-
添加JAVA_HOME
- 添加java环境变量
vim /etc/profile
#JAVA\_HOME export JAVA\_HOME=/opt/module/jdk export PATH=$PATH:$JAVA\_HOME/bin
-
添加HADOOP_HOME
- 添加hadoop环境变量
#HADOOP\_HOME export HADOOP\_HOME=/opt/module/hadoop export PATH=$PATH:$HADOOP\_HOME/bin export PATH=$PATH:$HADOOP\_HOME/sbin
保存退出
- 刷新环境变量
source /etc/profile
- 分发环境变量
xsync /etc/profile
-
修改配置文件
- 改名
mv /opt/module/hadoop-3.1.3/ /opt/module/hadoop
- core-site.xml
vim /opt/module/hadoop/etc/hadoop/core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop102:8020</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/module/hadoop/data</value> </property> </configuration>
保存退出
- hdfs-site.xml
vim /opt/module/hadoop/etc/hadoop/hdfs-site.xml
<configuration> <property>