《Hadoop集群部署【一】HDFS详细介绍以及HDFS集群环境部署》(YARN以及MapReduce的部署点击文章结尾链接跳转Hadoop集群部署【二】)(笔记,十分详细)

 HDFS详细介绍(以下图片均为学习时截取)

HDFS是什么

 HDFS是Hadoop三大组件(HDFS、MapReduce、YARN)之一 全称是:Hadoop Distributed File System(Hadoop分布式文件系统);是Hadoop技术栈内提供的分布式数据存储解决方案 可以在多台服务器上构建存储集群,存储海量的数据。

了解为什么海量数据需要使用分布式存储技术

答:1、太大,单台服务器无法承担。

        2、靠数量取胜 多台服务器组合,才能Hold住。

        3、分布式不仅仅是解决了能存的问题, 多台服务器协同工作 带来的也是性能的横向扩展。(网络传输、磁盘读写、CPU、内存等各方面的综合提升)——分布式的性能提升。

        

 HDFS的基础架构

 

 

 一个典型的HDFS集群,就是由1个DataNode加若干(至少一个)DataNode组成。 

 

 HDFS各个组件介绍
 NameNode:

HDFS系统的主角色,是一个独立的进程 负责管理HDFS整个文件系统 负责管理DataNode。

 SecondaryNameNode:

NameNode的辅助,是一个独立进程 主要帮助NameNode完成元数据整理工作(打杂)。

 DataNode:

HDFS系统的从角色,是一个独立进程 主要负责数据的存储,即存入数据和取出数据。

HDFS集群环境部署

注意:请完成集群前置准备工作:

链接相关文章的命令没有修改,所以复制的时候会带点版权什么的,命令不多,用到其他文章的话辛苦各位删一下,本篇内容修改后不存在这样的问题。

配置多台虚拟机:

2024.08.11更新icon-default.png?t=N7T8http://t.csdnimg.cn/uVVHx

2024.08.11补充:配置多台虚拟机后:配置MAC地址

node2和node3都是从node1克隆过来的,他们的MAC地址都一样,所以需要让node2和node3重新生成MAC地址,生成方式如下:

1、配置node2的MAC地址

1)使用VMware打开node2

2)右键点击node2,选择设置

3)生成新的MAC地址

配置node3的MAC地址

node3的配置方式和node2相同,不再重复


ip固定2024.08.11修改icon-default.png?t=N7T8http://t.csdnimg.cn/HZjhD
主机映射:2024.08.11修改icon-default.png?t=N7T8http://t.csdnimg.cn/90GcL
ssh免密登录(以root用户为例,其他用户创建后一样):2024.08.11修改icon-default.png?t=N7T8http://t.csdnimg.cn/eJKAe
Jdk:2024.08.11修改icon-default.png?t=N7T8http://t.csdnimg.cn/yhePq
关闭防火墙以及SELinux关闭:2024.08.11修改icon-default.png?t=N7T8http://t.csdnimg.cn/Hs14h

为了系统的安全和稳定,建议使用自建的用户来管理大数据相关的软件,这里使用hadoop用户为HDFS最高权限用户。(2024.08.11补充说明:不用管用户的事,后面需要创建并使用到的时候会说,继续弄下去就行)

下载

官方网址:https://hadoop.apache.org,本教程使用的是3.3.4版。

 上传 & 解压(我的Hadoop版本为3.3.4)

注意以下路径/export/server,改写为自己想放的路径,我的软件通常都放在/export/server!!!!!!!!!和我一样就不用管。(2024.08.11修改后不再标红,自己注意一下)

 1. 上传Hadoop安装包到node1节点中。

自己选择弄

2. 解压缩安装包到/export/server/中
tar -zxvf hadoop-3.3.4.tar.gz  -C /export/server
3. 构建软链接
ln -s /export/server/hadoop-3.3.4 hadoop
4. 进入hadoop安装包内
cd hadoop
5. 各个文件夹含义如下 

bin,存放Hadoop的各类程序(命令)

etc,存放Hadoop的配置文件 include,C语言的一些头文件

ib,存放Linux系统的动态链接库(.so文件)

libexec,存放配置Hadoop系统的脚本文件(.sh和.cmd)

licenses-binary,存放许可证文件 sbin,管理员程序(super bin)

share,存放二进制源码(Java jar包) 

 修改配置文件,应用自定义设置

1.  配置HDFS集群,我们主要涉及到如下文件的修改:

workers:        配置从节点(DataNode)有哪些

hadoop-env.sh:        配置Hadoop的相关环境变量

core-site.xml:        Hadoop核心配置文件

hdfs-site.xml:        HDFS核心配置文件

这些文件均存在与$HADOOP_HOME/etc/hadoop文件夹中。

2.  配置workers文件

进入配置文件目录

cd etc/hadoop

编辑workers文件

vim workers

填入如下内容

node1
node2
node3

 表明集群记录了三个从节点(DataNode)

3. 配置hadoop-env.sh文件
export JAVA_HOME=/export/server/jdk

export HADOOP_HOME=/export/server/hadoop

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

export HADOOP_LOG_DIR=$HADOOP_HOME/logs

变量解释: 

JAVA_HOME,指明JDK环境的位置在哪

HADOOP_HOME,指明Hadoop安装位置

HADOOP_CONF_DIR,指明Hadoop配置文件目录位置

HADOOP_LOG_DIR,指明Hadoop运行日志目录位置

通过记录这些环境变量, 来指明上述运行时的重要信息 

 4.配置core-site.xml文件

 在文件内部填入如下内容,找文件中

<configuration>

</configuration>

的位置,覆盖就行

<configuration>  
        <property>    
                <name>fs.defaultFS</name>    
                <value>hdfs://node1:8020</value>  
        </property>  
        <property>    
                <name>io.file.buffer.size</name>    
                <value>131072</value>  
        </property>
</configuration>

 name:fs.defaultFS

含义:HDFS文件系统的网络通讯路径

value:hdfs://node1:8020

协议为hdfs://

namenode为node1

namenode通讯端口为8020

name:io.file.buffer.size

含义:io操作文件缓冲区大小

value:131072 bit

hdfs://node1:8020为整个HDFS内部的通讯地址,应用协议为hdfs://(Hadoop内置协议) 表明DataNode将和node1的8020端口通讯,node1是NameNode所在机器 此配置固定了node1必须启动NameNode进程

 5. 配置hdfs-site.xml文件

在文件内部填入如下内容,找文件中

<configuration>

</configuration>

的位置,覆盖就行。

<configuration>  
        <property>    
                <name>dfs.datanode.data.dir.perm</name>    
                <value>700</value>  
        </property>  
        <property>    
                <name>dfs.namenode.name.dir</name>    
                <value>/data/nn</value>  
        </property>  
        <property>    
                <name>dfs.namenode.hosts</name>    
                <value>node1,node2,node3</value>  
        </property>
        <property>    
                <name>dfs.blocksize</name>    
                <value>268435456</value>  
        </property>  
        <property>    
                <name>dfs.namenode.handler.count</name>    
                <value>100</value>  
        </property>  
        <property>    
                <name>dfs.datanode.data.dir</name>    
                <value>/data/dn</value>  
        </property>
</configuration>

 解释

根据

namenode数据存放node1的/data/nn

datanode数据存放node1、node2、node3的/data/dn

所以应该 在node1节点:

mkdir -p /data/nn

mkdir /data/dn

在node2和node3节点:

mkdir -p /data/dn

 从node1将hadoop安装文件夹远程复制到node2、node3

 分发
 node1执行如下命令
cd /export/server

scp -r hadoop-3.3.4 node2:`pwd`/

scp -r hadoop-3.3.4 node3:`pwd`/
 在node2执行,为hadoop配置软链接
ln -s /export/server/hadoop-3.3.4 /export/server/hadoop
 在node3执行,为hadoop配置软链接
 ln -s /export/server/hadoop-3.3.4 /export/server/hadoop

 配置系统的环境变量

所有机器

vim /etc/profile
export HADOOP_HOME=/export/server/hadoop

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

 授权为hadoop用户

 hadoop部署的准备工作基本完成

为了确保安全,hadoop系统不以root用户启动,我们以普通用户hadoop来启动整个Hadoop服务 所以,现在需要对文件权限进行授权。

 注意:请确保已经提前创建好了hadoop用户,并配置好了hadoop用户之间的免密登录!!!!

2024.08.12补充:非生产环境下可以不使hadoop用户,那么后续所有操作请在root用户下进行,最高权限为root用户,本教程以hadoop用户为所有大数据软件最高权限用户 

useradd [-g -d] 用户名  
#选项:-g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须#使用-g
#选项:-d指定用户HOME路径,不指定,HOME目录默认在:/home/用户名

passwd hadoop  # hadoop为用户名,改代码作用是修改用户名密码,学习测试建议为12345678

hadoop用户免密登录参考root用户的ssh配置(往上翻,有链接,和root用户一样,没区别)

切换下用户就可以了

su - hadoop

完成免密登陆后,以root身份,在node1、node2、node3(所有机器)三台服务器上均执行如下命令 

su - root
chown -R hadoop:hadoop /data

chown -R hadoop:hadoop /export

 格式化整个文件系统

格式化namenode

 如果最高权限为hadoop用户,确保下面操作以hadoop用户执行

su - hadoop

在node1格式化namenode

hadoop namenode -format
 启动
 # 一键启动hdfs集群

start-dfs.sh

# 一键关闭hdfs集群

stop-dfs.sh



# 如果遇到命令未找到的错误,表明环境变量未配置好,可以以绝对路径执行 /export/server/hadoop/sbin/start-dfs.sh

/export/server/hadoop/sbin/stop-dfs.sh

 查看HDFS WEBUI

 启动完成后,可以在浏览器打开: http://node1:9870,即可查看到hdfs文件系统的管理网页。

注意:没有配置windows系统的主机映射,将node1改为主机node1的ip!!!!!!!!

 主机名映射2024.08.13修改icon-default.png?t=N7T8http://t.csdnimg.cn/90GcL

 

在Windows挂载HDFS文件系统

2024.08.11修改NFS链接icon-default.png?t=N7T8http://t.csdnimg.cn/VJ0r9

 配置hadoop组件yarn,mapreduce:2024.08.13修改 点击跳转haoop集群部署【二】icon-default.png?t=N7T8http://t.csdnimg.cn/wmQD9

  • 12
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小智学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值