Bootstrap

2024年大数据最全Hadoop大数据集群搭建(超详细)_hadoop集群搭建,快速从入门到精通

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

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

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

修改完成之后记得使用命令source /etc/profile,使修改生效

4. JDK环境验证

java -version

第六步:安装Hadoop

1. 下载Hadoop 3.1.3

Index of /dist/hadoop/common

2. 安装Hadoop

同样通过mobaxterm的上的SFTP功能(或其他工具)上传到/export/software目录下,然后解压到/export/servers目录下

cd /export/software

mobaxterm的上的SFTP功能

tar -zxvf hadoop-3.1.3.tar.gz -C /export/servers/

3. 配置Hadoop系统环境变量

vim /etc/profile

配置环境变量

export HADOOP_HOME=/export/servers/hadoop-3.1.3

export PATH=: H A D O O P _ H O M E / b i n : HADOOP\_HOME/bin: HADOOP_HOME/bin:HADOOP_HOME/sbin:$PATH

同时添加hadoop为root用户,否则启动的HDFS的时候可能会报错

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

执行source /etc/profile命令,让配置生效

4. 验证Hadoop环境

hadoop version

==========================   快照    ==================================

第七步:Hadoop集群配置

集群配置如下:

1、配置Hadoop集群主节点

(1)修改hadoop-env.sh文件

cd /export/servers/hadoop-3.1.3/etc/hadoop

vim hadoop-env.sh

找到export JAVA_HOME的位置修改

export JAVA_HOME=/export/servers/jdk

(2)修改core-site.xml文件

主要是配置主进程NameNode的运行主机和运行生成数据的临时目录

vim core-site.xml

写入以下内容

fs.defaultFS

hdfs://hadoop01:9000

hadoop.tmp.dir

/export/servers/hadoop-3.1.3/tmp

(3)修改hdfs-site.xml文件

设置HDFS数据块的副本数量以及second namenode的地址

vim hdfs-site.xml

写入以下内容

dfs.replication

3

dfs.namenode.secondary.http-address

hadoop02:50090

(4)修改mapred-site.xml文件

设置MapReduce的运行时框架

vim mapred-site.xml

写入以下内容

mapreduce.framework.name

yarn

(5)修改yarn-site.xml文件

设置yarn集群的管理者

vim yarn-site.xml

写入以下内容

yarn.resourcemanager.hostname

hadoop01

yarn.nodemanager.aux-services

mapreduce_shuffle

(6)修改workers文件

该文件用来记录从节点的主机名(hadoop 2.x中为slaves文件)

打开该配置文件,先删除里面的内容(默认localhost),然后配置如下内容。

vim workers

删除默认内容,添加以下内容

hadoop01

hadoop02

hadoop03

2、将集群主节点的配置文件分发到其他子节点

完成Hadoop集群主节点hadoop01的配置后,还需要将系统环境配置文件、JDK安装目录和Hadoop安装目录分发到其他子节点hadoop02和hadoop03上,具体指令:

scp /etc/profile hadoop02:/etc/profile

scp /etc/profile hadoop03:/etc/profile

scp -r /export/ hadoop02:/

scp -r /export/ hadoop03:/

传完之后要在hadoop02和hadoop03上分别执行 source /etc/profile 命令,来刷新配置文件

如果使用scp时需要输入密码,请重新检查ssh配置!

第八步:格式化文件系统

初次启动HDFS集群时,必须对主节点进行格式化处理。在hadoop01上执行

格式化文件系统指令如下:

hdfs namenode -format

不要多次格式化主节点!

第九步:启动和关闭hadoop集群

脚本一键启动:

hadoop01主节点上执行:

start-dfs.sh

可以通过jps看到

在主节点上执行

start-yarn.sh

如果想要关闭,输入stop-dfs.sh即可(不要执行)

第十步:通过UI界面查看hadoop运行状态

1. 关闭防火墙功能

在3台虚拟机上均执行以下命令

本次临时关闭防火墙、永久关闭防火墙

systemctl stop firewalld.service

systemctl disable firewalld.service

2. 修改windows下ip映射

打开C:\Windows\System32\drivers\etc下的hosts文件,添加以下内容(注:如果没有notepad++这类软件,可以通过记事本保存在其他位置,然后拖动到该文件夹下)

192.168.121.134 hadoop01

192.168.121.135 hadoop02

192.168.121.136 hadoop03

在浏览器输入

http://hadoop01:9870

http://hadoop01:8088

即可访问HDFS和Yarn

==========================   快照    ==================================

第十一步:hadoop集群初体验

统计word.txt中各单词出现的次数

在Hadoop01创建如下目录,并添加测试文件

mkdir -p /export/data

cd /export/data

vi word.txt

写入下列内容

hello world

hello hadoop

hello students

在HDFS上创建 /wordcount/input目录

hadoop fs -mkdir -p /wordcount/input

创建完成后可以在HDFS的网站上看到

将word.txt上传到该目录下

hadoop fs -put /export/data/word.txt /wordcount/input

执行该程序(参考下文中可能遇到的问题,问题1、2为必现问题,建议直接修改)

cd /export/servers/hadoop-3.1.3/share/hadoop/mapreduce

hadoop jar hadoop-mapreduce-examples-3.1.3.jar wordcount /wordcount/input /wordcount/output

查看结果如下:

注意:

可能遇到的问题1:

找不到或无法加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster

解决方法:

输入 hadoop classpath

复制返回的信息

修改yarn-site.xml

cd /export/servers/hadoop-3.1.3/etc/hadoop

vim yarn-site.xml

新增以下内容

yarn.application.classpath

输入刚才返回的Hadoop classpath路径

可能遇到的问题2:

Container killed on request. Exit code is 143

解决方法:

cd /export/servers/hadoop-3.1.3/etc/hadoop

vim mapred-site.xml

mapreduce.map.memory.mb

2048

maps的资源限制

mapreduce.reduce.memory.mb

2048

reduces的资源限制

可能遇到的问题3:

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

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

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

2048

maps的资源限制

mapreduce.reduce.memory.mb

2048

reduces的资源限制

可能遇到的问题3:

[外链图片转存中…(img-s7jxFCc3-1715241465601)]
[外链图片转存中…(img-AjnmgvmT-1715241465601)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

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

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

;