栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Hadoop运行环境搭建——模板虚拟机环境准备、Hadoop完全分布式集群的搭建

Hadoop运行环境搭建——模板虚拟机环境准备、Hadoop完全分布式集群的搭建

1)下载VMware进行安装

 

链接:https://pan.baidu.com/s/1wWLGqRgc2-xTss8EAueF-g 
提取码:hjl4 

可以参考:最新超详细VMware虚拟机下载与安装_隐秀_-CSDN博客_vmware虚拟机安装

2)下载Centos7

链接:https://pan.baidu.com/s/1psZpZMinrCuL57Bg0Kev1w 
提取码:hjl4 
3)打开VMware进行虚拟机的创建

 点击创建新的虚拟机

 直接下一步

 直接下一步

选择稍后安装操作系统 

 

 选择Linux,版本按照下载的版本进行选择,我的是Centos7

 修改虚拟机的名字,方便辨认

 

这里处理器的配置,我选的是2、2,是因为后面还需要用到Windows的任务 

 

虚拟机的内存,我设的是4g,设的太小,那么在后期进行测试的时候,会溢出 

 

 选择NAT,因为需要独立的IP地址进行访问

 

直接下一步 

 

直接下一步 

 

创建新虚拟磁盘 

 

 磁盘我选的是50g,在虚拟机不用或者用的存储空间达不到50g的时候,它是不会直接占用这50g存储的,放心使用

 

这边也是方便管理,修改目录 

 

点击完成 

 

 会出现这个

点击编辑虚拟机设置

 点击CD/DVD,在右侧点击使用ISO映像文件,选择下载的Centos7ISO文件,点击确定即可

 点击编辑,点击虚拟网络编辑器

点击更改设置 

 

选择NAT模式,修改子网IP,改成192.168.10.0 (这个10可以随机设置,这里设置为10)

 

 再点击NAT设置

 把网关IP也进行修改,把第三个改成10即可,末位通常是2,然后点击确定

 

 然后开启虚拟机

 

 直接回车

 然后等待安装

 

选择中文,简体中文 

 修改时间,改为与本地一致

 

 软件选择

 选择带桌面的GNOME,这个比较友好

 选择安装位置

 选择我要配置分区,然后点击完成

点击+号

 添加如下配置

启动时所分配的容量

 当内存不够时,可临时使用的内存空间

 跟路径下的容量

 点击完成即可

 点击接受更改

 这个选项是当虚拟机意外关闭时,是否进行备份的选择

 我这边并没有选择,因为是自己的电脑,占内存,如果是公司的电脑,则可以勾选

 接下来设置网络和主机名

 按照如下设置即可

 这个是选择安全策略的,因为我的电脑没有这个,选择未选择,然后直接点击开始安装即可

 会进入这个页面,设置root密码

 接下来等待安装完成即可

 安装完毕,点击重启即可

 回车即可

 点击

 点击同意许可协议,再点击完成即可

 点击完成配置

 点击前进

 点击前进

 点击前进

 选择上海,上海,中国,然后点击前进

 点击跳过

 设置用户名

 设置密码

 点击开始使用

 到这里,虚拟机安装完毕了,接下来是进行内部配置的设置

打开本地电脑网络配置

 

 选择以太网,点击更改适配器选项

 选择VMnet8,右键点击选择属性

 修改以下配置

 如果找不到VMnet8,打开虚拟机

点击编辑

 点击虚拟网络编辑器,进入如下页面,点击还原默认设置即可

 

 接下来进入安装好的虚拟机

右键打开终端

 切换root用户,方便接下来的操作输入命令   vi /etc/sysconfig/network-scripts/ifcfg-ens33 

 修改为以下内容

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_onLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="82e3e39d-f3f5-4d24-9f77-0a9d16d91ea3"
DEVICE="ens33"
onBOOT="yes"

IPADDR=192.168.10.100
GATEWAY=192.168.10.2
DNS1=192.168.10.2

 修改主机名

vi /etc/profile

 修改主机名称映射

vi /etc/hosts

添加如下代码

192.168.10.100 hadoop100
192.168.10.101 hadoop101
192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104
192.168.10.105 hadoop105
192.168.10.106 hadoop106
192.168.10.107 hadoop107
192.168.10.108 hadoop108

 重启虚拟机        reboot

查看ip        ifconfig

查看网络是否畅通 ping www.baidu.com

 查看主机名        hostname

 安装下载xshell和xftp,这个大家可以去参考一下其他文章

Windows 下 xshell 和 xftp 安装与使用_沉觞的博客-CSDN博客_xshell安装xftp

接下来安装软件库,因为在红帽体系的Linux系统中,有些软件是找不到的

yum install -y epel-release

 如果安装的是最小版的Linux,还需要执行以下两步,因为我安装的是桌面版,所以这里省略

net-tool:工具包集合,包含 ifconfig 等命令        vim:编辑器

yum install -y net-tools                yum install -y vim

接下来关闭防火墙

systemctl stop firewalld        关闭防火墙
systemctl disable firewalld.service        永久关闭防火墙

 给之前创建的用户分配root权限,方便之后使用sudo执行root权限

vi /etc/sudoers

添加如下代码,用户名根据自己设置的更改

这行代码的意思是,给hjl用户root的权限,并且不需要输入密码

hjl ALL=(ALL) NOPASSWD:ALL

需要输入wq!强制退出保存 

exit 退出当前账户

 cd  /opt

使用hjl用户删除rh文件夹

 

创建module和software目录,方便后期进行软件的存储 

 

同时把这两个文件夹分配用户权限

卸载虚拟机自带的JDK

rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps

删除完后重启虚拟机        reboot

接下来进行三台虚拟机的克隆

首先要先关闭虚拟机

然后点击克隆 

 

 

 

 

 

 用同样的方式创建另外两台虚拟机,命名hadoop103,hadoop104

在克隆完hadoop102,hadoop103,hadoop104以后,开启三台虚拟机,并按照上述操作,修改ip和主机名

 当修改完三台虚拟机的hostname和IP后,reboot重启一下虚拟机

重启完以后,使用命令ifconfig查看网卡

 

 

 并尝试ping www.baidu.com,查看网络是否畅通

 现在可以使用xshell去连接虚拟机,这样方便操作,当然你也可以继续在VMware操作

接下来在hadoop102上安装JDK,hadoop103和hadoop104上的JDK直接拷贝过去即可,这样效率更高。因为后续还有hadoop的安装,所以把JDK和Hadoop都拷贝到/opt/software/目录下。

安装包链接↓

链接:https://pan.baidu.com/s/1a_bqU6D_r8P3L7JMOlKYPA 
提取码:hjl4 
将JDK加压至/opt/module/目录下

tar  -zxvf  jdk-8u212-linux-x64.tar.gz -C /opt/module/

 接下来是修改环境变量

cd /etc/profile.d/

在这个目录下创建一个文件 

sudo vim /etc/profile.d/my_env.sh

然后在这个文件中添加以下内容

#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

 

 然后输入命令更新环境变量

source /etc/profile

查看java是否安装成功

java -version

 接下来安装hadoop

cd /opt/software/

解压    tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/

 接下来配置hadoop的配置文件

sudo  vi  /etc/profile.d/my_env.sh

添加如下代码

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

修改完后保存退出,更新环境变量

source /etc/profile

查看hadoop的安装情况

hadoop version

 接下来是将hadoop102的文件拷贝到hadoop103和hadoop104上

输入以下命令

scp -r /opt/module/ hjl@hadoop103:/opt/module/

scp -r /opt/module/ hjl@hadoop104:/opt/module/

输入yes

输入目标虚拟机的密码

然后等待拷贝完成即可

接下来创建一个脚本,这个脚本是用来同步差异文件的

cd /home/hjl/

mkdir /bin

vim xsync

输入以下代码

#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi
for host in hadoop102 hadoop103 hadoop104
do
echo ==================== $host ====================
#3. 遍历所有目录,挨个发送
for file in $@
do
#4. 判断文件是否存在
if [ -e $file ]
then
#5. 获取父目录
pdir=$(cd -P $(dirname $file); pwd)
#6. 获取当前文件的名称
fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file does not exists!
fi
done
done
~

修改 xsync的权限        chmod +x xsync

然后执行命令,复制环境变量

sudo ./bin/xsync /etc/profile.d/my_env.sh

期间需要输入密码

 

复制成功后记得需要更新hadoop103和hadoop104的环境变量

source /etc/profile

 

 接下来,设置ssh免密登录,让三台虚拟机之间可以不使用密码互相登录

在每台虚拟机中运行命令 ssh-keygen -t rsa

 然后再使用命令将各自的公钥发送给每台虚拟机

ssh-copy-id hadoop102/103/104        需要输入一次密码

 接下来可以使用命令ssh hadoop102/103/104进行登录试验

 刚才我们配置的是自己的用户,还需要将root进行配置免密登录,主要是hadoop102对hadoop103和hadoop104的免密登录

切换到root用户使用ssh hadoop103/hadoop104即可,也可以将剩余两台虚拟机的root用户免密登录也设置了

接下来进行集群配置

这里将NameNode和SecondaryNameNode,及resourceManager分开部署到三台虚拟机,因为这三个进程都十分消耗内存,当然如果机器的配置非常好,也可以部署到同一它虚拟机上。

这个集群配置可以去官网下载默认配置文件进行替换。我们这里是自定义配置。首先在hadoop102上配置,之后使用xsync进行复制。

首先针对core-site.xml进行配置

cd /opt/module/hadoop-3.1.3/etc/hadoop

然后是core-site.xml

vi core-site.xml

添加如下内容


fs.defaultFS
hdfs://hadoop102:8020



hadoop.tmp.dir
/opt/module/hadoop-3.1.3/data



hadoop.http.staticuser.user
hjl

hdfs-site.xml

vi hdfs-site.xml


dfs.namenode.http-address
hadoop102:9870



dfs.namenode.secondary.http-address
hadoop104:9868

yarn-site.xml

vi yarn-site.xml


yarn.nodemanager.aux-services
mapreduce_shuffle



yarn.resourcemanager.hostname
hadoop103



yarn.nodemanager.env-whitelist
JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CO
NF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAP
RED_HOME

mapred-site.xml

vi mapred-site.xml


mapreduce.framework.name
yarn

分发配置文件        xsync hadoop

接下来配置workers

vi workers

替换为如下配置

hadoop102
hadoop103
hadoop104

初始化NameNode

 hdfs namenode -format

初始化成功会生成两个新的文件夹

 接下来启动hdfs,sbin/start-dfs.sh,在hadoop102上启动

通过jps查看进程

 

 

 

可以在浏览器上访问hadoop102:9870进行访问 

 接下来启动yarn,前往hadoop103上启动

sbin/start-yarn.sh

 

 浏览器访问hadoop103:8088

一个小测试,大家可以去试一下

Hadoop单机和完全分布式自带Mapreduce测试_你可以自己看的博客-CSDN博客 

到这里,集群模板已经搭建完成了。更多的操作可以关注后续~~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/751029.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号