Hadoop伪分布式配置和搭建,hadoop单机安装,wordcount实例测试,hadoop安装java目录怎么找,问题及问题解决方法

Hadoop伪分布式配置和搭建,hadoop单机安装,wordcount实例测试,hadoop安装java目录怎么找,问题及问题解决方法

环境说明

系统:ubuntu18.04
主机名:test1
用户名:sylvan

hadoop单机安装

换源操作这里不再给出,请各位自行解决。

在Linux环境下完成单机环境的搭建,并运行Hadoop自带的WordCount实例检测是否运行正常。

Java是Hadoop的主要先决条件。首先检查java是否安装:java -version

在这里插入图片描述

java未安装,使用sudo apt install openjdk-8-jdk 安装OpenJDK8.
再次检查java是否安装成功:

在这里插入图片描述

查看java环境变量是否配置:
在这里插入图片描述

无输出,说明环境变量未配置,接下来查找java安装路径,配置环境变量。
先查找java安装路径,发现是:/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
在这里插入图片描述

在/etc/profile里配置java环境变量,配置完成后用echo检查JAVA_HOME成功:
在这里插入图片描述
在这里插入图片描述

接着下载hadoop-2.10.1,并解压(在 /usr/local/ 里)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置hadoop环境变量,并尝试运行hadoop:

在这里插入图片描述
在这里插入图片描述

这意味着Hadoop在独立模式下工作正常。默认情况下,Hadoop被配置为在非分布式模式的单个机器上运行。

运行WordCount测试

利用hadoop提供的的.jar 文件实现wordcount. 首先,创建输入目录input,接着创建测试文本,在input目录复制几份。

测试文本:
在这里插入图片描述

测试文本的复制:
在这里插入图片描述

查看hadoop mapreduce例子有哪些功能:
hadoop-mapreduce-examples-2.10.1.jar
在这里插入图片描述

启动Hadoop进程计数在所有在输入目录中可用的文件的单词总数,将结果保存到output 文件夹中。
在这里插入图片描述

查看 output 文件夹内容:
在这里插入图片描述

Hadoop伪分布式搭建

在Linux环境下完成伪分布式环境的搭建,并运行Hadoop自带的WordCount实例检测是否运行正常。

Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件。Hadoop 的配置文件位于 /usr/local/hadoop-2.10.1/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。

首先,配置hadoop的环境变量:(在etc/profile中)
在这里插入图片描述

配置hadoop-env.sh文件的java环境变量。
在这里插入图片描述

注意:这里要将 ${JAVA_HOME} 替换为之前在 /etc/profile里设置的JAVA_HOME,也就是 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
在这里插入图片描述

mapred-env.sh、yarn-env.sh无需再配置。

接着配置Hadoop的文件列表。

core-site.xml文件中包含如读/写缓冲器用于Hadoop的实例的端口号的信息,分配给文件系统存储,用于存储所述数据存储器的限制和大小。

在这里插入图片描述

在这里插入图片描述

hdfs-site.xml 文件中包含如复制数据的值,NameNode路径的信息,本地文件系统的数据节点的路径。这意味着是存储Hadoop基础工具的地方。

在这里插入图片描述

在这里插入图片描述

slave文件添加节点主机,发现已经有localhost,因为是伪分布式,所以无需修改成本机的test1.

在这里插入图片描述

在这里插入图片描述

格式化namenode
在这里插入图片描述

启动hdfs守护进程
在这里插入图片描述

查看web端,说明搭建好了Hadoop的hdfs分布式存储,接下来要继续配置Hadoop的mapreduce.

在这里插入图片描述

mapred-site.xml 文件用于指定正在使用MapReduce框架,从mapred-site.xml.template 模版复制即可,指定mapreduce程序运行在yarn平台上。

在这里插入图片描述

在这里插入图片描述

yarn-site.xml 用于配置yarn.

在这里插入图片描述


问题:
启动yarn:(yarn)启动失败,JAVA_HOME is not set and could not be found.
在这里插入图片描述

问题解决:配置hadoop-env.sh文件里的JAVA_HOME环境变量


启动yarn:
在这里插入图片描述

在这里插入图片描述

访问集群中的所有应用程序的默认端口号为8088,使用以下URL访问该服务。
查看web端:运行正常

在这里插入图片描述

查看节点情况:
在这里插入图片描述

运行wordcount实例检测:

在HDFS的根目录下创建一个目录input,将之前的test.txt上传到HDFS。
继续创建一个output输出目录,执行hadoop jar命令,结果输出到output/ part-r-00000文件下。

在这里插入图片描述
在这里插入图片描述

查看结果:
(报错:/output already exists)

在这里插入图片描述

删除,重新执行:

在这里插入图片描述

查看结果:
在这里插入图片描述

通过网页查看任务完成情况:
在这里插入图片描述


可以发现当hadoop集群运行时,会报警告:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
出现原因:Hadoop 没有成功加载本地库,所以使用了内置的 Java 类库。
解决方法:1. 直接在log中忽略warning;2. 替换hadoop本地库.


关闭hadoop

(分别关闭了namenodes,yarn,resourcemanager,nodemanager)
在这里插入图片描述


参考:

  1. Hadoop伪分布搭建,以及简单使用命令
  2. 安装Hadoop 本地模式测试Hadoop,wordcount
  3. Hadoop环境安装设置
  4. 02-Hadoop集群启动测试
  • 9
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值