当前位置 : 主页 > 操作系统 > centos >

详解搭建ubuntu版hadoop集群

来源:互联网 收集:自由互联 发布时间:2023-07-28
详解搭建Ubuntu版Hadoop集群 Hadoop是一个分布式计算框架,能够快速处理海量数据。本文将介绍如何在Ubuntu上搭建Hadoop集群。 环境准备 在开始搭建之前,我们需要准备以下环境: 3台Ubunt
详解搭建Ubuntu版Hadoop集群

Hadoop是一个分布式计算框架,能够快速处理海量数据。本文将介绍如何在Ubuntu上搭建Hadoop集群。

环境准备

在开始搭建之前,我们需要准备以下环境:

  • 3台Ubuntu Server,分别作为Master和两个Slave
  • JDK 1.8
  • Hadoop 3.3.1
安装JDK

Hadoop运行需要JDK的支持。我们可以通过以下命令安装JDK 1.8:

sudo apt-get update
sudo apt-get install openjdk-8-jdk
安装Hadoop
  1. 下载Hadoop

我们到Hadoop官网下载Hadoop 3.3.1

wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
  1. 解压Hadoop
tar -zxvf hadoop-3.3.1.tar.gz
  1. 配置Hadoop环境变量
sudo nano /etc/profile

在文件结尾处添加:

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
  1. 配置Hadoop

进入Hadoop目录并编辑配置文件:

cd hadoop-3.3.1/etc/hadoop/
sudo nano hadoop-env.sh

找到以下行,将JAVA_HOME设置为已经安装的JDK路径:

#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/

打开core-site.xml配置文件并添加以下内容:

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

打开hdfs-site.xml并添加以下内容:

<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/data/nameNode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/data/dataNode</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
</configuration>

打开mapred-site.xml并添加以下内容:

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

打开yarn-site.xml并添加以下内容:

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
</configuration>
  1. 将Hadoop安装到Slave机器上

将Hadoop解压到Slave节点上,将master节点中的Hadoop配置文件拷贝到Slave节点上。

  1. 启动Hadoop

在Master节点上启动Hadoop:

start-all.sh

检查集群是否正常运行:

jps

如果输出以下信息,则表示Hadoop集群正常运行:

16209 NameNode
16354 ResourceManager
16420 SecondaryNameNode
示例1:上传文件至Hadoop集群

我们可以使用Hadoop自带的命令行工具hdfs将一个本地文件上传到Hadoop集群中。

  1. 在Master节点上创建输入文件夹:
hadoop fs -mkdir input
  1. 将本地文件上传到Hadoop集群:
hadoop fs -put /home/user/input/sample.txt input
  1. 查看上传的文件内容:
hadoop fs -cat input/sample.txt

输出以下内容,则表示上传成功:

Hello Hadoop!
示例2:运行Hadoop示例

Hadoop自带的wordcount示例可以帮助我们快速了解Hadoop集群的运作方式。

  1. 准备输入文件

在本地创建输入文件sample.txt,内容如下:

Hello Hadoop!
Hello MapReduce!
  1. 上传输入文件

与示例1相同,上传文件至Hadoop集群。

  1. 运行wordcount示例
hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount input/ output/

示例会自动运行MapReduce任务并将输出文件保存至output文件夹。

  1. 查看输出文件
hadoop fs -cat output/part-r-00000

输出以下内容,则表示示例运行成功:

Hadoop!     1
Hello       2
MapReduce!  1
上一篇:在Centos下安装python
下一篇:没有了
网友评论