华为云耀云服务器L实例-大数据学习-单台服务器配置伪分布式模式hadoop集群

发布时间 2023-12-29 17:48:05作者: 技术僧
 华为云耀云服务器L实例-大数据学习-单台服务器配置伪分布式模式hadoop集群

 

产品官网:https://www.huaweicloud.com/product/hecs-light.html

 

 

今天我们采用可靠更安全、智能不卡顿、价优随心用、上手更简单、管理特省心华为云耀云服务器L实例为例,演示单台服务器配置伪分布式模式hadoop集群

 

Hadoop 是一个开源的分布式存储和计算框架,旨在处理大规模数据集。它是 Apache 软件基金会的一个顶级项目,为用户提供了一种可靠、可扩展且高效处理大数据的方式。

 

以下是 Hadoop 的主要组件和特点:

 

1. Hadoop Distributed File System(HDFS): HDFS 是 Hadoop 的分布式文件系统,设计用于存储大规模数据集。它将数据划分为块(block)并分布存储在多台机器上,提供了高容错性和可靠性。

 

2. MapReduce: MapReduce 是 Hadoop 的计算模型,用于并行处理大规模数据集。它将计算任务分解为 Map 和 Reduce 阶段,通过在分布式环境中执行这些任务来实现数据处理。

 

3. YARN(Yet Another Resource Negotiator): YARN 是 Hadoop 的资源管理器,负责集群资源的管理和调度。它允许多个应用程序共享同一集群,从而更有效地利用集群资源。

 

4. Hadoop生态系统: Hadoop 生态系统包含许多其他工具和框架,如 Hive、Pig、HBase、Spark 等,用于支持不同类型的数据处理和分析需求。

 

5. 扩展性: Hadoop 具有良好的可扩展性,可以轻松地在集群中添加新的节点以处理不断增长的数据量。它支持在普通硬件上搭建集群,使得大规模数据处理变得更加经济高效。

 

6. 开源和社区支持: Hadoop 是开源软件,由全球的开发者社区维护和支持。它拥有庞大的用户社群和活跃的开发者社区,不断推动框架的发展和改进。

 

Hadoop 被广泛应用于处理大规模数据,包括数据存储、数据分析、机器学习等各种场景。它的设计理念使得它适用于在常规硬件上搭建的大规模集群,并为用户提供了一种可靠、高效、可扩展的大数据处理解决方案。

 

 

## Hadoop运行模式

 

Hadoop提供三种运行模式:

 

1. **单机模式(Local (Standalone) Mode):**

   - 默认模式,无需配置。

   - 运行在一个Java进程中,使用本地文件系统,不使用HDFS。

   - 用于开发调试MapReduce程序的应用逻辑。

 

2. **伪分布式模式(Pseudo-Distributed Mode):**

   - 需简单配置,相当于只有一个节点的集群。

   - 所有守护进程运行在同一台机器上,增加代码调试功能。

 

3. **完全分布式模式(Fully-Distributed Mode):**

   - 根据需要进行配置。

   - 多节点,适用于生产环境。

 

配置Hadoop的伪分布式模式涉及多个步骤,包括配置Hadoop的各项属性,启动Hadoop守护进程,以及运行一些测试来确保一切正常。以下是在华为云耀云服务器L实例配置Hadoop伪分布式模式的具体步骤:

 

### 步骤 1:安装 Java、配置环境变量

 

确保您的系统上安装了Java,并设置了JAVA_HOME。您可以按照以下步骤安装和配置Java:

 

```bash

# 更新apt仓库

sudo apt update

 

# 安装OpenJDK

sudo apt install openjdk-8-jdk

 

# 配置JAVA_HOME

echo 'export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64' >> ~/.bashrc

source ~/.bashrc

 

#配置Hadoop_Home

vim ~/.bashrc

export HADOOP_HOME=/usr/local/hadoop

export PATH=$PATH:$HADOOP_HOME/bin

 

source ~/.bashrc

 

```

 

 

### 步骤 2:下载和解压 Hadoop

 

在Hadoop官网下载所需版本的Hadoop,并解压缩到您选择的目录。以下是一个示例:

 

```bash

# 下载Hadoop

wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz

 

# 解压缩

tar -xzvf hadoop-3.3.4.tar.gz

# 移动到合适的目录

sudo mv hadoop-3.3.4 /usr/local/hadoop

```

 

### 步骤 3:配置 Hadoop

 

编辑Hadoop的配置文件以设置伪分布式模式。打开`hadoop-env.sh`文件:

 

```bash

sudo vim /usr/local/hadoop/hadoop-3.3.4/etc/hadoop/hadoop-env.sh

```

 

找到以下行并设置JAVA_HOME:

 

```bash

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

```

 

然后,编辑`core-site.xml`文件:

 

```bash

sudo vim /usr/local/hadoop/hadoop-3.3.4/etc/hadoop/core-site.xml

```

 

在文件中添加以下配置:

 

```xml

<configuration>

    <property>

        <name>fs.defaultFS</name>

        <value>hdfs://localhost:9000</value>

    </property>

</configuration>

```

 

接下来,编辑`hdfs-site.xml`文件:

 

```bash

sudo vim /usr/local/hadoop/hadoop-3.3.4/etc/hadoop/hdfs-site.xml

```

 

添加以下配置:

 

```xml

<configuration>

    <property>

        <name>dfs.replication</name>

        <value>1</value>

    </property>

</configuration>

```

 

编辑`mapred-site.xml.template`文件:

 

```bash

sudo vim /usr/local/hadoop/hadoop-3.3.4/etc/hadoop/mapred-site.xml

```

 

将其另存为`mapred-site.xml`,并添加以下内容:

 

```xml

<configuration>

    <property>

        <name>mapreduce.framework.name</name>

        <value>yarn</value>

    </property>

</configuration>

```

 

最后,编辑`yarn-site.xml`文件:

 

```bash

sudo vim /usr/local/hadoop/hadoop-3.3.4/etc/hadoop/yarn-site.xml

```

 

添加以下配置:

 

```xml

<configuration>

    <property>

        <name>yarn.nodemanager.aux-services</name>

        <value>mapreduce_shuffle</value>

    </property>

</configuration>

```

 

### 步骤 4:格式化 HDFS

 

在启动Hadoop之前,需要格式化HDFS。运行以下命令:

 

```bash

hdfs namenode -format

```

 

### 步骤 5:启动 Hadoop 守护进程

 

启动Hadoop守护进程,包括NameNode、DataNode、ResourceManager和NodeManager:

 

```bash

start-dfs.sh

start-yarn.sh

```

输入yes、root密码,成功启动dfs、yarn

 

### 步骤 6:运行示例任务

 

运行一个简单的示例任务,使用hadoop来进行pi的运算,以验证Hadoop是否正常工作:

 

```bash

hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar pi 10 1000

```

可以看出,我们成功地在华为云耀云服务器L实例上部署了hadoop,并进行了最基础的运算

 

至此,我们的华为云耀云服务器L实例上的Hadoop伪分布式模式已经配置完成。