Hadoop 3.x各模式部署 - Ubuntu(下)

简介: Hadoop 3.x各模式部署 - Ubuntu(下)

五、伪分布模式

伪分布模式的实现方式是只使用一台机器,启动所有进程,可以进一步模拟集群运行时的任务状态,部署更加简单。【解压安装步骤同上

配置文件路径:$HADOOP_HOME/etc/hadoop

1. hadoop-env.sh

在文件第37行打开注释【去掉开头的#】,配置JAVA_HOME:

JAVA_HOME=/usr/lib/jvm/java-8-openjdk-arm64

2. core-site.xml

官方文档:https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/core-default.xml

<configuration>
        <!-- Hadoop临时文件存放路径,默认在/tmp目录下 -->
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/home/hadoop/hadoop-3.3.5/data</value>
        </property>
        <!-- NameNode结点的URI(包括协议、主机名称、端口号) -->
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://hadoop:8020</value>
        </property>
        <!-- 设置文件文件删除后,被完全清空的时间,默认为0,单位为分钟 -->
        <property>
            <name>fs.trash.interval</name>
            <value>60</value>
        </property>
</configuration>

3. hdfs-site.xml

官方文档:https://hadoop.apache.org/docs/stable/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml

<configuration>
        <!-- 块存储份数,默认为3 -->
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
        <!-- 关闭权限校验,开发学习时可开启,默认为true -->
        <property>
                <name>dfs.permissions</name>
                <value>false</value>
        </property>
        <!-- namenode的http访问地址和端口 -->
        <property>
                <name>dfs.namenode.http-address</name>
                <value>hadoop:50070</value>
        </property>
</configuration>

4. mapred-site.xml

官方文档:https://hadoop.apache.org/docs/stable/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml

<configuration>
        <!-- 设置运行MapReduce任务方式为yarn,默认为local,可选项还有classic -->
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
</configuration>

5. yarn-site.xml

官方文档:https://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-common/yarn-default.xml

<configuration>
        <!-- resourcemanager的主机名 -->
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>hadoop</value>
        </property>
        <!-- 分配给容器的物理内存量,单位是MB,设置为-1则自动分配,默认8192MB -->
        <property>
                <name>yarn.nodemanager.resource.memory-mb</name>vi 
                <value>1536</value>
        </property>
        <!-- NodeManager上运行的服务列表,可以配置成mapreduce_shuffle,多个服务使用逗号隔开 -->
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
</configuration>

6. workers

工作节点的主机名列表,默认为localhost,建议修改为自定义的主机名并绑定,详情见下一步骤。

hadoop

7. SSH免密登录

在使用Hadoop集群时,建议使用主机名称,这样即使ip地址发生变化,也不需要去修改相关的配置文件,只需要去修改一下主机名映射文件就可以了。上文的配置文件中都使用了hadoop作为主机名,以此为例进行演示。

  • Ubuntu修改主机名

在root用户下修改主机名设置文件:

sudo hostnamectl set-hostname hadoop

此时已经修改成功,打开一个新的回话和终端时将看到变化。

  • 开启SSH服务

首先确认SSH服务状态:

systemctl status ssh

如果没有安装使用以下命令:

apt-get install openssh-server

启动SSH服务:

sudo systemctl enable ssh
sudo systemctl start ssh
systemctl status ssh

  • 生成密钥
# 切换到hadoop用户下执行
su - hadoop
# 整个过程一直回车即可
ssh-keygen -t rsa
  • 配置免密登录

Hadoop启动时,会逐一登录到worker节点去启动相应的进程,对于伪分布模式来说,相当于自己登录自己。配置免密登录后,不再需要密码,而是通过密钥进行认证。

ssh-copy-id hadoop@hadoop
ssh hadoop

8. 集群启动

至此,所有的安装配置步骤都已完成,接下来准备启动Hadoop。

  • 首次格式化

第一次启动前需要进行格式化,用以生成集群UUID等核心信息。

hdfs namenode -format
  • 启动Hadoop

执行start-all.sh即可启动集群,遇到的警告忽略即可【10秒后会自动启动】,也可以按顺序启动dfs和yarn。

start-all.sh
  • 进程验证

启动成功后,使用jps命令查看各java进程:

出现5个进程证明成功【不包括jps】,如果缺少某个进程请返回检查配置文件,停止所有进程后【stop-all.sh】再次重新启动。

六、全分布模式

全分布模式的配置方式和步骤其实与伪分布式没有任何差别,在一台机器上配置好所有的配置文件后,分发到其它机器即可,核心步骤如下:

1. 前置环境

  • 部署安装JDK【三台机器】
  • 解压安装Hadoop【主节点】
  • 创建hadoop用户【三台机器】
  • 配置环境变量【主节点】

2. 修改配置文件

有部分核心配置文件需要修改:

  • core-site.xml

修改其中的fs.defaultFS:主机名的部分设置为主节点的主机名

  • hdfs-site.xml

修改其中的dfs.replication:设置为实际的数据存储节点个数

  • yarn-site.xml

修改其中的yarn.resourcemanager.hostname:设置为主节点的主机名

  • workers

将所有的worker节点的主机名列在这个文件中,每行一个。

3. 配置免密登录

假设我们有3台机器:hadoop01、hadoop02、hadoop03,每一台机器都执行如下操作:

# 在hadoop用户下执行
ssh-keygen -t rsa
ssh-copy-id hadoop@hadoop01
ssh-copy-id hadoop@hadoop02
ssh-copy-id hadoop@hadoop03

这样执行完成后,三台机器都可以免密互相登录,这样以后我们可以在任意一台机器上控制集群状态或者提交任务。

4. 文件分发

以上的步骤只需要在主节点做一次即可,然后我们将配置文件分发到另外两台机器。也就是说,三台机器的配置文件和环境是完全一致的,如果配置文件发生修改,也要记得手动同步覆盖。

scp -r /home/hadoop/hadoop-3.3.5 hadoop@hadoop02:/home/hadoop
scp -r /home/hadoop/hadoop-3.3.5 hadoop@hadoop03:/home/hadoop
scp -r /home/hadoop/.bashrc hadoop@hadoop02:/home/hadoop
scp -r /home/hadoop/.bashrc hadoop@hadoop03:/home/hadoop

由于我们已经配置了免密登录,整个过程不需要密码。

5. 集群启动

剩下的启动步骤与伪分布式相同,先进行一次格式化,然后执行启动脚本。

  • 格式化namenode

在主节点上执行以下命令:

hdfs namenode -format
  • 启动Hadoop进程:

在主节点上执行,会根据workers文件的配置逐一去启动各个节点上的进程。

start-all.sh

如果在workers文件中填写了主节点,则在主节点中应该出现5个进程(不包括jps本身),否则为3个:NameNode、SecondaryNameNode、ResourceManager。

从节点上会出现两个进程:DataNode、NodeManager,如果以上进程都成功启动,那么你的集群配置已经完成了。

目录
相关文章
|
1月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
155 6
|
1月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
65 2
|
1月前
|
Ubuntu 测试技术 网络安全
Ubuntu系统下部署flatpress轻量级博客系统
【10月更文挑战第3天】Ubuntu系统下部署flatpress轻量级博客系统
49 3
Ubuntu系统下部署flatpress轻量级博客系统
|
12天前
|
分布式计算 资源调度 Hadoop
【赵渝强老师】部署Hadoop的本地模式
本文介绍了Hadoop的目录结构及本地模式部署方法,包括解压安装、设置环境变量、配置Hadoop参数等步骤,并通过一个简单的WordCount程序示例,演示了如何在本地模式下运行MapReduce任务。
|
1月前
|
SQL 存储 数据管理
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
Hadoop-15-Hive 元数据管理与存储 Metadata 内嵌模式 本地模式 远程模式 集群规划配置 启动服务 3节点云服务器实测
58 2
|
1月前
|
Ubuntu API Python
Chat-TTS chat-tts-ui 实机部署上手测试!Ubuntu服务器实机 2070Super*2 8GB部署全流程
Chat-TTS chat-tts-ui 实机部署上手测试!Ubuntu服务器实机 2070Super*2 8GB部署全流程
68 1
|
1月前
|
Kubernetes 网络安全 容器
基于Ubuntu-22.04安装K8s-v1.28.2实验(一)部署K8s
基于Ubuntu-22.04安装K8s-v1.28.2实验(一)部署K8s
219 2
|
2月前
|
Ubuntu 开发工具 git
在Ubuntu上部署BOA服务器的步骤
部署BOA服务器是一个涉及多个步骤的过程,包括系统更新、安装依赖、下载和编译源代码、配置服务器以及启动和验证。遵循上述步骤,可以在Ubuntu系统上成功部署BOA服务器,为开发和测试提供一个轻量级的Web服务器环境。
68 0
|
1月前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(五):18.04安装多版本CUDA
这篇博客文章介绍了在Ubuntu 18.04系统上如何安装和切换不同版本的CUDA,以及如何安装不同版本的cuDNN。
214 2
|
1月前
|
并行计算 PyTorch TensorFlow
Ubuntu安装笔记(一):安装显卡驱动、cuda/cudnn、Anaconda、Pytorch、Tensorflow、Opencv、Visdom、FFMPEG、卸载一些不必要的预装软件
这篇文章是关于如何在Ubuntu操作系统上安装显卡驱动、CUDA、CUDNN、Anaconda、PyTorch、TensorFlow、OpenCV、FFMPEG以及卸载不必要的预装软件的详细指南。
3628 3
下一篇
无影云桌面