0


hadoop三机集群环境安装和配置(最小化安装)

文件准备:(百度网盘)

链接:https://pan.baidu.com/s/1t_v7nWTQk4_pq0eqA_NwWw?pwd=am66
提取码:am66

第一个文件用来安装XShell与Xftp,第二个用来安装VMware Workstation Pro,其他三个文件我放在E:\Software\Program\VMware\CentOS\CentOS-7-x86_64-Minimal-2009.iso自己选择放在哪里。这里的CentOS文件只有973MB,进行的是最小化安装。

1.创建虚拟机hadoop101

让虚拟机的名称为hadoop101,选择我们虚拟机要安装在哪里如:E:\Software\Program\VMware\Virtual Machines\fit-hadoops\hadoop101由自己决定黑色可以自己新建文件借鉴一下。

选择处理器数量并设置内存为1536MB。

选择NAT的模式,下一步下一步,用推荐就好。

选择第一个,创建新虚拟磁盘。

指定磁盘大小为60GB

下一步,完成。

先关闭虚拟机,在VMware Workstation Pro左边显示虚拟机的空白处右键新建文件夹fit-hadoops,把hadoop101拖入文件夹里面,方便我们管理。

双击hadoop101,打开虚拟机,方向键选择第一个,回车。

选择语言为中文,简体中文,点击继续后,选择第一个,设置时间为上海本地时间。

选择“自动设置分区”,并设置 root 管理员账户密码为 hadoop,同时设置一个普通用户 hadoop,密码也是 hadoop。 上述设置完成后,立即自动进入安装。稍等片刻,安装成功后,选择“重启”,进入登录界面,输入root 账号信息后,进入根目录。使用 id 命令识别身份后,基础安装工作完成

完成后重启,注意这里我们登录root账号

**2.设置虚拟机的静态ip **

因为是最小化安装,使用 ip addr 命令,可以看到网卡并没有启动:

查看我们虚拟网卡上面的ip数据

因为我们进行NAT网络连接,所以我们点击VMnet8

我们在这里设置ip的范围,修改最后的一部分(不要超过100-254)

在这里记住:子网掩码、网关、及ip前3位192.168.171

登录账号密码开始:

vi /etc/sysconfig/network-scripts/ifcfg-ens33进入下面的界面

通过方向键进行移动,按i进入编辑模式,将其设置如下

其中,

IPADDR=192.168.30.X(X代表我们设置范围里的任意数字,如101)# IP地址

NETMASK=255.255.255.0 # 子网掩码(固定)

GATEWAY=192.168.30.2# 网关地址(我们前面记得)

DNS1=192.168.30.2 # DNS地址(固定)

DNS2=8.8.8.8

设置完成按esc后按“冒号:”,输入wq,回车。

使用 **service network restart **重启网络服务,发现ip 地址已经分配,同时解析网易 163 的地址也正常完成,说明 DNS 正常工作。

XShell安装。

XShell新建会话并连接。

新建会话,主机名称为hadoop101,主机为192.168.30.101。

可以在XShell左边新建文件夹和刚刚一样为fit-hadoops,把hadoop101拖入文件夹,方便管理,双击hadoop101会话,输入hadoop用户名勾选记住用户名,输入hadoop密码,勾选记住密码。

输入下面代码,进入root账户。登录hadoop账户

从hadoop账户切换到root账户。

su -

3.关闭防火墙

①查看是否存在防火墙

代码:

systemctl|grep iptables
systemctl|grep firewall

结果出现如下:

firewalld.service loaded active running firewalld - dynamic firewall daemon

发现存在 firewalld 服务(注意看这里的运行结果是用文字表示不要都输入了)

②为hadoop用户添加权限

输入

visudo

使用方向键定位到相应位置,按i输入hadoop ALL=(ALL) NOPASSWD:ALL输入完成按下esc输入:wq!退出

③使用管理员账号关闭防火墙

sudo systemctl stop firewalld
systemctl|grep firewall

④禁用防火墙,以便在下次开机的时候不再启动该服务

sudo systemctl disable firewalld

结果会出现如下语句:

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

4.使用 yum 安装 ifconfig 命令所在的包

yum install net-tools.x86_64

<<<

如果出现下面图片是错误的,我们要进行某些操作(以下为补充内容的部分)

vi /etc/yum.repos.d/CentOS-Base.repo

四个 baseurl 地址按顺序修改为阿里云的镜像地址:

baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/

使用 yum 安装 ifconfig 命令所在的包,以确保网络查询命令正常工作,输入ifconfig查看。

输入

exit

退出root账户,出现进入hadoop账户。

5.上传并解压 JDK8 软件到目标文件夹

使用 xftp 上传 jdk-8u211-linux-x64.tar.gz 安装文件到/home/hadoop 目录下,在/opt 目录下构建 moudle 目录,作为后续大数据相关软件的安装根目录,因该目录所有者为 root,需要改变目录所有者和所在组均为 hadoop,因为一般来说,我们不会使用root 账号进行日常应用软件的配置和管理工作。

说明:因为我已经安装好了,没有非常具体的截图所以我会借助老师的说明文件的图片(白色部分)交叉使用说明。

sudo mkdir /opt/module
cd /opt
ll

sudo chown hadoop:hadoop ./module
ll

解压 JDK 安装包到/opt/module 目录下:

tar -zxvf jdk-8u211-linux-x64.tar.gz -C /opt/module/
cd /opt/module
ll

6.配置 JDK 环境变量

cd /etc/profile.d
sudo vi jdk.sh
#jdk setting
export JAVA_HOME=/opt/module/jdk1.8.0_211
export PATH=$PATH:$JAVA_HOME/bin

切换为root账户:

su -

保存该文件,重新刷新当前用户环境变量:

source /etc/profile
env|grep JAVA_HOME

查看操作是否成功:

javac -version
java -version
echo $JAVA_HOME

结果如下:

7.设置各主机的机器名及其 IP 地址映射

回到hadoop账户

exit

(1)设置本机机器名

设置/etc/hostname,设置本机机器名为 hadoop101

sudo vi /etc/hostname

修改原来的主机名称 localhostname 为 hadoop101,并重新启动网络服务

sudo systemctl restart network
ping hadoop101

ping 操作的结果,可以看出 hadoop101 已经正确映射到192.168.240.101IP地址。

(2)设置集群其它主机的 IP 地址映射

编辑/etc/hosts 文件,并做如下改变,增加所有集群主机的映射

sudo vi /etc/hosts

重启网络服务:

sudo systemctl restart network

8.上传并加压 hadoop 安装文件

xftp上传同jdk

tar -zxvf hadoop-3.3.0-Centos7-64-compiled.tar.gz -C /opt/module
cd /opt/module
ll

9.配置 hadoop 环境变量

cd /etc/profile.d
sudo cp ./jdk.sh ./hadoop.sh
sudo vi hadoop.sh
#hadoop setting
export HADOOP_HOME=/opt/module/hadoop-3.3.0
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

刷新环境变量:

source /etc/profile
env|grep HADOOP

10.Hadoop 集群配置文件设置

来到/opt/module/hadoop-3.3.0/etc/hadoop 目录下,对以下若干文件进行配置

cd /opt/module/hadoop-3.3.0/etc/hadoop

(1)core-site.xml 配置 Hadoop 的基本属性。

这里了设定了 namenode 的访问入口在 hadoop101 的 8020 端口,并指定hdfs的 WEB 访问用户是 hadoop 用户。dfs.permissions.enabled 是HDFS 中的一个重要配置参数,它控制着 HDFS 中权限检查功能的启用与禁用。为方便起见,这里该参数设置为 false 时,HDFS 将不会执行任何权限检查,任何用户都可以对HDFS 中的任何文件或目录进行读写删除等操作。

vi core-site.xml

方向键移到最后两行按dd,删除,按i添加如下内容:

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop101:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-3.3.0/data</value>
</property>
<property>
<name>hadoop.http.staticuser.user</name>
<value>hadoop</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
</configuration>

esc+wq!

hadoop.tmp.dir 是 Hadoop 配置中的一个重要参数,它用于指定Hadoop 集群中各个节点上使用的临时目录,其默认设置 hadoop 数据文件的存储地为/tmp 目录,当 Hadoop 以/tmp 目录作为临时目录时,可能会遇到一些问题。首先,/tmp 目录通常是在系统重启时会被清空的,这可能导致 Hadoop 的临时数据丢失,进而影响作业的执行和集群的稳定性。其次,如果/tmp 目录所在的磁盘空间不足,也可能导致 Hadoop 作业失败。ad 所以这里调整为/opt/module/hadoop-3.3.0/data, 该文件夹原先不存在,需要在 hadoop 账户下额外构建,操作命令如下:

mkdir data
ll

(2) hdfs-site.xml 配置 HDFS 某些属性的个性化设定。

该文件配置了名称节点和第二名称节点的 web 访问路径,第二名称节点按照规划设定在 hadoop103 主机上。

vi hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop101:9870</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop103:9868</value>
</property>
</configuration>

esc+wq!

(3)mapred-site.xml 配置 MapReduce 某些属性的个性化设定。

这里主要说明了 mapreduce 作业是运行在 yarn 资源管理系统上,由它来负责集群中资源的管理和调度。

vi mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

esc+wq!

(4)yarn-site.xml 配置 Yarn 某些属性的个性化设定。

通常情况下,YARN 提供了一个名为 mapreduce_shuffle 的辅助服务。这个服务是专门为支持 MapReduce 应用程序的本地化任务执行和数据缓存而设计的。因此,在默认情况下,yarn.nodemanager.aux-services 可能被设置为mapreduce_shuffle。这里设置 resourcemanager 所在的主机为 hadoop102。

vi yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop102</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,HADOOP_MAPRED_HOME,PATH,LANG,TZ</value>
</property>
</configuration>

esc+wq!

(5)workers 配置文件

用于指定哪些节点作为工作节点。在Hadoop 集群中,工作节点是负责实际执行任务的节点。该文件配置信息如下,说明了参与集群的 3 台主机的主机名

vi workers
hadoop101
hadoop102
hadoop103

esc+wq!

11.克隆 hadoop 三机集群

在XShell输入shutdown now 关闭虚拟机

回到VMware Workstation Pro,旋转hadoop101右击选择“管理”,选择“克隆”。

选择”创建完整克隆“,以复制原始虚拟机的完整副本,而不是仅仅原始虚拟机的一个链接。这里预先构建好 hadoop102 目录,把虚拟机名称设置为hadoop102。并设置地址(如我们第一台hadoop101设置在fit-hadoops里的hadoop101,这里我们可以在fit-hadoops新建文件夹hadoop102)

点击“完成”按钮后完成克隆,然后拖动新生成 hadoop102 主机链接到fw-hadoops文件夹做统一管理。并按照上述方法,克隆 hadoop103 主机,并拖入fit-hadoops文件夹做统一管理。

启动 hadoop102 主机,在 vmware 界面中,以 root 身份登录,修改网卡配置文件,设置 ip 地址为 192.168.30.102。这里注意需要单独启动 102 主机,否则会出现ip地址冲突问题。配置完毕后,重启网络服务,同时确认 ip 已经设置。

vi /etc/sysconfig/network-scripts/ifcfg-ens33

sudo vi /etc/hostname

**service network restart **重启网络服务

根据上述方法,调整 hadoop103 主机为 192.168.30.103,并确认。

克隆后的主机网卡配置:

XShell建立hadoop102,hadoop103的会话,并拖入fit-hadoops文件夹,做统一管理。

12.实现 hadoop 三机集群的免密登录

开启 hadoop101 主机,使用 ssh-keygen 生成一组公私钥,生成的密钥文件默认会保存在 hadoop 用户的 home 目录下的.ssh 文件夹中,私钥为 id_rsa,公钥为id_rsa.pub。

ssh-keygen -t rsa -P ''

回车就好了不需要其他操作

拷贝一下:# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

ssh的服务器重启:# service sshd restart

接下来做三台电脑之间的免密操作:(就是每一台电脑都要输入以下命令,下面蓝色框框写密码)

ssh-copy-id hadoop101

ssh-copy-id hadoop102

ssh-copy-id hadoop103

hadoop102与hadoop103重复上面操作。

下图为 hadoop101 主机上的三机公钥:

cat ./.ssh/authorized_keys

操作完毕后,执行免密登录测试,发现在 hadoop101 主机上可以不需要密码登录hadoop101、hadoop102 和 hadoop103。其它主机也有类似执行结果,至此,hadoop 集群三机免密登录环境配置完毕。

13.启动 hadoop 集群

在 hadoop101 机器上,执行 namenode 的格式化操作,命令操作完成后,会在hadoop安装目录下,生成 data 和 log 目录。

hdfs namenode -format

注意主节点格式化操作只能进行一次,否则需要进行某些操作!!!

 cd $HADOOP_HOME

或者cd ..重复多次回到

ll

cd data

cd dfs

cd current

ls

看到下列信息,则表示名称节点格式成功。

接下来,进入 hadoop101 的 /opt/module/hadoop-3.3.0/sbin 目录,启动 HDFS:

先切换目录到sbin

cd ..

注意重复多次

cd sbin

可以输入ll查看可以进行的服务:

hadoop101启动:

##启动HDFS,因为NAMENODE在101上,所以在101上启动HDFS管理界面在hadoop101上

./start-dfs.sh

然后,进入hadoop102的 hadoop 的 sbin 目录,启动 yarn 服务

##启动yarn,因为resourcemanager在102上,所以需要在102上启动YARN管理界面在hadoop102上

cd /opt/module/hadoop-3.3.0/sbin

./start-yarn.sh

jps查看进程

hadoop101:

hadoop102:

hadoop103:

与规划进行对比,目标实现。

14.集群 WEB UI 访问

修改 windows 的 C:\Windows\System32\drivers\etc 目录的host 文件(需管理员模式开启)

可以先重命名添加.txt变为文本文件,再添加内容,再次重命名,删除后缀。

打开hosts文件,在该文件的末尾添加如下内容,以方便在 windows 环境下用机器名访问集群中虚拟主机:

192.168.30.101 hadoop101

192.168.30.102 hadoop102

192.168.30.103 hadoop103

###如果无法进行以上操作可以先做一个hosts的副本(复制粘贴),在副本进行操作,在删除原本的hosts,重新命名副本名称为hosts

在 windows 环境下,在浏览器中,为了查看hadoop HDFS的相关信息以及能做一些基本的 HDFS 操作,网址输入hadoop101:9870,出现如下界面:

如果后续有需要可以打开如下界面,进行拓展。

输入hadoop102:8088 ,出现如下界面:

输入hadoop103:9868 ,出现如下界面:

到这里,hadoop 集群环境已经安装完毕,后续我们可以把采集到的数据文件保存到HDFS,为以后的分析操作奠定数据基础。

后续直接在hadoop102这里cd sbin后使用下面代码,来停止 HDFS 服务以及YARN 资源管理服务。

./stop-all.sh

###或者在hadoop101使用./ stop-dfs.sh 以及在hadoop102使用 ./stop-yarn.sh 来停止 HDFS 服务以及YARN 资源管理服务。

标签: hadoop centos 大数据

本文转载自: https://blog.csdn.net/m0_70172872/article/details/142442244
版权归原作者 小白微秃 所有, 如有侵权,请联系我们删除。

“hadoop三机集群环境安装和配置(最小化安装)”的评论:

还没有评论