大数据之hadoop 集群部署 单节点 / 伪分布式 / 完全分布式 全流程指南

大数据阿木 发布于 5 天前 1 次阅读


Hadoop集群部署全流程指南:单节点、伪分布式与完全分布式

Hadoop是一个开源的分布式计算框架,用于处理大规模数据集。它允许用户在集群上运行应用程序,以处理和分析大量数据。Hadoop集群的部署可以分为三种模式:单节点、伪分布式和完全分布式。本文将详细介绍这三种部署模式的全流程指南,帮助读者了解如何搭建一个Hadoop集群。

单节点部署

单节点部署是最简单的Hadoop集群部署方式,适用于学习和测试环境。以下是单节点部署的步骤:

1. 准备环境

- 下载Hadoop安装包:从Apache Hadoop官网下载适合自己操作系统的Hadoop安装包。

- 解压安装包:将下载的Hadoop安装包解压到一个目录下。

2. 配置环境变量

在`~/.bashrc`或`~/.bash_profile`文件中添加以下环境变量:

bash

export HADOOP_HOME=/path/to/hadoop


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


保存并退出编辑器,然后运行以下命令使环境变量生效:

bash

source ~/.bashrc


3. 配置Hadoop

- 编辑`$HADOOP_HOME/etc/hadoop/hadoop-env.sh`文件,设置Java环境变量:

bash

export JAVA_HOME=/path/to/java


- 编辑`$HADOOP_HOME/etc/hadoop/core-site.xml`文件,配置Hadoop的存储目录:

xml

<configuration>


<property>


<name>fs.defaultFS</name>


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


</property>


<property>


<name>hadoop.tmp.dir</name>


<value>/path/to/hadoop/tmp</value>


</property>


</configuration>


- 编辑`$HADOOP_HOME/etc/hadoop/hdfs-site.xml`文件,配置HDFS的存储目录:

xml

<configuration>


<property>


<name>dfs.replication</name>


<value>1</value>


</property>


<property>


<name>dfs.namenode.name.dir</name>


<value>/path/to/hadoop/hdfs/namenode</value>


</property>


<property>


<name>dfs.datanode.data.dir</name>


<value>/path/to/hadoop/hdfs/datanode</value>


</property>


</configuration>


4. 格式化NameNode

在终端中运行以下命令格式化NameNode:

bash

hdfs namenode -format


5. 启动Hadoop服务

在终端中运行以下命令启动Hadoop服务:

bash

start-dfs.sh


start-yarn.sh


Hadoop集群已经部署成功,可以使用`jps`命令查看正在运行的进程。

伪分布式部署

伪分布式部署适用于小型测试环境,它将Hadoop的所有组件都部署在一个节点上。以下是伪分布式部署的步骤:

1. 准备环境

与单节点部署相同。

2. 配置环境变量

与单节点部署相同。

3. 配置Hadoop

- 编辑`$HADOOP_HOME/etc/hadoop/core-site.xml`文件,配置Hadoop的存储目录:

xml

<configuration>


<property>


<name>fs.defaultFS</name>


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


</property>


<property>


<name>hadoop.tmp.dir</name>


<value>/path/to/hadoop/tmp</value>


</property>


</configuration>


- 编辑`$HADOOP_HOME/etc/hadoop/hdfs-site.xml`文件,配置HDFS的存储目录:

xml

<configuration>


<property>


<name>dfs.replication</name>


<value>1</value>


</property>


<property>


<name>dfs.namenode.name.dir</name>


<value>/path/to/hadoop/hdfs/namenode</value>


</property>


<property>


<name>dfs.datanode.data.dir</name>


<value>/path/to/hadoop/hdfs/datanode</value>


</property>


</configuration>


- 编辑`$HADOOP_HOME/etc/hadoop/yarn-site.xml`文件,配置YARN的存储目录:

xml

<configuration>


<property>


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


<value>mapreduce_shuffle</value>


</property>


<property>


<name>yarn.resourcemanager.hostname</name>


<value>localhost</value>


</property>


</configuration>


4. 格式化NameNode

在终端中运行以下命令格式化NameNode:

bash

hdfs namenode -format


5. 启动Hadoop服务

在终端中运行以下命令启动Hadoop服务:

bash

start-dfs.sh


start-yarn.sh


伪分布式Hadoop集群已经部署成功。

完全分布式部署

完全分布式部署适用于生产环境,它将Hadoop的所有组件部署在多个节点上。以下是完全分布式部署的步骤:

1. 准备环境

- 准备多台服务器,确保它们之间可以互相通信。

- 下载Hadoop安装包,并解压到每台服务器的相应目录。

2. 配置环境变量

在每台服务器的`~/.bashrc`或`~/.bash_profile`文件中添加以下环境变量:

bash

export HADOOP_HOME=/path/to/hadoop


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


保存并退出编辑器,然后运行以下命令使环境变量生效:

bash

source ~/.bashrc


3. 配置Hadoop

- 在每台服务器上,编辑`$HADOOP_HOME/etc/hadoop/hadoop-env.sh`文件,设置Java环境变量:

bash

export JAVA_HOME=/path/to/java


- 在NameNode服务器上,编辑`$HADOOP_HOME/etc/hadoop/core-site.xml`文件,配置Hadoop的存储目录:

xml

<configuration>


<property>


<name>fs.defaultFS</name>


<value>hdfs://namenode:9000</value>


</property>


<property>


<name>hadoop.tmp.dir</name>


<value>/path/to/hadoop/tmp</value>


</property>


</configuration>


- 在NameNode服务器上,编辑`$HADOOP_HOME/etc/hadoop/hdfs-site.xml`文件,配置HDFS的存储目录:

xml

<configuration>


<property>


<name>dfs.replication</name>


<value>3</value>


</property>


<property>


<name>dfs.namenode.name.dir</name>


<value>/path/to/hadoop/hdfs/namenode</value>


</property>


<property>


<name>dfs.datanode.data.dir</name>


<value>/path/to/hadoop/hdfs/datanode</value>


</property>


</configuration>


- 在每台服务器上,编辑`$HADOOP_HOME/etc/hadoop/yarn-site.xml`文件,配置YARN的存储目录:

xml

<configuration>


<property>


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


<value>mapreduce_shuffle</value>


</property>


<property>


<name>yarn.resourcemanager.hostname</name>


<value>namenode</value>


</property>


</configuration>


- 在每台服务器上,编辑`$HADOOP_HOME/etc/hadoop/mapred-site.xml`文件,配置MapReduce的存储目录:

xml

<configuration>


<property>


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


<value>yarn</value>


</property>


</configuration>


4. 格式化NameNode

在NameNode服务器上,运行以下命令格式化NameNode:

bash

hdfs namenode -format


5. 配置SSH免密登录

在每台服务器上,生成SSH密钥对,并将公钥复制到其他服务器:

bash

ssh-keygen -t rsa


ssh-copy-id -i ~/.ssh/id_rsa.pub root@<other-node>


6. 启动Hadoop服务

在每台服务器上,运行以下命令启动Hadoop服务:

bash

start-dfs.sh


start-yarn.sh


完全分布式Hadoop集群已经部署成功。

总结

本文详细介绍了Hadoop集群的三种部署模式:单节点、伪分布式和完全分布式。通过阅读本文,读者可以了解如何搭建一个Hadoop集群,并根据实际需求选择合适的部署模式。在实际应用中,可以根据集群规模、性能需求等因素选择合适的部署模式,以提高Hadoop集群的稳定性和效率。