Apache Hadoop是一个开源的,基于Java的软件平台,可用于管理和处理需要快速和可扩展数据处理的应用程序的大型数据集。它基于Java,并使用HDFS(Hadoop分布式文件系统)来存储其数据。Hadoop被设计为部署在由数百或1000多台专用服务器组成的网络中。它们一起处理和处理大量和种类繁多的数据集。
在 Ubuntu 22.04 LTS Jammy Jellyfish 上安装 Apache Hadoop
第 1 步。首先,通过在终端中运行以下命令,确保所有系统软件包都是最新的。apt
sudo apt update sudo apt upgrade sudo apt install wget apt-transport-https gnupg2 software-properties-common
第 2 步。安装 Java OpenJDK。
Apache Hadoop基于Java,因此您需要在服务器上安装Java JDK。让我们运行以下命令来安装默认的 JDK 版本 11:
sudo apt install default-jdk
使用以下命令验证 Java 版本:
java --version
有关安装和管理Java OpenJDK的其他资源,请阅读下面的文章:
- 如何在 Ubuntu Linux √ 上安装 OpenJDK
第 3 步。为 Hadoop 创建一个用户。
运行以下命令以创建名为 Hadoop 的新用户:
sudo adduser hadoop
接下来,通过运行以下命令切换到新创建的帐户:
su - hadoop
现在为新创建的Hadoop用户配置无密码SSH访问。首先生成 SSH 密钥对:
ssh-keygen -t rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 640 ~/.ssh/authorized_keys
之后,使用以下命令验证无密码 SSH:
ssh localhost
如果您在没有密码的情况下登录,则可以继续下一步。
第 4 步。在 Ubuntu 22.04 上安装 Apache Hadoop。
默认情况下,Apache Hadoop 在 Ubuntu 22.04 基础存储库上可用。现在运行以下命令,将最新版本的Hadoop下载到您的Ubuntu系统:
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
接下来,解压缩下载的文件:
tar xzf hadoop-3.3.4.tar.gz mv hadoop-3.3.4 ~/hadoop
现在在您的系统上配置 Hadoop 和 Java 环境变量。在您喜欢的文本编辑器中打开文件:~/.bashrc
nano ~/.bashrc
在文件底部添加以下内容:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 export HADOOP_HOME=/home/hadoop/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 HADOOP_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_HOME。在文本编辑器中编辑 Hadoop 环境变量文件:hadoop-env.sh
nano $HADOOP_HOME/etc/hadoop/hadoop-env.sh
添加以下行:
### # Generic settings for HADOOP Many sites configure these options outside of Hadoop, # such as in /etc/profile.d # The java implementation to use. By default, this environment # variable is REQUIRED on ALL platforms except OS X!export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
第5步。配置 Apache Hadoop。
我们已经准备好配置Hadoop以开始接受连接。首先,在目录中创建两个文件夹( 和 ):namenode
datanode
hdfs
mkdir -p ~/hadoopdata/hdfs/{namenode,datanode}
接下来,编辑下面的文件:core-site.xml
nano $HADOOP_HOME/etc/hadoop/core-site.xml
根据您的系统主机名更改以下名称:
See the License for the specific language governing permissions and limitations under the License. See accompanying LICENSE file. --> <!-- Put site-specific property overrides in this file. --><configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
接下来,编辑文件:hdfs-site.xml
nano $HADOOP_HOME/etc/hadoop/hdfs-site.xml
更改 NameNode 和 DataNode 目录路径,如下所示:
See the License for the specific language governing permissions and limitations under the License. See accompanying LICENSE file. --> <!-- Put site-specific property overrides in this file. --><configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <name>dfs.name.dir</name> <value>file:///home/hadoop/hadoopdata/hdfs/namenode</value> <name>dfs.data.dir</name> <value>file:///home/hadoop/hadoopdata/hdfs/datanode</value> </configuration>
接下来,编辑文件:mapred-site.xml
nano $HADOOP_HOME/etc/hadoop/mapred-site.xml
进行以下更改:
See the License for the specific language governing permissions and limitations under the License. See accompanying LICENSE file. --> <!-- Put site-specific property overrides in this file. --><configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
接下来,编辑文件:yarn-site.xml
nano $HADOOP_HOME/etc/hadoop/yarn-site.xml
创建纱线的配置属性:
See the License for the specific language governing permissions and limitations under the License. See accompanying LICENSE file. --><configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
我们必须启动Hadoop集群来运行Hadoop。为此,我们将首先格式化我们的 “”:namenode
hdfs namenode -format
接下来,运行以下命令以启动Hadoop:
start-all.sh
输出:
Starting namenodes on [localhost] Starting datanodes Starting secondary namenodes [Ubuntu2204] Ubuntu2204: Warning: Permanently added 'ubuntu2204' (ED10019) to the list of known hosts. Starting resourcemanager Starting nodemanagers
步骤 7.配置防火墙。
现在,我们使用 Apache 设置了一个简单防火墙 (UFW),以允许在 8088 和 9870 的默认 Web 端口上进行公共访问:
sudo firewall-cmd --permanent --add-port=8088/tcp sudo firewall-cmd --permanent --add-port=9870/tcp sudo firewall-cmd --reload
第8步。访问 Apache Hadoop Web 界面。
成功安装后,打开您的 Web 浏览器并使用 URL 访问 Apache Hadoop 安装向导。您将被重定向到以下页面:http://your-IP-address:9870
您还可以使用 URL 访问各个数据节点。您应该看到以下屏幕:http://your-IP-address:8088
要访问 YARN 资源管理器,请使用 URL 。您应该看到以下屏幕:http://your-IP-address:8088
感谢您使用本教程在 Ubuntu 22.04 LTS Jammy Jellyfish 系统上安装 Apache Hadoop。如需其他帮助或有用信息,我们建议您查看 Apache Hadoop 官方网站。