首页 帮助中心 新加坡服务器 怎么搭建ubuntu版的hadoop集群?
怎么搭建ubuntu版的hadoop集群?
时间 : 2025-02-25 14:23:51 编辑 : 华纳云 阅读量 : 106

搭建Ubuntu 版的Hadoop集群是大数据处理的基础,通常涉及配置多台机器(节点),将它们连接到一个集群中,以实现分布式计算和存储。下面是一个Hadoop集群搭建的详细指南。

一、准备工作

硬件要求:

至少3台机器(或者3个虚拟机):一个作为主节点(namenode),其他作为从节点(datanode)。每台机器需要安装Ubuntu操作系统(推荐使用 18.04 或更高版本)。

网络配置:

确保每台机器的网络可互通。

配置机器的静态IP地址,避免IP地址变化。

配置SSH无密码登录:所有节点间需要通过 SSH 免密码登录,以便 Hadoop 管理进程在各个节点上启动和停止。

JDK 安装: Hadoop需要Java环境,因此需要先安装JDK(建议使用OpenJDK8或11)。

二、安装 Hadoop 依赖和准备

1. 安装 JDK

在每台机器上安装 OpenJDK(版本 8 或 11)。

sudo apt update
sudo apt install openjdk-8-jdk

验证安装:

java -version

确保输出正确的 Java 版本。

2. 配置 JAVA_HOME

将 JAVA_HOME 设置为 JDK 的安装路径,编辑 ~/.bashrc 文件,添加如下配置:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

然后执行:

source ~/.bashrc

3. 安装 Hadoop

下载 Hadoop(可以从官网获取最新的稳定版本):访问 Hadoop 官网,下载最新版本的 .tar.gz 文件。

解压安装包:

cd /opt
sudo wget http://apache.mirrors.hoobly.com/hadoop/common/hadoop-3.x.x/hadoop-3.x.x.tar.gz
sudo tar -xzvf hadoop-3.x.x.tar.gz
sudo mv hadoop-3.x.x hadoop

配置 Hadoop 环境变量:

在 ~/.bashrc 中添加以下内容:

export HADOOP_HOME=/opt/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

执行:

source ~/.bashrc

4. 配置 SSH 无密码登录

Hadoop 需要在各个节点之间进行 SSH 登录,且不能要求密码。执行以下命令来设置无密码 SSH 登录:

生成 SSH 密钥对:

ssh-keygen -t rsa

按提示操作,默认文件位置即可。

将 SSH 公钥复制到 ~/.ssh/authorized_keys 中:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

在每个节点上执行此步骤,确保所有节点都能通过 SSH 免密码登录。

5. 配置 /etc/hosts

为了让所有节点相互识别,在 /etc/hosts 文件中添加所有节点的 IP 和主机名。每个节点都需要修改该文件。假设主节点的 IP 地址是 192.168.1.1.从节点的 IP 地址是 192.168.1.2 和 192.168.1.3.编辑 /etc/hosts 文件并添加如下内容:

192.168.1.1   master
192.168.1.2   slave1
192.168.1.3   slave2

三、配置 Hadoop

1. 配置 Hadoop 核心文件

Hadoop 的配置文件存储在 HADOOP_CONF_DIR 目录下,常见的配置文件包括:

core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml

2. 配置 core-site.xml

编辑 core-site.xml,配置 Hadoop 的基本文件系统:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
</configuration>

这里 master 是主节点的主机名,9000 是 HDFS 的默认端口。

3. 配置 hdfs-site.xml

编辑 hdfs-site.xml,配置 HDFS 的存储路径和副本数等:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/opt/hadoop/hdfs/namenode</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/opt/hadoop/hdfs/datanode</value>
    </property>
</configuration>

4. 配置 mapred-site.xml

编辑 mapred-site.xml,配置 MapReduce 框架:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobtracker.address</name>
        <value>master:9001</value>
    </property>
</configuration>

5. 配置 yarn-site.xml

编辑 yarn-site.xml,配置 YARN:

<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

四、启动 Hadoop 集群

1. 格式化 HDFS

首先需要在主节点上格式化 HDFS:

hdfs namenode -format

2. 启动 Hadoop 服务

在主节点上执行以下命令启动 Hadoop 集群:

start-dfs.sh
start-yarn.sh

检查服务是否启动:

jps

你应该能看到以下进程:

NameNode
DataNode
ResourceManager
NodeManager

3. 验证集群是否正常运行

你可以通过以下 URL 验证 Hadoop 的 Web 界面:

HDFS Web UI:http://master:50070
YARN Web UI:http://master:8088

4. 运行一个简单的 Hadoop 示例

可以运行 Hadoop 的示例作业来验证集群是否正常工作:

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar pi 16 1000

此命令将计算 Pi 的估计值,并输出结果。

五、将节点添加到集群

将从节点的 hadoop-env.sh 配置为正确的 Java 环境路径。

将从节点的 slaves 文件添加到主节点。

编辑主节点上的 slaves 文件,添加从节点的主机名:

nano $HADOOP_HOME/etc/hadoop/slaves

例如:

slave1
slave2

然后,运行 start-dfs.sh 和 start-yarn.sh 命令来启动从节点。

总之,搭建一个 Ubuntu 版的 Hadoop 集群 涉及多个步骤,通过这些步骤,你可以搭建并运行一个基本的 Hadoop 集群。

华纳云 推荐文章
Ubuntu中安装PostgreSQL的方法 如何修改ubuntu服务器的软件源? Linux/Ubuntu中的CPU使用率或利用率的查看方法 Ubuntu系统上生成SSH密钥的步骤 Ubuntu服务器中安装Google Chrome的教程 30分钟内完成Ubuntu服务器的安装和配置 Ubuntu系统下Apache日志轮转如何设置 Ubuntu16.04如何配置和使用NGINX Web服务器 Ubuntu 18.04上如何设置Nginx服务器模块 Ubuntu安装nexus遇到内存限制如何解决?
客服咨询
7*24小时技术支持
技术支持
渠道支持