Hadoop由GNU / Linux平台支持(建议)。因此,需要安装一个Linux操作系统并设置Hadoop环境。如果有Linux操作系统等,可以把它安装在VirtualBox(要在VirtualBox内部安装Linux经验,没有装过)也可以学习试着来)。//原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/hadoop/hadoop_enviornment_setup.html

目的
本文档介绍了如何设置和配置单节点Hadoop安装,以便您可以使用Hadoop MapReduce和Hadoop分布式文件系统(HDFS)快速执行简单的操作。
先决条件
支持平台
- 支持GNU / Linux作为开发和生产平台。Hadoop在具有2000个节点的GNU / Linux集群上得到了证明。
- 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以定义一些参数,如下所示:
#设置为Java安装的根目录
导出JAVA_HOME = / usr / java / latest
尝试以下命令:
$ bin / hadoop
这将显示hadoop脚本的用法文档。
现在,您可以以三种支持的模式之一启动Hadoop集群:
- 本地(独立)模式
- 伪分布式模式
- 全分布式模式
独立运行
默认情况下,Hadoop被配置为以非分布式模式作为单个Java进程运行。这对于调试很有用。
下面的示例复制解压缩的conf目录以用作输入,然后查找并显示给定正则表达式的每个匹配项。输出被写入给定的输出目录。
$ mkdir输入
$ cp etc / hadoop / *。xml输入
$ bin / hadoop jar share / hadoop / mapreduce / hadoop-mapreduce-examples-3.2.1.jar grep输入输出'dfs [az。] +'
$ cat输出/ *
伪分布式操作
Hadoop也可以以伪分布式模式在单节点上运行,其中每个Hadoop守护程序都在单独的Java进程中运行。
组态
使用以下内容:
等/hadoop/core-site.xml:
<配置>
<属性>
<name> fs.defaultFS </ name>
<value> hdfs:// localhost:9000 </ value>
</ property>
</ configuration>
等/hadoop/hdfs-site.xml:
<配置>
<属性>
<name> dfs.replication </ name>
<value> 1 </ value>
</ property>
</ configuration>
设置无密码SSH
现在检查您是否可以在不使用密码的情况下SSH到本地主机:
$ ssh本地主机
如果没有密码就无法SSH到本地主机,请执行以下命令:
$ 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-格式
- 启动NameNode守护程序和DataNode守护程序: $ sbin / start-dfs.sh hadoop守护程序日志输出将写入$ HADOOP_LOG_DIR目录(默认为$ HADOOP_HOME / logs)。
- 浏览Web界面以查找NameNode;默认情况下,它在以下位置可用:NameNode- http:// localhost:9870 /
- 设置执行MapReduce作业所需的HDFS目录: $ bin / hdfs dfs -mkdir / user $ bin / hdfs dfs -mkdir / user / <用户名>
- 将输入文件复制到分布式文件系统中: $ bin / hdfs dfs -mkdir输入 $ bin / hdfs dfs -put etc / hadoop / *。xml输入
- 运行提供的一些示例: $ bin / hadoop jar share / hadoop / mapreduce / hadoop-mapreduce-examples-3.2.1.jar grep输入输出'dfs [az。] +'
- 检查输出文件:将输出文件从分布式文件系统复制到本地文件系统并检查它们: $ bin / hdfs dfs-获取输出输出 $ cat输出/ * 要么查看分布式文件系统上的输出文件: $ bin / hdfs dfs -cat输出/ *
- 完成后,使用以下命令停止守护进程: $ sbin / stop-dfs.sh
在单个节点上的YARN
您可以通过设置一些参数并另外运行ResourceManager守护程序和NodeManager守护程序,以伪分布式模式在YARN上运行MapReduce作业。
以下指令假定上述指令的1.〜4.步骤已经执行。
- 配置参数如下:etc / hadoop / mapred-site.xml:<配置> <属性> <name> mapreduce.framework.name </ name> <value>纱线</ value> </ 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:<配置> <属性> <name> yarn.nodemanager.aux-services </ name> <value> mapreduce_shuffle </ value> </ property> <属性> <name> yarn.nodemanager.env-whitelist </ name> <值> 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
- 浏览Web界面以找到ResourceManager;默认情况下,它在以下位置可用:ResourceManager- http:// localhost:8088 /
- 运行MapReduce作业。
- 完成后,使用以下命令停止守护进程: $ sbin / stop-yarn.sh