大数据最新搭建Hadoop3(1),2024年最新2024我对大数据开发-view的3条认识

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

在这里插入图片描述

4. 网络设置

网络整体规划如下:

虚拟机名主机名IP
hadoop1hadoop1192.168.121.160
hadoop2hadoop2192.168.121.161
hadoop3hadoop3192.168.121.162
1)配置VMware Workstation网络

在VMware Workstation主界面,依次单击“编辑”→“虚拟网络编辑器…”选项,配置VMware Workstation网络。

在这里插入图片描述

2)配置静态IP

以hadoop1主机为例,类似配置hadoop2、 hadoop3

编辑配置文件

vi /etc/NetworkManager/system-connections/ens33.nmconnection

在这里插入图片描述

method=manual
address1=192.168.121.160/24,192.168.121.2
dns=114.114.114.114

修改uuid(只需要修改hadoop2、 hadoop3主机)

uuid的作用是使分布式系统中的所有元素都有唯一的标识码。

sed -i '/uuid=/c\uuid='`uuidgen`'' /etc/NetworkManager/system-connections/ens33.nmconnection

重启ens33网卡和重新加载网络配置文件

nmcli c reload
nmcli c up ens33

查看网络信息

ip a

在这里插入图片描述

检测网络

ping www.baidu.com

在这里插入图片描述

输入ctrl+c退出检测

3)主机名

配置hadoop2主机名

hostnamectl set-hostname hadoop2

配置hadoop3主机名

hostnamectl set-hostname hadoop3

4)配置虚拟机SSH远程登录

在这里插入图片描述

① 配置putty

在这里插入图片描述

② 配置winscp

在这里插入图片描述

5)修改映射文件

在虚拟机hadoop1主机执行vi /etc/hosts命令编辑映射文件hosts,在配置文件中添加如下内容。

192.168.121.160 hadoop1
192.168.121.161 hadoop2
192.168.121.162 hadoop3

在虚拟机hadoop1主机执行如下命令,拷贝配置到hadoop2, hadoop3

scp /etc/hosts root@hadoop2:/etc/hosts
scp /etc/hosts root@hadoop3:/etc/hosts

在这里插入图片描述

6) 关闭防火墙

关闭虚拟机Hadoop1、Hadoop2和Hadoop3的防火墙,分别在3台虚拟机中运行如下命令关闭防火墙并禁止防火墙开启启动。

  • 关闭防火墙systemctl stop firewalld
  • 禁止防火墙开机启动systemctl disable firewalld

5. 免密登录

在集群环境中,主节点需要频繁的访问从节点,以获取从节点的运行状态,主节点每次访问从节点时都需要通过输入密码的方式进行验证,确定密码输入正确后才建立连接,这会对集群运行的连续性造成不良影响,为主节点配置SSH免密登录功能,可以有效避免访问从节点时频繁输入密码。接下来,虚拟机hadoop1作为集群环境的主节点实现SSH免密登录。

SSH免密登录原理(原理:非对称加密算法:公钥加密(给别人)、私钥解密给自己)

在这里插入图片描述

1)生成密钥

在虚拟机hadoop1中执行ssh-keygen -t rsa命令,生成密钥。

在这里插入图片描述

查看秘钥文件

在虚拟机hadoop1中执行ll /root/.ssh命令查看密钥文件。

在这里插入图片描述

2)复制公钥文件

将虚拟机hadoop1生成的公钥文件复制到集群中相关联的所有虚拟机,实现通过虚拟机hadoop1可以免密登录虚拟机hadoop1、hdp3-2和hdp3-3。

ssh-copy-id hadoop1

在这里插入图片描述

ssh-copy-id hadoop2

ssh-copy-id hadoop3

3)测试免密登录
ssh hadoop1
ssh hadoop2
ssh hadoop3

在这里插入图片描述

6. 安装JDK

约定:软件安装包存放于/software,软件安装至/opt

1)创建目录

在虚拟机hadoop1中执行mkdir /software

2)上传jdk

利用winscp将jdk-8u261-linux-x64.tar.gz上传至hadoop1的/software目录

3)解压jdk
cd /software
ll
tar -xvf jdk-8u261-linux-x64.tar.gz -C /opt

4)配置JDK系统环境变量

在虚拟机hadoop1执行vi /etc/profile命令编辑环境变量文件profile,在该文件的底部添加配置JDK系统环境变量的内容。

export JAVA\_HOME=/opt/jdk1.8.0_261
export PATH=$PATH:$JAVA\_HOME/bin

记得执行source /etc/profile重新加载系统环境变量

5)验证jdk
java -version

在这里插入图片描述

6)同步文件

分发JDK安装目录和系统环境变量文件至hadoop2、hadoop3

scp -r  /opt/jdk* root@hadoop2:/opt
scp  /etc/profile root@hadoop2:/etc

scp -r  /opt/jdk* root@hadoop3:/opt
scp  /etc/profile root@hadoop3:/etc

二、完全分布式部署

基于完全分布式模式部署Hadoop,需要将Hadoop中HDFS和YARN的相关服务运行在不同的计算机中,我们使用已经部署好的3台虚拟机Hadoop1、Hadoop2和Hadoop3。为了避免在使用过程中造成混淆,先规划HDFS和YARN的相关服务所运行的虚拟机。

虚拟机名主机名IP角色服务
hadoop1hadoop1192.168.121.160masterNameNode、ResourceManager
hadoop2hadoop2192.168.121.161workersSecondaryNameNode、DataNode、NodeManager
hadoop3hadoop3192.168.121.162workersDataNode、NodeManager

1. 安装Hadoop

1)解压

以解压方式安装Hadoop,将Hadoop安装到虚拟机Hadoop1的/opt目录。

tar -xvf /software/hadoop-3.3.6.tar.gz   -C /opt

2)配置环境变量

在Hadoop1执行vi /etc/profile命令配置系统环境变量,在该文件的底部添加如下内容。

export HADOOP\_HOME=/opt/hadoop-3.3.6
export PATH=$PATH:$HADOOP\_HOME/bin:$HADOOP\_HOME/sbin

3)验证

在虚拟机Hadoop1的任意目录执行hadoop version命令查看当前虚拟机中Hadoop的版本号。

在这里插入图片描述

2. 修改配置文件

配置文件功能描述
hadoop-env.sh配置Hadoop运行时的环境,确保HDFS能够正常运行NameNode、SecondaryNameNode和DataNode服务
yarn-env.sh配置YARN运行时的环境,确保YARN能够正常运行ResourceManager和NodeManager服务
core-site.shHadoop核心配置文件
hdfs-site.xmlHDFS核心配置文件
mapred-site.xmlMapReduce核心配置文件
yarn-site.xmlYARN核心配置文件
workers控制从节点所运行的服务器
1)配置Hadoop运行时环境

在Hadoop安装目录/etc/hadoop/目录,执行vi hadoop-env.sh命令,在hadoop-env.sh文件的底部添加如下内容。

export JAVA\_HOME=/opt/jdk1.8.0_261
export HDFS\_NAMENODE\_USER=root
export HDFS\_DATANODE\_USER=root
export HDFS\_SECONDARYNAMENODE\_USER=root
export YARN\_RESOURCEMANAGER\_USER=root
export YARN\_NODEMANAGER\_USER=root

  • 指定Hadoop使用的JDK
  • 指定管理NameNode、DataNode等服务的用户为root
2)配置hadoop

在Hadoop安装目录/etc/hadoop/目录,执行vi core-site.xml命令,在core-site.xml文件中添加如下内容。

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://hadoop1:9000</value>
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/data/hadoop-3.3.6</value>
</property>
<property>
   <name>hadoop.http.staticuser.user</name>
   <value>root</value>
</property>
<property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>
<property>
    <name>fs.trash.interval</name>
    <value>1440</value>
</property>

注意:

  • 上面的配置项要配置到<configuration>标签中,后面的配置项类似

配置项:

  • fs.defaultFS:指定HDFS的通信地址
  • hadoop.tmp.dir:指定Hadoop临时数据的存储目录
  • hadoop.http.staticuser.user:指定通过Web UI访问HDFS的用户root
  • hadoop.proxyuser.root.hosts:允许任何服务器的root用户可以向Hadoop提交任务
  • hadoop.proxyuser.root.groups:允许任何用户组的root用户可以向Hadoop提交任务
  • fs.trash.interval:指定HDFS中被删除文件的存活时长为1440秒

更多参数请参考官网:https://hadoop.apache.org/docs/r3.3.6/hadoop-project-dist/hadoop-common/core-default.xml

3)配置HDFS

在Hadoop安装目录/etc/hadoop/目录,执行vi hdfs-site.xml命令,在hdfs-site.xml文件中添加如下内容。

<property>
    <name>dfs.replication</name>
    <value>2</value>
</property>
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>hadoop2:9868</value>
</property>

配置项:

  • dfs.replication:指定数据副本个数
  • dfs.namenode.secondary.http-address:指定SecondaryNameNode服务的通信地址

更多参数请参考官网:https://hadoop.apache.org/docs/r3.3.6/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

4)配置MapReduce

在Hadoop安装目录/etc/hadoop/目录,执行vi mapred-site.xml命令,在mapred-site.xml文件中添加如下内容。

<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<property>
    <name>mapreduce.job.ubertask.enable</name>
    <value>true</value>
</property>
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>hadoop1:10020</value>
</property>
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hadoop1: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>

配置项:

  • mapreduce.framework.name:MapReduce的执行模式,默认是本地模式,另外可以设置成classic(采用MapReduce1.0模式运行) 或 yarn(基于YARN框架运行).
  • mapreduce.job.ubertask.enable:是否允许开启uber模式,当开启后,小作业会在一个JVM上顺序运行,而不需要额外申请资源
  • mapreduce.jobhistory.address:指定MapReduce历史服务的通信地址
  • mapreduce.jobhistory.webapp.address:指定通过Web UI访问MapReduce历史服务的地址
  • yarn.app.mapreduce.am.env:指定MapReduce任务的运行环境
  • mapreduce.map.env:指定MapReduce任务中Map阶段的运行环境
  • mapreduce.reduce.env:指定MapReduce任务中Reduce阶段的运行环境

更多参数请参考官网:https://hadoop.apache.org/docs/r3.3.6/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml

5)配置YARN

在Hadoop安装目录/etc/hadoop/目录,执行vi yarn-site.xml命令,在yarn-site.xml文件中添加如下内容。

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop1</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>
<property>
    <name>yarn.log.server.url</name>
    <value>http://hadoop1:19888/jobhistory/logs</value>
</property>
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
</property>

配置项:

  • yarn.resourcemanager.hostname:指定ResourceManager服务运行的主机
  • yarn.nodemanager.aux-services:指定NodeManager运行的附属服务
  • yarn.nodemanager.pmem-check-enabled:指定是否启动检测每个任务使用的物理内存
  • yarn.nodemanager.vmem-check-enabled:指定是否启动检测每个任务使用的虚拟内存
  • yarn.log-aggregation-enable:指定是否开启日志聚合功能
  • yarn.log.server.url:指定日志聚合的服务器
  • yarn.log-aggregation.retain-seconds:指定日志聚合后日志保存的时间

更多参数请参考官网:https://hadoop.apache.org/docs/r3.3.6/hadoop-yarn/hadoop-yarn-common/yarn-default.xml

6)配置workers

在虚拟机Hadoop1的/opt/hadoop-3.3.6/etc/hadoop/目录,执行vi workers命令,将workers文件默认的内容修改为如下内容。

hadoop2
hadoop3

3. 同步文件

使用scp命令将虚拟机Hadoop1的Hadoop安装目录分发至虚拟机Hadoop2和Hadoop3中存放安装程序的目录。

scp -r /opt/hadoop-3.3.6 root@hadoop2:/opt
scp -r /opt/hadoop-3.3.6 root@hadoop3:/opt

scp /etc/profile root@hadoop2:/etc
scp /etc/profile root@hadoop3:/etc

4. 格式化

  • 在基于伪分布式模式部署的Hadoop安装目录/opt/pdch/hadoop-3.3.6中,关闭基于伪分布式模式部署的Hadoop
  • 在虚拟机Hadoop1执行hdfs namenode -format命令,对基于完全分布式模式部署的Hadoop进行格式化HDFS文件系统的操作。

注意:格式化HDFS文件系统的操作只在初次启动Hadoop集群之前进行。

5. 启动

在虚拟机Hadoop1中执行命令启动Hadoop

start-dfs.sh
start-yarn.sh

6. 检测

1)jps查看进程

HDFS和YARN的相关服务运行在JVM进程中,可以执行jps命令查看当前虚拟机中运行的JVM进程。

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

2)Web UI

① 在本地计算机的浏览器输入http://192.168.121.160:9870查看HDFS的运行状态。

在这里插入图片描述

② 在本地计算机的浏览器输入http://192.168.121.160:8088查看YARN的运行状态。

在这里插入图片描述

如果希望在本地计算机上使用 http://hadoop1:9870和http://hadoop1:8088查看Hadoop运行状态, 需要配置本机的hosts文件

C:\Windows\System32\drivers\etc\hosts, 添加如下内容即可

192.168.121.160 hadoop1
192.168.121.161 hadoop2
192.168.121.162 hadoop3

7. Hadoop启动服务总结

下面就Hadoop的服务启动进行简单的总结:

1)整体启动和关闭
start-all.sh
stop-all.sh

2)各个服务组件逐一启动/停止

(1)分别启动/停止HDFS组件

hdfs --daemon start namenode
hdfs --daemon start datanode
hdfs --daemon start secondarynamenode
hdfs --daemon stop namenode
hdfs --daemon stop datanode


![img](https://img-blog.csdnimg.cn/img_convert/97a0fe56bb87e90977dd2ce2fa5cc7dc.png)
![img](https://img-blog.csdnimg.cn/img_convert/9916c144ba6bff80e4dbd40ecedabd15.png)
![img](https://img-blog.csdnimg.cn/img_convert/7deb81d905bfed02d3e17615d8011425.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**

如下内容即可
> 
> 
> 
> ```
> 192.168.121.160 hadoop1
> 192.168.121.161 hadoop2
> 192.168.121.162 hadoop3
> 
> ```
> 
> 


### 7. Hadoop启动服务总结


下面就Hadoop的服务启动进行简单的总结:


#### 1)整体启动和关闭



start-all.sh
stop-all.sh


#### 2)各个服务组件逐一启动/停止


(1)分别启动/停止HDFS组件



hdfs --daemon start namenode
hdfs --daemon start datanode
hdfs --daemon start secondarynamenode
hdfs --daemon stop namenode
hdfs --daemon stop datanode

[外链图片转存中…(img-I2a9Xef2-1715059451693)]
[外链图片转存中…(img-DHt0r5Fz-1715059451693)]
[外链图片转存中…(img-yOfXVN4K-1715059451693)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值