Hadoop3.3.0集群搭建(CentOS7)

Hadoop集群搭建


文章目录


搭建环境

以下为搭建Hadoop集群所需要的环境:
VMware Workstation
Xshell
Xftp
Nodepad++
CentOS 7
hadoop-3.3.0
jdk-1.8
所需软件,可到官网进行下载


一、安装VMware虚拟机

1.1安装虚拟机

	安装目录没有中文字符,没有空格

1.2配置网关

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

1.3修改windows的网卡信息

在这里插入图片描述

第3步的192.168.88.x改为192.168.240.x 即与WMware设置的相同即可

二、安装CentOS

2.1模拟硬件

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

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

在这里插入图片描述

2.2关联centos镜像

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

2.3安装centos镜像

主机名自己设置即可

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

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


三、连接xshell


四、连接nodepad++


五、使用nodepad++修改linux的网卡配置信息

文件目录:/etc/sysconfig/network-scripts/ifcfg-ens32

在这里插入图片描述

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="ens32"
UUID="3b3f9a3b-a378-41d9-bb5e-fdeca47539a7"
DEVICE="ens32"
ONBOOT="yes"

IPADDR="192.168.240.151"
GATEWAY="192.168.240.2"
NETMASK="255.255.255.0"
DNS1="8.8.8.8"
DNS2="114.114.114.114"
IPV6_PRIVACY="no"

修改完成后重启网卡服务,加载新的配置文件

systemctl restart network

重启完成后要重新连接xshell与nodepad++


六、关闭防火墙

查看防火墙状态

systemctl status firewalld

关闭防火墙

systemctl stop firewalld

禁止开机启动

systemctl disable firewalld

七、添加用户组并给予权限

添加hadoop用户组

groupadd hadoop

添加hadoop01用户

useradd -g hadoop hadoop01

注意:这里的用户名可以自主更改

设置密码

passwd hadoop01

给予权限

chmod 660 /etc/sudoers

将 hadoop 用户添加到 sudoers 文件中:

vi /etc/sudoers

在打开的文本编辑器中找到下面这一行:

root    ALL=(ALL:ALL) ALL

在这一行下面添加一行,以授予 hadoop2112034222 用户执行 sudo 命令的权限,如下所示:

hadoop01 ALL=(ALL) ALL

然后保存并关闭文件,并以 hadoop 用户身份重新登录系统即可。

reboot

八、在虚拟机中创建两个目录

这里是新建的Hadoop用户而不是root用户

软件包放置的目录:

mkdir software    

软件安装的目录:

mkdir server     

九、克隆虚拟机

要建立克隆两台机器

克隆虚拟机时,要将被克隆的主机关机

在这里插入图片描述

要建立完整克隆

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


十、配置MAC地址

分别为克隆的两台主机配置MAC地址

在这里插入图片描述


十一、分别修改三台主机的ip地址、主机名与映射

11.1配置IP地址

打开配置文件

sudo vi /etc/sysconfig/network-scripts/ifcfg-ens32

将hadoop02与hadoop03的ip分别改为
192.168.240.152
192.168.240.153

在这里插入图片描述

重启网卡

systemctl restart network

查看IP地址

ifconfig

11.2配置主机名

分别编辑每台虚拟机的hostname文件,直接填写主机名,保存退出即可。

sudo vi /etc/hostname

第一台主机主机名为: hadoop01
第二台主机主机名为:hadoop02
第三台主机主机名为: hadoop03

11.3 配置每台虚拟机的映射

分别编辑每台虚拟机的hosts文件,在原有内容的基础上,填下以下内容:
注意:不要修改文件原来的内容,三台虚拟机的配置内容都一样。

sudo vi /etc/hosts

添加内容如下:

192.168.240.151 hadoop01
192.168.240.152 hadoop02
192.168.240.153 hadoop03

效果如图

在这里插入图片描述

重新启动三台主机


十二、配置免密登录

12.1三台主机生成公钥和私钥

在三台机器执行以下命令,生成公钥与私钥

ssh-keygen -t rsa

执行该命令之后,按下三个回车即可,然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
默认保存在/home/hadoop01/.ssh

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

12.2拷贝公钥到同一台机器

三台机器将拷贝公钥到第一台机器

三台机器执行命令:

ssh-copy-id hadoop01

在执行该命令之后,需要输入yes和hadoop01的密码:

在这里插入图片描述

12.3复制第一台机器的认证到其他机器

将第一台机器的公钥拷贝到其他机器上

在第一台机器上指行以下命令

scp /home/hadoop01/.ssh/authorized_keys hadoop02:/home/hadoop01/.ssh
scp /home/hadoop01/.ssh/authorized_keys hadoop03:/home/hadoop01/.ssh

执行命令时,需要输入yes和对方的密码

12.4测试免密登录

可以在任何一台主机上通过ssh 主机名命令去远程登录到该主机,输入exit退出登录
例如:在hadoop01机器上,免密登录hadoop02机器,在hadoop01上输入:

ssh hadoop02

效果如下:

在这里插入图片描述
注意:这里是不需要输入密码的,如果需要输入密码,则表明你的免密登录设置的有问题


十三、配置java

13.1使用xftp上传jdk压缩包

在hadoop01 进入 /home/hadoop01/software目录上传 jdk-8u241-linux-x64.tar.gz

cd software

13.2解压jdk

解压压缩包到sever目录下:

 tar -zxvf jdk-8u241-linux-x64.tar.gz -C ~/server

查看解压后的目录,目录中有 jdk1.8.0_241 为 jdk 解压的目录

13.3配置环境变量

打开/etc/profile 配置文件,将下面配置拷贝进去。
export 命令用于将 shell 变量输出为环境变量

sudo vi /etc/profile

通过键盘上下键 将光标拉倒最后面

然后输入 i, 将以下下内容输入即可

#set Javasource
export JAVA_HOME=/home/hadoop01/server/jdk1.8.0_241
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH  
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

按esc键 然后 :wq 保存退出即可

重新加载环境变量:

source /etc/profile

将环境配置加入到/.bashrc

cat /etc/profile >> ~/.bashrc

#远程ssh执行需要设置~/.bashrc的环境变量。
#非登入shell按如下顺序加载配置文件:1:/etc/bashrc 2:~/.bashrc

13.4验证jdk是否安装成功

java -version

出现以下内容即成功:

[hadoop01@hadoop01 ~]$ java -version
java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)

十四、配置hadoop

14.1使用xftp上传hadoop压缩包

在hadoop01 进入 /home/hadoop01/software目录上传 hadoop-3.3.0-Centos7-64-with-snappy.tar.gz

cd software

14.2解压hadoop

解压压缩包到sever目录下:

tar -zxvf hadoop-3.3.0-Centos7-64-with-snappy.tar.gz -C ~/server

查看解压后的目录,目录中有hadoop-3.3.0 为 hadoop解压的目录

14.3配置环境变量

打开/etc/profile 配置文件,将下面配置拷贝进去。

sudo vi /etc/profile

通过键盘上下键 将光标拉倒最后面

然后输入 i, 将以下下内容输入即可

#set HadoopSource
export HADOOP_HOME=/home/hadoop01/server/hadoop-3.3.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

按esc键 然后 :wq 保存退出即可

重新加载环境变量:

source /etc/profile

将环境配置加入到/.bashrc

cat /etc/profile >> ~/.bashrc

14.4验证是否安装成功

whereis hdfs

出现以下内容即配置成功:

[hadoop01@hadoop01 ~]$ whereis hdfs
hdfs: /home/hadoop01/server/hadoop-3.3.0/bin/hdfs /home/hadoop01/server/hadoop-3.3.0/bin/hdfs.cmd

14.5修改hadoo配置文件

配置文件在 /home/hadoop01/server/hadoop-3.3.0/etc/hadoop 目录下

以下配置根据需要添加

14.5.1core-site.xml

/home/hadoop01/server/hadoop-3.3.0/ 目录下创建tmp文件夹

cd server/hadoop-3.3.0/

mkdir tmp

配置文件内容:

<!-- 设置默认使用的文件系统 Hadoop支持file、HDFS、GFS、ali|Amazon云等文件系统 -->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://hadoop01:8020</value>
</property>

<!-- 设置Hadoop本地保存数据路径 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop01/server/hadoop-3.3.0/tmp</value>
</property>

<!-- 设置HDFS web UI用户身份 -->
<property>
    <name>hadoop.http.staticuser.user</name>
    <value>hadoop01</value>
</property>

<!-- 整合hive 用户代理设置 -->
<property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>

<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>

14.5.2hdfs-site.xml

<!-- 设置SNN进程运行机器位置信息 -->
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>hadoop02:9868</value>
</property>

14.5.3yarn-site.xml

<!-- 设置YARN集群主角色运行机器位置 -->
<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>hadoop01</value>
</property>

<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

<!-- 是否将对容器实施物理内存限制 -->
<property>
    <name>yarn.nodemanager.pmem-check-enabled</name>
    <value>false</value>
</property>

<!-- 是否将对容器实施虚拟内存限制。 -->
<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>

<!-- 开启日志聚集 -->
<property>
  <name>yarn.log-aggregation-enable</name>
  <value>true</value>
</property>

<!-- 设置yarn历史服务器地址 -->
<property>
    <name>yarn.log.server.url</name>
    <value>http://hadoop01:19888/jobhistory/logs</value>
</property>

<!-- 保存的时间7天 -->
<property>
  <name>yarn.log-aggregation.retain-seconds</name>
  <value>604800</value>
</property>

14.5.4mapred-site.xml

<!-- 设置MR程序默认运行模式: yarn集群模式 local本地模式 -->
<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>

<!-- MR程序历史服务器端地址 -->
<property>
  <name>mapreduce.jobhistory.address</name>
  <value>hadoop01:10020</value>
</property>

<!-- 历史服务器web端地址 -->
<property>
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>hadoop01:19888</value>
</property>

<property>
  <name>yarn.app.mapreduce.am.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

<property>
  <name>mapreduce.map.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

<property>
  <name>mapreduce.reduce.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

14.5.5workers

删除原有内容,添加以下内容:

hadoop01 
hadoop02 
hadoop03

十五、分发文件到其他节点

15.1分发server下的所有文件到其他节点

scp -r /home/hadoop01/server hadoop01@hadoop02:/home/hadoop01/
scp -r /home/hadoop01/server hadoop01@hadoop03:/home/hadoop01/

15.2分发环境配置文件

scp ~/.bashrc hadoop02:~/.bashrc
scp ~/.bashrc hadoop03:~/.bashrc

分别在hadoop02与hadoop03中输入以下代码,是环境变量生效:

source ~/.bashrc

十六、格式化namenode

输入以下命令:

hdfs namenode -format

十七、启动hadoop

17.1启动hdfs

start-dfs.sh

17.2启动yarn

start-yarn.sh

17.3开启historyserver

mapred --daemon start historyserver

17.4一键启动

start-all.sh

17.5单个节点启动

[hadoop01@hadoop01 server]# hdfs --daemon start namenode
[hadoop01@hadoop01 server]# hdfs --daemon start datanode
[hadoop01@hadoop01 server]# yarn --daemon start resourcemanager
[hadoop01@hadoop01 server]# yarn --daemon start nodemanager
[hadoop01@hadoop01 server]# mapred --daemon start historyserver	   
[hadoop01@hadoop02 ~]# hdfs --daemon start secondarynamenode
[hadoop01@hadoop02 ~]# yarn --daemon start nodemanager
[hadoop01@hadoop02 ~]# hdfs --daemon start datanode
[hadoop01@hadoop03 ~]# yarn --daemon stop nodemanager
[hadoop01@hadoop03 ~]# hdfs --daemon stop datanode

十八、测试

18.1查看进程

[hadoop01@hadoop01 ~]$ jps
30210 DataNode
30661 NodeManager
30524 ResourceManager
30047 NameNode
31695 Jps
[hadoop01@hadoop02 ~]$ jps
29762 DataNode
30306 Jps
29976 NodeManager
29883 SecondaryNameNode
[hadoop01@hadoop03 ~]$ jps
29595 NodeManager
29471 DataNode
29903 Jps

18.2HDFS界面

http://192.168.240.151:

在这里插入图片描述

18.3YARN界面

http://192.168.240.151:8088

在这里插入图片描述

18.4MR界面

http://192.168.240.152:9868

在这里插入图片描述

18.5historyserver

http://192.168.240.151:19888

在这里插入图片描述


十九、关闭hadoop

19.1关闭hdfs

stop-dfs.sh

19.2关闭yarn

stop-yarn.sh

19.3关闭historyserver

mapred --daemon stop historyserver

19.4一键关闭

stop-all.sh

19.5单个节点逐个关闭

[hadoop01@hadoop01 server]# hdfs --daemon stop namenode
[hadoop01@hadoop01 server]# hdfs --daemon stop datanode
[hadoop01@hadoop01 server]# yarn --daemon stop resourcemanager
[hadoop01@hadoop01 server]# yarn --daemon stop nodemanager
[hadoop01@hadoop01 server]# mapred --daemon stop historyserver	   
[hadoop01@hadoop02 ~]# hdfs --daemon stop secondarynamenode
[hadoop01@hadoop02 ~]# yarn --daemon stop nodemanager
[hadoop01@hadoop02 ~]# hdfs --daemon stop datanode
[hadoop01@hadoop03 ~]# yarn --daemon stop nodemanager
[hadoop01@hadoop03 ~]# hdfs --daemon stop datanode

总结

本文尽量详细的向大家展示了Hadoop集群环境的搭建流程,旨在帮助新手以最快的时间成功搭建Hadoop集群。
如有问题,欢迎评论!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值