Hadoop是一个用Java编写的框架,用于在大型社区硬件集群上运行应用程序。它类似于谷歌文件系统。为了安装 Hadoop,我们首先需要Java,所以首先,我们在 Ubuntu 中安装Java 。
第一步:打开你的终端,首先用命令检查你的系统是否装有Java
java -version
第 2 步:现在是更新系统的时候了。以下是更新系统的 2 个命令。
sudo apt-get update
sudo apt-get install update
第 3 步:现在我们将使用以下命令为Java安装默认的 JDK:
sudo apt-get install default-jdk
它会问你 Y/N 按 Y。
第 4 步:现在使用命令检查Java是否已安装
java -version
第 5 步:安装后,我们需要一个专用用户。这不是必需的,但为Hadoop安装指定一个专用用户是一件好事。您可以使用以下命令:
sudo addgroup hadoop
sudo adduser --ingroup hadoop hadoopusr
第 6 步:现在运行上述 2 个命令后,您已经成功创建了一个名为hadoopusr的专用用户。现在它将要求输入新的 UNIX 密码,因此请根据您的方便选择密码(确保有时它不会显示您键入的字符或数字,因此请记住您键入的内容)。然后它会问你全名等信息。继续按回车默认,然后按 Y 以获得正确的信息。
第 7 步:现在使用以下命令:
sudo adduser hadoopusr sudo
使用此命令,您将您的 ‘hadoopusr’ 添加到 ‘sudo’ 组,以便我们也可以使其成为超级用户。
第 8 步:现在我们还需要安装 ssh 密钥,即安全外壳。
sudo apt-get install openssh-server
第 9 步:现在我们切换到新用户 hadoopusr 并输入您在上述命令中使用的密码切换用户:
su - hadoopusr
第 10 步:现在是生成 ssh 密钥的时候了,因为 Hadoop 需要 ssh 访问权限来管理它的节点、远程或本地机器,因此对于 Hadoop 设置的单个节点,我们进行配置以便我们可以访问本地主机。
ssh-keygen -t rsa -P ""
在这个命令之后简单地按下enter 。
第 11 步:现在我们使用以下命令,因为我们需要将计算机的公钥添加到要使用 ssh 密钥访问的计算机的授权密钥文件中,因此我们触发了这些命令。
cat $HOME/ .ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
第 12 步:现在使用以下命令检查本地主机,即 ssh localhost,然后按yes继续并输入您的密码,如果它询问然后键入 exit。
ssh localhost
现在您已经完成了Hadoop安装的基本要求。
第 13 步:现在下载您将要安装的软件包。通过单击下图所示的文件从 Hadoop-2.9.0 下载它。
第 14 步:下载hadoop-2.9.0.tar.gz后,将此 tar 文件放置到您的首选位置,然后使用以下命令将其解压缩。就我而言,我将其移至/Documents文件夹。
现在我们用下面的命令解压这个文件并输入你的hadoopusr密码。如果您不知道密码,请不要担心,您可以简单地切换您的用户并根据自己的情况更改密码。
command : sudo tar xvzf hadoop-2.9.0.tar.gz
第 15 步:现在我们需要将此提取的文件夹移动到hadoopusr用户,以便使用以下命令(确保提取的文件夹的名称是hadoop ):
sudo mv hadoop /usr/local/hadoop
第 16 步:现在我们需要更改所有权,因此该命令是:
sudo chown -R hadoopusr /usr/local
步骤 17:这是最重要的步骤,即现在我们要配置一些文件,这真的非常重要。
首先,我们配置./bashrc文件,以便打开该文件,键入以下命令:
sudo gedit ~/.bashrc
然后打开一个./bashrc 文件,然后将以下命令复制到该文件中(根据您的 PC Java版本更改Java版本,例如Java-8-openjdk-amd64 )。
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
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 HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
然后检查您是否正确配置了它。
source ~/.bashrc
第 18 步:在首先配置更多文件之前,我们确保我们为该文件安装了哪个版本的Java转到位置/usr/lib/jvm并在转到此位置后键入ls命令以列出其中的文件,现在查看Java版本,就我而言,它是Java-11-openjdk-amd64 。
第 19 步:现在我们将配置hadoop-env.sh 。为此,使用以下命令打开文件。
sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh
打开文件后,将以下导出命令复制到其中,并确保使用JAVA_HOME注释现有的导出命令:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
不要忘记保存。
第 20 步:现在我们将配置 core-site.xml。为此,使用以下命令打开该文件:
sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml
一旦文件打开,复制配置标签内的以下文本
请参阅下图以更好地理解:
第 21 步:现在我们将使用以下命令为该文件配置hdfs-site.xml 。
sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml
文件打开后,将以下文本复制到配置标签中
请参阅下图以更好地理解:
步骤22:现在我们将配置负责在Hadoop环境中执行文件的yarn-site.xml。为此,使用以下命令打开该文件:
sudo gedit /usr/local/hadoop/etc/hadoop/yarn-site.xml
一旦文件打开,复制配置标签内的以下文本
请参阅下图以更好地理解:
第 23 步:现在要配置的最后一个文件是 mapred-site.xml。为此,我们有mapred-site.xml.template,因此我们需要找到该文件,然后将此文件复制到该位置,然后重命名它。
所以要定位文件,我们需要转到位置/usr/local/hadoop/etc/hadoop/复制此文件并将文件重命名为 single,使用以下命令
sudo cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml
一旦文件被复制或重命名,现在使用以下命令打开该文件:
sudo gedit /usr/local/hadoop/etc/hadoop/mapred-site.xml
然后将下面的内容放在它的配置标签中。
请参阅下图以更好地理解:
第 24 步:现在我们已经成功配置了所有文件。所以现在是时候检查我们的安装了。正如我们所知,在 Hadoop 架构中,我们有名称节点和其他块,因此我们需要创建一个目录,即 hadoop_space。在这个目录中,我们创建了另一个目录,即 hdfs、namenode 和 datanode。创建目录的命令如下:
sudo mkdir -p /usr/local/hadoop_space
sudo mkdir -p /usr/local/hadoop_space/hdfs/namenode
sudo mkdir -p /usr/local/hadoop_space/hdfs/datanode
现在我们需要为以下命令授予权限:
sudo chown -R hadoopusr /usr/local/hadoop_space
运行 Hadoop
1.首先,我们需要格式化namenode,然后您需要在启动集群时第一次运行以下命令,如果您再次使用它,那么您的所有元数据都将被擦除。
hdfs namenode -format
2.现在我们需要启动DFS,即分布式文件系统。
start-dfs.sh
3.现在你需要开始的最后一件事是纱线
start-yarn.sh
4.现在使用以下命令:
jps
现在您将能够看到 SecondaryNameNode、NodeManager、ResourceManager、NameNode、jpd 和 DataNode,这意味着您已成功安装 Hadoop。
5.你已经成功地在你的系统上安装了hadoop 。现在要检查所有集群信息,您可以在浏览器中使用localhost:50070 。界面将如下所示: