本教程的唯一先决条件是 VPS乌班图 13.10 x64安装。
您需要从命令行执行命令,可以通过以下两种方式之一执行:
-
使用 SSH 访问 Droplet。
-
使用 Digital Ocean Droplet 管理面板中的“控制台访问”
Hadoop是一个框架(由软件库组成),它简化了分布在服务器集群上的数据集的处理。 Hadoop 的两个主要组件是HDFS and 映射减少.
HDFS 是 Hadoop 用于存储所有数据的文件系统。该文件系统跨越 Hadoop 使用的所有节点。这些节点可以位于单个 VPS 上,也可以分布在大量虚拟服务器上。
MapReduce 是编排所有 Hadoop 活动的框架。它负责将工作分配给集群中的不同节点。
Hadoop 的架构允许您根据需要扩展硬件。可以增量添加新节点,而不必担心数据格式的更改或文件系统上应用程序的处理。
Hadoop 最重要的功能之一是,它允许您通过用廉价的商品服务器替换昂贵的服务器来节省大量资金。这是可能的,因为 Hadoop 将容错的责任从硬件层转移到了应用层。
安装、启动并运行 Hadoop 非常简单。但是,由于此过程需要编辑多个配置和设置文件,因此请确保正确遵循每个步骤。
Hadoop 需要安装 Java,所以我们首先安装 Java:
apt-get update
apt-get install default-jdk
这些命令将更新您的 VPS 上的软件包信息,然后安装 Java。执行完这些命令后,执行以下命令来验证Java是否已安装:
java -version
如果已安装 Java,则应显示版本详细信息,如下图所示:
Hadoop 使用 SSH(访问其节点),这通常要求用户输入密码。但是,可以通过使用以下命令创建和设置 SSH 证书来消除此要求:
ssh-keygen -t rsa -P ''
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
执行这两个命令中的第一个后,可能会要求您输入文件名。只需将其留空并按 Enter 键即可继续。第二个命令将新创建的密钥添加到授权密钥列表中,以便 Hadoop 可以使用 SSH,而无需提示输入密码。
首先,我们使用以下命令从其中一个镜像获取 Hadoop:
wget http://www.motorlogy.com/apache/hadoop/common/current/hadoop-2.3.0.tar.gz
Note: 此命令使用 Hadoop 网站上列出的镜像之一的下载链接。可以找到镜像列表在这个链接上。如果您愿意,您可以选择任何其他镜子。要下载最新的稳定版本,请选择hadoop-X.Y.Z.tar.gz文件来自current or the current2您选择的镜像上的目录。
下载Hadoop包后,执行以下命令解压:
tar xfz hadoop-2.3.0.tar.gz
此命令将将此包中的所有文件提取到名为的目录中hadoop-2.3.0
。对于本教程,Hadoop 安装将移至/usr/local/hadoop
目录使用以下命令:
mv hadoop-2.3.0 /usr/local/hadoop
Note: 解压文件夹的名称取决于您下载并解压的 Hadoop 版本。如果您的版本与本教程中使用的版本不同,请相应地更改上述命令。
要完成 Hadoop 的设置,必须修改以下文件:
- ~/.bashrc
- /usr/local/hadoop/etc/hadoop/hadoop-env.sh
- /usr/local/hadoop/etc/hadoop/core-site.xml
- /usr/local/hadoop/etc/hadoop/yarn-site.xml
- /usr/local/hadoop/etc/hadoop/mapred-site.xml.template
- /usr/local/hadoop/etc/hadoop/hdfs-site.xml
我。编辑~/.bashrc
在编辑之前.bashrc
文件在你的主目录中,我们需要找到Java的安装路径来设置JAVA_HOME
环境变量。让我们使用以下命令来执行此操作:
update-alternatives --config java
这将显示如下内容:
该命令显示的完整路径为:
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
的价值JAVA_HOME
是之前的一切/jre/bin/java
在上面的路径中 - 在这种情况下,/usr/lib/jvm/java-7-openjdk-amd64
。记下这一点,因为我们将在此步骤和其他步骤中使用该值。
Now use nano
(或您喜欢的编辑器)使用以下命令编辑 ~/.bashrc:
nano ~/.bashrc
这将打开.bashrc
文件在文本编辑器中。转到文件末尾并在其中粘贴/键入以下内容:
#HADOOP VARIABLES START
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
#HADOOP VARIABLES END
Note 1: 如果值JAVA_HOME
您的 VPS 上有所不同,请务必更改第一个export
在上述内容中相应声明。
Note 2: 使用 nano 打开和编辑的文件可以使用以下命令保存Ctrl + X
。在提示保存更改时,输入Y
。如果要求您输入文件名,只需按 Enter 键即可。
的结束.bashrc
文件应该看起来像这样:
保存并关闭后.bashrc
文件中,执行以下命令,以便您的系统识别新创建的环境变量:
source ~/.bashrc
将以上内容放入.bashrc
文件确保这些变量在您的 VPS 启动时始终可用。
打开/usr/local/hadoop/etc/hadoop/hadoop-env.sh
使用以下命令使用 nano 文件:
nano /usr/local/hadoop/etc/hadoop/hadoop-env.sh
在此文件中,找到导出JAVA_HOME
多变的。将此行更改为以下内容:
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
Note: 如果值JAVA_HOME
您的 VPS 上有所不同,请确保相应地更改此行。
The hadoop-env.sh
文件应该看起来像这样:
保存并关闭该文件。将上面的语句添加到hadoop-env.sh
文件确保的值JAVA_HOME
每当 Hadoop 启动时,变量就可供 Hadoop 使用。
The /usr/local/hadoop/etc/hadoop/core-site.xml
文件包含 Hadoop 在启动时使用的配置属性。该文件可用于覆盖 Hadoop 启动时的默认设置。
使用以下命令使用 nano 打开此文件:
nano /usr/local/hadoop/etc/hadoop/core-site.xml
在此文件中,在之间输入以下内容<configuration></configuration>
tag:
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
The core-site.xml
文件应该看起来像这样:
保存并关闭该文件。
The /usr/local/hadoop/etc/hadoop/yarn-site.xml
文件包含 MapReduce 启动时使用的配置属性。该文件可用于覆盖 MapReduce 启动时的默认设置。
使用以下命令使用 nano 打开此文件:
nano /usr/local/hadoop/etc/hadoop/yarn-site.xml
在此文件中,在之间输入以下内容<configuration></configuration>
tag:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
The yarn-site.xml
文件应该看起来像这样:
保存并关闭该文件。
默认情况下,/usr/local/hadoop/etc/hadoop/
文件夹包含/usr/local/hadoop/etc/hadoop/mapred-site.xml.template
必须使用该名称重命名/复制的文件mapred-site.xml
。该文件用于指定 MapReduce 使用哪个框架。
这可以使用以下命令来完成:
cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml
完成此操作后,使用以下命令使用 nano 打开新创建的文件:
nano /usr/local/hadoop/etc/hadoop/mapred-site.xml
在此文件中,在之间输入以下内容<configuration></configuration>
tag:
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
The mapred-site.xml
文件应该看起来像这样:
保存并关闭该文件。
The /usr/local/hadoop/etc/hadoop/hdfs-site.xml
必须为正在使用的集群中的每个主机进行配置。它用于指定将用作namenode和datanode在该主机上。
在编辑此文件之前,我们需要创建两个目录,其中包含namenode和datanode对于此 Hadoop 安装。这可以使用以下命令来完成:
mkdir -p /usr/local/hadoop_store/hdfs/namenode
mkdir -p /usr/local/hadoop_store/hdfs/datanode
Note: 您可以在不同位置创建这些目录,但请确保修改其中的内容hdfs-site.xml
因此。
完成此操作后,打开/usr/local/hadoop/etc/hadoop/hdfs-site.xml
使用以下命令使用 nano 文件:
nano /usr/local/hadoop/etc/hadoop/hdfs-site.xml
在此文件中,在之间输入以下内容<configuration></configuration>
tag:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop_store/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop_store/hdfs/datanode</value>
</property>
The hdfs-site.xml
文件应该看起来像这样:
保存并关闭该文件。
完成上述步骤中概述的所有配置后,需要格式化 Hadoop 文件系统才能开始使用。这是通过执行以下命令来完成的:
hdfs namenode -format
Note: 这只需在开始使用 Hadoop 之前完成一次。如果在使用Hadoop后再次执行该命令,将会破坏Hadoop文件系统上的所有数据。
剩下要做的就是启动新安装的单节点集群:
start-dfs.sh
执行此命令时,系统会提示您两次,并显示类似以下内容的消息:
您确定要继续连接吗(是/否)?
Type in yes
对于这两个提示,然后按 Enter 键。完成后,执行以下命令:
start-yarn.sh
执行上述两个命令将使 Hadoop 启动并运行。您可以通过输入以下命令来验证这一点:
jps
执行此命令应该会显示类似于以下内容的内容:
如果您可以看到与上面的屏幕截图类似的结果,则意味着您现在在 VPS 上运行了 Hadoop 的功能实例。
如果您有一个设置为使用 Hadoop 的应用程序,则可以启动该应用程序并开始在新安装中使用它。另一方面,如果您只是尝试和探索 Hadoop,则可以从在新文件系统上添加/操作数据或文件开始,以感受它。
提交者:http://javascript.asia”>周杰伦