当前位置:   article > 正文

搭建一个单节点的Hadoop

搭建一个单节点的Hadoop

目录

1. 目的

2. 搭建单节点的Hadoop

2.1 支持的系统

2.2 必备的软件

2.2.1 Java

2.2.2 ssh

3. 安装

3.1 下载安装包

3.2 上传、解压和基本配置

4. 不同模式的配置和启动

4.1 本地(独立)模式

4.2 伪分布式模式

4.2.1 运行

4.2.2 单节点YARN

4.3 全分布式模式


1. 目的

详细描述如何搭建和配置一个单节点的Hadoop,以便新手读者能够借此避开搭建Hadoop集群,从而可以很便捷的去直接学习和使用Hadoop的MapReduce和HDFS。

2. 搭建单节点的Hadoop

2.1 支持的系统

GNU/Linux无论作为开发还是生产环境,均是被支持的,事实上,Hadoop已经在2000节点的GNU/Linux集群上展现过它的可用性了。

Windows同样也是被支持的系统。

2.2 必备的软件

2.2.1 Java

Hadoop3.3及以上版本支持Java8和Java11(仅运行时),编译时一定要使用Java8,不支持使用Java11进行编译,3.0.x-3.2.x目前仅支持Java8,2.7.x-2.10.x既支持Java7也支持Java8。

目前Hadoop社区使用OpenJDK作为创建/测试/发布环境,所以是社区建议使用的JDK环境。此外,其它jdk/jvm也是可以正常使用的。

2.2.2 ssh

为了使hadoop的启停脚本能够正常使用,集群节点需安装ssh,同时需启动sshd服务,以便Hadoop脚本能够管理远程的hadoop守护进程。此外,为了更好地对ssh资源进行管理,官网还建议同时安装pdsh服务。

3. 安装

3.1 下载安装包

① 官网地址:http://www.apache.org/dyn/closer.cgi/hadoop/common/

② 选择镜像站:官网通常会推荐国内用户到清华大学的镜像站进行下载

③ 选择版本和镜像进行下载,如:我这里选择了2.10.1版本,下载安装包hadoop-2.10.1.tar.gz,当然,也可以下载源码文件hadoop-2.10.1-src.tar.gz,解压后导入idea自行编译

3.2 上传、解压和基本配置

① 将下载的hadoop-2.10.1.tar.gz压缩包上传到Linux虚拟机或服务器,解压到目录:tar -zxvf hadoop-2.10.1.tar.gz -C /userfolder

② 编辑$HADOOP_HOME/etc/hadoop/hadoop-env.sh,添加JAVA_HOME,如:

③ 在$HADOOP_HOME目录下尝试执行bin/hadoop

这里将打印出hadoop脚本的使用手册。

现在,我们可以以下面支持的三种模式之一启动我们的Hadoop集群:

Local(Standalone) Mode 即本地(独立)模式

Pseudo-Distributed Mode 即伪分布式模式

Fully-Distributed Mode 即全分布式模式

下面将分别对这三种模式进行说明。

4. 不同模式的配置和启动

说明:以下所有命令均在Hadoop的主目录下执行,如果配置了$HADOOP_HOME,则脚本命令均可成功执行,但部分路径参数使用的是本地相对路径,如不切换目录至hadoop主目录,运行时会报错。

4.1 本地(独立)模式

默认情况下,Hadoop被配置为以非分布式模式运行,此时它将作为单个Java进程。这种模式对调试是非常友好的。

例如,下面的命令可以尝试运行mapreduce示例程序:

  1. mkdir input
  2. cp etc/hadoop/*.xml input
  3. bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.1.jar grep input output 'dfs[a-z.]+'
  4. cat output/*

输出结果:

4.2 伪分布式模式

4.2.1 运行

① 配置etc/hadoop/core-site.xml

  1. <configuration>
  2. <property>
  3. <name>fs.defaultFS</name>
  4. <value>hdfs://localhost:9000</value>
  5. </property>
  6. </configuration>

② 配置etc/hadoop/hdfs-site.xml

  1. <configuration>
  2. <property>
  3. <name>dfs.replication</name>
  4. <value>1</value>
  5. </property>
  6. </configuration>

③ 配置ssh免密登录

  1. ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
  2. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  3. chmod 0600 ~/.ssh/authorized_keys

④ 启动

1) 格式化文件系统

bin/hdfs namenode -format

2) 启动NameNode和DataNode

sbin/start-dfs.sh

3) 浏览器访问NameNode的web接口,默认在9870端口(老版本为50070),即:http://localhost:9870/

4) 在HDFS上创建执行上述MapReduce作业所需的目录

  1. # 在hdfs上创建目录
  2. bin/hdfs dfs -mkdir /user
  3. bin/hdfs dfs -mkdir /user/<username>
  4. # 复制本地文件到hdfs指定目录
  5. bin/hdfs dfs -mkdir input
  6. bin/hdfs dfs -put etc/hadoop/*.xml input

5) 执行提供的样例作业

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.1.jar grep input output 'dfs[a-z.]+'

6) 检查输出

bin/hdfs dfs -cat output/*

结果同上。

7) 关闭服务

sbin/stop-dfs.sh

4.2.2 单节点YARN

伪分布式模式下,通过设置一些参数和启动ResourceManager, NodeManager,我们可以在YARN上运行MapReduce作业,具体操作如下:

① 修改YARN的配置

1) etc/hadoop/mapred-site.xml

  1. <configuration>
  2. <property>
  3. <name>mapreduce.framework.name</name>
  4. <value>yarn</value>
  5. </property>
  6. <property>
  7. <name>mapreduce.application.classpath</name>
  8. <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
  9. </property>
  10. </configuration>

2) etc/hadoop/yarn-site.xml

  1. <configuration>
  2. <property>
  3. <name>yarn.nodemanager.aux-services</name>
  4. <value>mapreduce_shuffle</value>
  5. </property>
  6. <property>
  7. <name>yarn.nodemanager.env-whitelist</name>
  8. <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
  9. </property>
  10. </configuration>

② 启动ResourceManager和NodeManager

sbin/start-yarn.sh

③浏览器访问ResourceManager的web接口,默认在8088端口,即:http://localhost:8088/

④ 运行上述作业,并在浏览器观察对应记录

⑤ 关闭YARN

sbin/stop-yarn.sh

4.3 全分布式模式

见下一篇。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/429254
推荐阅读
相关标签
  

闽ICP备14008679号