如何在 Ubuntu 18.04 Bionic Beaver Linux 上安装 Hadoop
Apache Hadoop 是一个开源框架,用于在商用硬件上运行的计算机集群上进行分布式存储和分布式大数据处理。 Hadoop 将数据存储在 Hadoop 分布式文件系统 (HDFS) 中,并使用 MapReduce 完成这些数据的处理。 YARN提供API用于在Hadoop集群中请求和分配资源。
Apache Hadoop框架由以下模块组成:
Hadoop 通用
Hadoop 分布式文件系统 (HDFS)
纱
映射减少
本文介绍如何在 Ubuntu 18.04 上安装 Hadoop 版本 2。我们将在单节点集群上安装HDFS(Namenode和Datanode)、YARN、MapReduce,采用伪分布式模式,即在单机上模拟分布式。每个 Hadoop 守护进程(例如 hdfs、yarn、mapreduce 等)将作为单独/单独的 java 进程运行。
在本教程中您将学习:
如何为Hadoop环境添加用户
如何安装和配置Oracle JDK
如何配置无密码 SSH
如何安装Hadoop并配置必要的相关xml文件
如何启动Hadoop集群
如何访问NameNode和ResourceManager Web UI
Namenode Web 用户界面。
本教程的其他版本
Ubuntu 20.04(焦窝)
为 Hadoop 环境添加用户
使用以下命令创建新用户和组:
# add user
为 Hadoop 添加新用户。
安装和配置Oracle JDK
下载 Java 存档并将其解压到 /opt
目录下。
# cd /opt
# tar -xzvf jdk-8u192-linux-x64.tar.gz
或者
$ tar -xzvf jdk-8u192-linux-x64.tar.gz -C /opt
要将 JDK 1.8 Update 192 设置为默认 JVM,我们将使用以下命令:
# update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_192/bin/java 100
# update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_192/bin/javac 100
安装后验证java是否已成功配置,运行以下命令:
# update-alternatives --display java
# update-alternatives --display javac
OracleJDK 安装和配置。
配置无密码 SSH
使用以下命令安装 Open SSH 服务器和 Open SSH 客户端:
# sudo apt-get install openssh-server openssh-client
使用以下命令生成公钥和私钥对。终端将提示输入文件名。按ENTER
并继续。之后,将 id_rsa.pub
中的公钥复制到 authorized_keys
。
$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
无密码 SSH 配置。
使用以下命令验证无密码 ssh 配置:
$ ssh localhost
无密码 SSH 检查。
安装Hadoop并配置相关xml文件
从Apache官网下载并解压Hadoop 2.8.5。
# tar -xzvf hadoop-2.8.5.tar.gz
设置环境变量
通过设置以下 Hadoop 环境变量来编辑 Hadoop 用户的 bashrc :
export HADOOP_HOME=/home/hadoop/hadoop-2.8.5
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"
在当前登录会话中获取 .bashrc
。
$ source ~/.bashrc
编辑 Hadoop 安装目录中的 /etc/hadoop
中的 hadoop-env.sh
文件并进行以下更改,并检查是否要更改任何其他配置。
export JAVA_HOME=/opt/jdk1.8.0_192
export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-"/home/hadoop/hadoop-2.8.5/etc/hadoop"}
hadoop-env.sh 文件中的更改。
core-site.xml 文件中的配置更改
使用 vim 编辑 core-site.xml
,或者您可以使用任何编辑器。该文件位于 hadoop
主目录中的 /etc/hadoop
下,并添加以下条目。
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadooptmpdata</value>
</property>
</configuration>
此外,在 hadoop
主文件夹下创建目录。
$ mkdir hadooptmpdata
core-site.xml 文件的配置。
hdfs-site.xml 文件中的配置更改
编辑位于相同位置的 hdfs-site.xml
,即 hadoop
安装目录中的 /etc/hadoop
并创建
目录。hadoop
用户主目录下的 Namenode/Datanode
$ mkdir -p hdfs/namenode
$ mkdir -p hdfs/datanode
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
<name>dfs.name.dir</name>
<value>file:///home/hadoop/hdfs/namenode</value>
<name>dfs.data.dir</name>
<value>file:///home/hadoop/hdfs/datanode</value>
</property>
</configuration>
hdfs-site.xml 文件的配置。
mapred-site.xml 文件中的配置更改
使用 cp
命令从 mapred-site.xml.template
复制 mapred-site.xml
,然后编辑 mapred-site。 xml
放置在 hadoop
安装目录下的 /etc/hadoop
中,并进行以下更改。
$ cp mapred-site.xml.template mapred-site.xml
创建新的 mapred-site.xml 文件。
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
mapred-site.xml 文件的配置。
yarn-site.xml 文件中的配置更改
使用以下条目编辑 yarn-site.xml
。
<configuration>
<property>
<name>mapreduceyarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
配置yarn-site.xml 文件。
启动 Hadoop 集群
第一次使用之前,请格式化名称节点。作为 HDFS 用户运行以下命令来格式化 Namenode。
$ hdfs namenode -format
格式化名称节点。
格式化 Namenode 后,使用 start-dfs.sh
脚本启动 HDFS。
启动DFS启动脚本来启动HDFS。
要启动 YARN 服务,您需要执行纱线启动脚本,即 start-yarn.sh
启动 YARN 启动脚本来启动 YARN。
要验证所有 Hadoop 服务/守护进程是否已成功启动,您可以使用 jps
命令。
/opt/jdk1.8.0_192/bin/jps
20035 SecondaryNameNode
19782 DataNode
21671 Jps
20343 NodeManager
19625 NameNode
20187 ResourceManager
JPS 命令的 Hadoop 守护进程输出。
现在我们可以使用以下命令检查当前的 Hadoop 版本:
$ hadoop version
或者
$ hdfs version
检查 Hadoop 版本。
HDFS 命令行界面
要访问 HDFS 并在 DFS 顶部创建一些目录,您可以使用 HDFS CLI。
$ hdfs dfs -mkdir /test
$ hdfs dfs -mkdir /hadooponubuntu
$ hdfs dfs -ls /
使用 HDFS CLI 创建 HDFS 目录。
从浏览器访问Namenode和YARN
您可以通过任何浏览器(例如 Google Chrome/Mozilla Firefox)访问 NameNode 和 YARN 资源管理器的 Web UI。
Namenode Web UI – http://
Namenode Web 用户界面。
Namenode Web 用户界面中的 HDFS 详细信息。
通过 Namenode Web 用户界面浏览 HDFS 目录。
YARN 资源管理器 (RM) Web 界面将显示当前 Hadoop 集群上所有正在运行的作业。
资源管理器 Web UI – http://
资源管理器 Web 用户界面。
结论
世界正在改变当前的运作方式,大数据在这一阶段发挥着重要作用。 Hadoop 是一个让我们在处理大量数据时变得轻松的框架。所有方面都有改进。未来是令人兴奋的。