如何在Ubuntu 20.04云服务器上安装使用Apache Hadoop?

  • 发布时间:2022-04-06 20:25:27
  • 阅读次数:653

Apache Hadoop是一款用于存储、管理和处理各类大数据应用的开源软件框架,通常在集群系统中使用。它基于Java开发,使用HDFS文件系统存储数据,以MapReduce作为数据处理平台。这篇文章介绍在Ubuntu 20.04云服务器上安装和设置Apache Hadoop的步骤。

安装Java

执行以下命令安装最新版本的Java。

$ sudo apt install default-jdk default-jre -y

验证Java安装的版本。

$ java -version

创建Hadoop用户

创建hadoop用户。

$ sudo adduser hadoop
$ sudo usermod -aG sudo hadoop

安装SSH并设置免密码登录。

$ sudo su - hadoop
$ apt install openssh-server openssh-client -y
$ sudo su - hadoop
$ ssh-keygen -t rsa
$ sudo cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ sudo chmod 640 ~/.ssh/authorized_keys

验证免密码登录是否生效。

$ ssh localhost

安装Hadoop

以新建的hadoop用户登录,下载最新版本的Hadoop。具体版本号可以到Apache Hadoop官方网站查询,本文以3.3.1版本为例。

$ sudo su - hadoop
$ wget https://downloads.apache.org/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
$ tar -xvzf hadoop-3.3.1.tar.gz
$ sudo mv hadoop-3.3.1 /usr/local/hadoop
$ sudo mkdir /usr/local/hadoop/logs
$ sudo chown -R hadoop:hadoop /usr/local/hadoop

设置Hadoop需要的环境变量。

$ sudo nano ~/.bashrc

在该文件末尾添加如下代码。

export HADOOP_HOME=/usr/local/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"

激活环境变量。

$ source ~/.bashrc

设置Java环境变量

Hadoop有很多组件用于执行其核心功能。为了配置YARN、HDFS、MapReduce等组件以及Hadoop项目设置,我们需要在hadoop-env.sh设置文件中定义Java环境变量。

查询Java安装路径。

$ which javac

查询OpenJDK目录。

$ readlink -f /usr/bin/javac

编辑hadoop-env.sh文件。

$ sudo nano $HADOOP_HOME/etc/hadoop/hadoop-env.sh

在文件末尾添加如下代码。

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export HADOOP_CLASSPATH+=" $HADOOP_HOME/lib/*.jar"

进入hadoop的lib目录,下载Javax激活文件。

$ cd /usr/local/hadoop/lib
$ sudo wget https://jcenter.bintray.com/javax/activation/javax.activation-api/1.2.0/javax.activation-api-1.2.0.jar

验证Hadoop版本。

$ hadoop version

编辑core-site.xml配置文件。

$ sudo nano $HADOOP_HOME/etc/hadoop/core-site.xml

添加以下代码,指定命名节点的URL地址。

<configuration>
   <property>
      <name>fs.default.name</name>
      <value>hdfs://0.0.0.0:9000</value>
      <description>The default file system URI</description>
   </property>
</configuration>

创建一个存储节点元数据的目录,并且更改所有者为hadoop。

$ sudo mkdir -p /home/hadoop/hdfs/{namenode,datanode}
$ sudo chown -R hadoop:hadoop /home/hadoop/hdfs

编辑hdfs-site.xml配置文件。

$ sudo nano $HADOOP_HOME/etc/hadoop/hdfs-site.xml

添加以下代码,定义存储节点元数据的位置。

<configuration>
   <property>
      <name>dfs.replication</name>
      <value>1</value>
   </property>

   <property>
      <name>dfs.name.dir</name>
      <value>file:///home/hadoop/hdfs/namenode</value>
   </property>

   <property>
      <name>dfs.data.dir</name>
      <value>file:///home/hadoop/hdfs/datanode</value>
   </property>
</configuration>

编辑mapred-site.xml配置文件。

$ sudo nano $HADOOP_HOME/etc/hadoop/mapred-site.xml

添加以下代码,定义MapReduce值。

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

编辑yarn-site.xml配置文件。

$ sudo nano $HADOOP_HOME/etc/hadoop/yarn-site.xml

添加以下代码,定义YARN相关的参数。

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

以hadoop用户登录,验证Hadoop配置和HDFS命名节点的格式。

$ sudo su - hadoop
$ hdfs namenode -format

启动Hadoop集群

启动命名节点和数据节点。

$ start-dfs.sh
$ start-yarn.sh

验证全部运行中的组件。

$ jps

另外,还可以通过浏览器访问 http://IP地址:9870 访问Apache Hadoop的Web管理界面。

至此,我们已成功安装了Apache Hadoop,可以通过管理界面进行更精细的设置。

【全文完】

< 上一篇:如何在Ubuntu 20.04云服务器上设置RabbitMQ集群? 下一篇:如何在CentOS 7云服务器上安装Git? >