Hadoop:设置单节点群集。
- 目的
- 先决条件
- 支持的平台
- 必备软件
- 安装软件
- 下载
- 准备启动Hadoop集群
- 独立操作
- 伪分布式操作
- 组态
- 设置passphraseless ssh
- 执行
- YARN在单个节点上
- 全分布式操作
目的
本文档介绍如何设置和配置单节点Hadoop安装,以便您可以使用Hadoop MapReduce和Hadoop分布式文件系统(HDFS)快速执行简单操作。
先决条件
支持的平台
-
支持GNU / Linux作为开发和生产平台。已经在具有2000个节点的GNU / Linux集群上演示了Hadoop。
-
Windows也是受支持的平台,但以下步骤仅适用于Linux。要在Windows上设置Hadoop,请参阅Wiki页面。
必备软件
Linux所需的软件包括:
-
必须安装Java™。HadoopJavaVersions描述了推荐的Java版本。
-
必须安装ssh并且必须运行sshd才能使用管理远程Hadoop守护程序的Hadoop脚本(如果要使用可选的启动和停止脚本)。此外,建议还安装pdsh以实现更好的ssh资源管理。
安装软件
如果您的群集没有必需的软件,则需要安装它。
例如在Ubuntu Linux上:
$ sudo apt-get install ssh
$ sudo apt-get install pdsh
下载
要获得Hadoop发行版,请从其中一个Apache下载镜像下载最新的稳定版本。
准备启动Hadoop集群
解压缩下载的Hadoop发行版。在分发中,编辑文件etc / hadoop / hadoop-env.sh以定义一些参数,如下所示:
# set to the root of your Java installation
export JAVA_HOME=/usr/java/latest
请尝试以下命令:
$ bin/hadoop
这将显示hadoop脚本的使用文档。
现在,您已准备好以三种支持模式之一启动Hadoop集群:
- 本地(独立)模式
- 伪分布式模式
- 全分布式模式
Standalone Operation模式
默认情况下,Hadoop配置为以非分布式模式运行,作为单个Java进程。这对调试很有用。
以下示例复制解压缩的conf目录以用作输入,然后查找并显示给定正则表达式的每个匹配项。输出将写入给定的输出目录。
$ mkdir input
$ cp etc/hadoop/*.xml input
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.0.jar grep input output 'dfs[a-z.]+'
$ cat output/*
伪分布式操作
Hadoop也可以在伪分布式模式下在单节点上运行,其中每个Hadoop守护程序在单独的Java进程中运行。
配置
使用以下内容:
etc/hadoop/core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
etc/hadoop/hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
设置 ssh 免密码登录
现在检查您是否可以在没有密码的情况下ssh到localhost:
$ ssh localhost
如果在没有密码短语的情况下无法ssh到localhost,请执行以下命令:
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
执行
以下说明是在本地运行MapReduce作业。如果要在YARN上执行作业,请参阅单节点上的YARN 。
-
格式化文件系统:
$ bin/hdfs namenode -format
-
启动NameNode守护程序和DataNode守护程序:
$ sbin/start-dfs.sh
hadoop守护程序日志输出将写入$ HADOOP_LOG_DIR目录(默认为$ HADOOP_HOME / logs)。
-
浏览NameNode的Web界面; 默认情况下,它可用于:
- NameNode - http://localhost:9870/
-
创建执行MapReduce作业所需的HDFS目录:
$ bin/hdfs dfs -mkdir /user $ bin/hdfs dfs -mkdir /user/<username>
-
将输入文件复制到分布式文件系统中:
$ bin/hdfs dfs -mkdir input $ bin/hdfs dfs -put etc/hadoop/*.xml input
-
运行一些提供的示例:
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.0.jar grep input output 'dfs[a-z.]+'
-
检查输出文件:将输出文件从分布式文件系统复制到本地文件系统并检查它们:
$ bin/hdfs dfs -get output output $ cat output/*
要么
查看分布式文件系统上的输出文件:
$ bin/hdfs dfs -cat output/*
-
完成后,停止守护进程:
$ sbin/stop-dfs.sh
YARN在单个节点上
您可以通过设置一些参数并运行ResourceManager守护程序和NodeManager守护程序,以伪分布式模式在YARN上运行MapReduce作业。
以下说明假设已执行上述指令的 1.~4步骤。
-
配置参数如下:
etc/hadoop/mapred-site.xml:
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> <configuration> <property> <name>mapreduce.application.classpath</name> <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value> </property> </configuration>
etc/hadoop/yarn-site.xml:
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.env-whitelist</name> <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value> </property> </configuration>
-
启动ResourceManager守护程序和NodeManager守护程序:
$ sbin/start-yarn.sh
-
浏览ResourceManager的Web界面; 默认情况下,它可用于:
- ResourceManager - http://localhost:8088/
运行MapReduce作业。
-
完成后,停止守护进程:
$ sbin/stop-yarn.sh
全分布式操作
有关设置完全分布式,非平凡群集的信息,请参阅群集设置。
最后
以上就是轻松网络最近收集整理的关于Apache Hadoop 3.2.0 官方API常规 :单节点安装Hadoop:设置单节点群集。的全部内容,更多相关Apache内容请搜索靠谱客的其他文章。
发表评论 取消回复