Apache Hadoop 是一个开源的、基于 Java 的软件平台,用于管理大数据应用程序的数据处理和存储. 它旨在从单个服务器扩展到数千台机器,每台机器都提供本地计算和存储。
在 Debian 11 Bullseye 上安装 Apache Hadoop
步骤 1. 在我们安装任何软件之前,通过apt
在终端中运行以下命令来确保您的系统是最新的很重要:
sudo apt update
sudo apt upgrade
步骤 2. 安装 Java。
Apache Hadoop 是一个基于 Java 的应用程序。因此,您需要在系统中安装Java:
sudo apt install default-jdk default-jre
验证 Java 安装:
java -version
步骤 3. 创建 Hadoop 用户。
运行以下命令以创建名为 Hadoop 的新用户:
adduser hadoop
接下来,创建用户后切换到 Hadoop 用户:
su - hadoop
现在是生成 ssh 密钥的时候了,因为 Hadoop 需要 ssh 访问权限来管理其节点、远程或本地计算机,因此对于 Hadoop 设置的单个节点,我们进行配置,以便我们可以访问本地主机:
ssh-keygen -t rsa
之后,授予authorized_keys 文件的权限:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys
然后,使用以下命令验证无密码 SSH 连接:
ssh your-server-IP-address
步骤 4. 在 Debian 11 上安装 Apache Hadoop。
首先,切换到 Hadoop 用户并使用以下wget
命令从官方页面下载最新版本的 Hadoop :
su - hadoop wget https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.3.1/hadoop-3.3.1-src.tar.gz
接下来,使用以下命令提取下载的文件:
tar -xvzf hadoop-3.3.1.tar.gz
解压后,将当前目录更改为 Hadoop 文件夹:
su root cd /home/hadoop mv hadoop-3.3.1 /usr/local/hadoop
接下来,使用以下命令创建一个目录来存储日志:
mkdir /usr/local/hadoop/logs
将 Hadoop 目录的所有权更改为 Hadoop:
chown -R hadoop:hadoop /usr/local/hadoop su hadoop
之后,我们配置Hadoop环境变量:
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
步骤 5. 配置 Apache Hadoop。
- 配置Java环境变量:
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"
接下来,我们需要下载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
验证 Apache Hadoop 版本:
hadoop version
输出:
Hadoop 3.3.1
- 配置 core-site.xml 文件:
nano $HADOOP_HOME/etc/hadoop/core-site.xml
添加以下文件:
<configuration> <property> <name>fs.default.name</name> <value>hdfs://0.0.0.0:9000</value> <description>The default file system URI</description> </property> </configuration>
- 配置 hdfs-site.xml 文件:
在配置之前创建一个用于存储节点元数据的目录:
mkdir -p /home/hadoop/hdfs/{namenode,datanode} chown -R hadoop:hadoop /home/hadoop/hdfs
接下来,编辑文件并定义目录的位置:hdfs-site.xml
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 文件:
现在我们编辑文件:mapred-site.xml
nano $HADOOP_HOME/etc/hadoop/mapred-site.xml
添加以下配置:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
- 配置 yarn-site.xml 文件:
您需要编辑文件并定义与 YARN 相关的设置:yarn-site.xml
nano $HADOOP_HOME/etc/hadoop/yarn-site.xml
添加以下配置:
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
- 格式化 HDFS NameNode。
运行以下命令来格式化 Hadoop Namenode:
hdfs namenode -format
- 启动 Hadoop 集群。
现在我们使用以下命令启动 NameNode 和 DataNode:
start-dfs.sh
接下来,启动 YARN 资源和节点管理器:
start-yarn.sh
您现在可以使用以下命令验证它们:
jps
输出:
hadoop@idroot.us:~$ jps 58000 NameNode 54697 DataNode 55365 ResourceManager 55083 SecondaryNameNode 58556 Jps 55365 NodeManager
步骤 6. 访问 Hadoop Web 界面。
成功安装后,打开 Web 浏览器并使用 URL 访问 Apache Hadoop 。您将被重定向到 Hadoop Web 界面:http://your-server-ip-address:9870
导航您的本地主机 URL 或 IP 以访问单个 DataNode: http://your-server-ip-address:9864
要访问 YARN 资源管理器,请使用 URL 。您应该看到以下屏幕:http://your-server-ip-adddress:8088
感谢您使用本教程在 Debian 11 Bullseye 上安装最新版本的 Apache Hadoop。如需其他帮助或有用信息,我们建议您查看Apache 官方网站。