安装 Hadoop:设置单节点 Hadoop 集群


安装Hadoop有两种方式,即单节点和多节点。
单节点集群意味着只有一个DataNode在一台机器上运行和设置所有的NameNode、DataNode、ResourceManager和NodeManager。这用于学习和测试目的。例如,让我们考虑医疗保健行业内的样本数据集。因此,为了测试 Oozie 作业是否已按适当顺序安排了所有过程,例如收集、聚合、存储和处理数据,我们使用单节点集群。与包含分布在数百台机器上的 TB 数据的大型环境相比,它可以在较小的环境中轻松有效地测试顺序工作流。 
而在多节点集群中,有多个DataNode在运行,每个DataNode运行在不同的机器上。多节点集群在组织中实际用于分析大数据。考虑上面的例子,我们实时处理PB级数据时,需要分布在数百台机器上进行处理。因此,这里我们使用多节点集群。 
 
先决条件

  • VIRTUAL BOX:用于在其上安装操作系统。
  • 操作系统:您可以在基于 Linux 的操作系统上安装 Hadoop。Ubuntu 和 CentOS 非常常用。在本教程中,我们使用 CentOS。    
  • JAVA:您需要在您的系统上安装 Java 8 软件包。
  • HADOOP:您需要 Hadoop 2.7.3 包。

 
安装 Hadoop
步骤 1:下载 Java 8 包。将此文件保存在您的主目录中。
步骤 2:提取 Java Tar 文件。
命令: tar -xvf jdk-8u101-linux-i586.tar.gz
第 3 步:下载 Hadoop 2.7.3 包。
命令: wget https://archive.apache.org/dist/hadoop/core/hadoop-2.7.3/hadoop-2.7.3.tar.gz
第 4 步:提取 Hadoop tar 文件。
命令:tar -xvf hadoop-2.7.3.tar.gz

步骤 5:在 bash 文件 (.bashrc) 中添加 Hadoop 和 Java 路径。
打开 .bashrc文件。
命令:  vi .bashrc
现在,添加 Hadoop 和 Java 路径:

# User specific aliases and functions
export HADOORI HOME=SHOME/hadoop-2.7,3
export HADOOP_CONF_DIR=$HOME/hadoop-2.7.3/etc/hadoop
export HADOOP MAPRED HOME=SHOME/hadoop-2.7.3
export HADOOP COMMON HOME=SHOME/hadoop -2.7.3
export HADOOP HDFS_HOME=$HOME/hadoop-2.7.3
export YARN_HOME=$HOME/hadoop 2.7.3
export PATH=$PATH: SHOME/hadoop 2.7.3/bin
# Set JAVA HOME
export JAVA_HOME=/home/edureka/jdk1.3.0_101
export PATH=/home/edureka/jdk1.8.0_101/bin: $PATH

然后,保存 bash 文件并关闭它。
要将所有这些更改应用于当前终端,请执行 source 命令。

source .bashrc
 

 
验证
要确保 Java 和 Hadoop 已正确安装在您的系统上并可通过终端访问,请执行 java -version 和 hadoop version 命令。
 
步骤 6 :编辑Hadoop 配置文件。
命令:  cd hadoop-2.7.3/etc/hadoop/
所有 Hadoop 配置文件都位于hadoop-2.7.3/etc/hadoop目录中
 
第 7 步:打开core-site.xml并在配置标签中编辑下面提到的属性:
core-site.xml通知 Hadoop 守护进程 NameNode 在集群中的运行位置。它包含 Hadoop 核心的配置设置,例如 HDFS 和 MapReduce 通用的 I/O 设置。
命令: vi core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type=
"text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs:
//localhost:9000</value>
</property>
</configuration>

 
第 8 步:编辑hdfs-site.xml 并在配置标签中编辑下面提到的属性:
hdfs-site.xml包含 HDFS 守护进程(即 NameNode、DataNode、Secondary NameNode)的配置设置。它还包括 HDFS 的复制因子和块大小。
vi hdfs-site.xml:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type=
"text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permission</name>
<value>false</value>
</property>
</configuration>

第 9 步:编辑mapred-site.xml文件并在配置标签中编辑下面提到的属性:
mapred-site.xml包含 MapReduce 应用程序的配置设置,例如可以并行运行的 JVM 数量、映射器和减速器进程的大小、进程可用的 CPU 内核等。
在某些情况下,mapred-site.xml 文件不可用。因此,我们必须使用 mapred-site.xml 模板创建 mapred-site.xml 文件 。

cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type=
"text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

第 10 步:编辑yarn-site.xml 并在配置标签中编辑下面提到的属性:
yarn-site.xml包含 ResourceManager 和 NodeManager 的配置设置,如应用程序内存管理大小、程序和算法所需的操作等。

<?xml version="1.0">
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>

 
第 11 步:编辑hadoop-env.sh并添加如下所述的 Java 路径:
hadoop-env.sh包含脚本中用于运行 Hadoop 的环境变量,如 Java 主路径等。

# The java implementation to use.
export JAVA HOME=/home/edureka/jdk1.8.0_101

 
第 12 步: 转到 Hadoop 主目录并格式化 NameNode。
命令:  cd
命令:  cd hadoop-2.7.3
命令:  bin/hadoop namenode -format
这通过 NameNode 格式化 HDFS。该命令仅在第一次执行。格式化文件系统意味着初始化由 dfs.name.dir 变量指定的目录。
永远不要格式化、启动和运行 Hadoop 文件系统。您将丢失存储在 HDFS 中的所有数据。  
 

步骤 13: NameNode 格式化后,进入 hadoop-2.7.3/sbin 目录并启动所有守护进程。
命令:  cd hadoop-2.7.3/sbin
您可以使用单个命令启动所有守护程序,也可以单独执行。
  ./ start-all.sh

上面的命令是 start-dfs.sh, start-yarn.sh &  mr-jobhistory-daemon.sh的组合
或者您可以单独运行所有服务,如下所示:
  • 启动名称节点:

NameNode 是 HDFS 文件系统的核心。它保留存储在 HDFS 中的所有文件的目录树,并跟踪存储在集群中的所有文件。
命令: ./hadoop-daemon.sh start namenode
  • 启动数据节点:

在启动时,DataNode 连接到 Namenode 并响应来自 Namenode 的不同操作的请求。
命令: ./hadoop-daemon.sh start datanode
  • 启动资源管理器:

ResourceManager 是仲裁所有可用集群资源的主节点,因此有助于管理在 YARN 系统上运行的分布式应用程序。它的工作是管理每个NodeManagers和每个应用程序的ApplicationMaster。
命令: ./yarn -daemon.sh start resourcemanager
  • 启动节点管理器:

每个机器框架中的 NodeManager 是代理,负责管理容器,监控其资源使用情况并将其报告给 ResourceManager。
命令: ./yarn -daemon.sh start nodemanager
  • 启动 JobHistoryServer:

JobHistoryServer 负责为来自客户端的所有与作业历史相关的请求提供服务。
命令:./mr-jobhistory-daemon.sh start historyserver
 
第 14 步:要检查所有 Hadoop 服务是否已启动并正在运行,请运行以下命令。
命令: jps
 
第 15 步:现在打开 Mozilla 浏览器并转到localhost:50070/dfshealth.html检查 NameNode 界面。
 
恭喜,您已经成功安装了一个单节点的Hadoop集群。