华为云耀云服务器L实例-大数据学习-单台服务器配置伪分布式模式hadoop集群
产品官网:云耀云服务器L实例 _【最新】_轻量云服务器_轻量服务器_轻量应用服务器-华为云
今天我们采用可靠更安全、智能不卡顿、价优随心用、上手更简单、管理特省心的华为云耀云服务器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伪分布式模式已经配置完成。