C#、JAVA操作Hadoop(HDFS、Map/Reduce)真实过程概述。组件、源码下载。无法解决:Response status code does not indicate success: 500。

简介: 一、Hadoop环境配置概述       三台虚拟机,操作系统为:Ubuntu 16.04。       Hadoop版本:2.7.2       NameNode:192.168.72.132       DataNode:192.168.72.135,192.168.72.136       注:具配置过程,不具备介绍了,网上很多。

一、Hadoop环境配置概述

      三台虚拟机,操作系统为:Ubuntu 16.04。

      Hadoop版本:2.7.2

      NameNode:192.168.72.132

      DataNode:192.168.72.135,192.168.72.136

      注:具配置过程,不具备介绍了,网上很多。

二、eclipse(JAVA)环境配置概述

     操作系统:Windows 10

     eclipse版本:Mars.2 Release (4.5.2)

     1.hadoop-eclipse-plugin-2.7.2.jar组件放plugins目录 下,具体如何配置去网上找。

     2.配置HADOOP_HOME环境变量:E:\hadoop-2.7.2,配置PATH环境变量,增加:%HADOOP_HOME%\bin

     3.下载:winutils.exe和Hadoop.dll两个文件,放到E:\hadoop-2.7.2\bin下;Hadoop.dll放到Windows\System32下载。

     4.引用hadoop组件包,为了正确性,share\hadoop\common、share\hadoop\hdfs、share\hadoop\mapreduce、share\hadoop\yarn,以及每个目录下的lib中的jar包全部引用。

     5.新建项目wordcount,网上一大堆代码,直接复制就行了。

     6.支行效果:

三、VS2015(C#)环境配置概述

      1.增加组件引用,分别Install-Package:Microsoft.Azure.Management.HDInsight、Microsoft.Azure.Management.HDInsight.Job 、Microsoft.Hadoop.WebClient、Microsoft.Hadoop.Hive、Microsoft.Hadoop.MapReduce等5个组件,可能会报WebClient和MapReduce引用的版本号不对,删除WebClient组件引用,重新在MapReduce下引用WebClient组件。

      2.配置C:\Windows\System32\drivers\etc\hosts文件,192.168.72.132 wxzz-pc、192.168.72.135 wxzz-pc1、192.168.72.136 wxzz-pc2,否则会报无法连接DataNode。

      3.至此myCluster.StorageSystem.LsFiles和myCluster.StorageSystem.Exists是可以正常执行,myCluster.StorageSystem.CopyFromLocal和myCluster.StorageSystem.CopyToLocal一直出现异常。

      4.后来在NameNode上安装了Hive,myCluster.StorageSystem.CopyFromLocal和myCluster.StorageSystem.CopyToLocal两个操作才可以正常执行。至此,HDFS的操作没有问题了。

      5.myCluster.MapReduceJob.Execute执行mapreduce的时候一直会报无法连接“ip:50111”的异常信息

      6.后来配置hive中的webhcat,并且起动服务,myCluster.MapReduceJob.Execute执行又报“Response status code does not indicate success: 500 (Server Error).”异常信息,堆栈信息如下:

StackTrace	
"   在 System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)\r\n   
在 System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)\r\n   在 System.Threading.Tasks.Task.Wait()\r\n   
在 Microsoft.Hadoop.WebClient.WebHCatClient.WebHcatMapReduceStreamingExecutor.Execute(Boolean throwOnError)\r\n   
在 Microsoft.Hadoop.MapReduce.Execution.Hadoop.StreamingJobExecutorBase.ExecuteCore(Type mapper, Type reducer, Type combiner, HadoopJobConfiguration config)\r\n   
在 Microsoft.Hadoop.MapReduce.Execution.Hadoop.StreamingJobExecutorBase.Execute(Type mapperType, Type reducerType, Type combinerType, HadoopJobConfiguration config)\r\n   
在 Microsoft.Hadoop.MapReduce.Execution.Hadoop.StreamingJobExecutorBase.Execute[TMapper,TReducer](HadoopJobConfiguration config)\r\n   
在 Hadoop_Demo.Program.Main(String[] args) 位置 C:\\Users\\WXZZ\\Desktop\\Hadoop_Demo\\Hadoop_Demo\\Program.cs:行号 61"	string

       找遍网络,这个问题也一直没有解决掉,其中有个回复,请参考:

       如果是Hdfs协议 的问题,那么StorageSystem操作不会执行成功。而单单是mapreduce执行失败,我怀疑是否是webhcat配置有问题,或者请求数据协议本身的问题。

四、总结

    只是一个小实验,还没有真正的应用的生产环境。一直用C#开发,出现这个问题,无法解决,也是挺无助的。先进行小结,以后慢慢研究。

五、组件和源代码下载

    http://pan.baidu.com/s/1i48Ln4D


 

1.[连载]《C#通讯(串口和网络)框架的设计与实现》

2.[开源]C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍

2.应用SuperIO(SIO)和开源跨平台物联网框架ServerSuperIO(SSIO)构建系统的整体方案

3.C#工业物联网和集成系统解决方案的技术路线(数据源、数据采集、数据上传与接收、ActiveMQ、Mongodb、WebApi、手机App)

5.ServerSuperIO开源地址:https://github.com/wxzz/ServerSuperIO

物联网&集成技术(.NET) QQ群54256083 

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
14天前
|
分布式计算 Java Hadoop
java使用hbase、hadoop报错举例
java使用hbase、hadoop报错举例
40 3
|
2月前
|
Rust Java 文件存储
Java系统中的错误码设计问题之通过properties文件管理Error Code如何解决
Java系统中的错误码设计问题之通过properties文件管理Error Code如何解决
33 1
|
13天前
|
索引
ES5常见的数组方法:forEach ,map ,filter ,some ,every ,reduce (除了forEach,其他都有回调,都有return)
ES5常见的数组方法:forEach ,map ,filter ,some ,every ,reduce (除了forEach,其他都有回调,都有return)
|
10天前
|
Java
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
21 2
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
|
2天前
|
存储 前端开发 Java
Java后端如何进行文件上传和下载 —— 本地版(文末配绝对能用的源码,超详细,超好用,一看就懂,博主在线解答) 文件如何预览和下载?(超简单教程)
本文详细介绍了在Java后端进行文件上传和下载的实现方法,包括文件上传保存到本地的完整流程、文件下载的代码实现,以及如何处理文件预览、下载大小限制和运行失败的问题,并提供了完整的代码示例。
38 1
|
14天前
|
JavaScript 前端开发
js map和reduce
js map和reduce
|
2月前
|
Java
Java通过HttpClient从外部url下载文件到本地
该Java程序旨在通过URL将外部网络文件(如图片)下载至本地,并解决防盗链问题。首先,它通过`HttpGet`请求获取远程文件,并通过设置`Referer`头防止防盗链。然后,根据响应内容类型确定文件后缀并保存至指定路径。测试表明,程序能够成功下载文件。
216 8
Java通过HttpClient从外部url下载文件到本地
|
17天前
|
存储 缓存 监控
Java——图片文件位于 bin 目录下,下载新图片会导致应用程序重启
【9月更文挑战第22天】在Java应用中,若图片位于bin目录下且下载新图片导致应用重启,可能是因为部署方式不当或资源监控机制过于敏感。解决方法包括:更改图片存储位置至独立目录;配置应用服务器减少资源监控敏感度;使用独立资源服务器托管静态资源;优化代码减少资源重复加载。具体方案需根据应用实际情况和技术栈调整。
|
17天前
|
JSON 前端开发 JavaScript
java中post请求调用下载文件接口浏览器未弹窗而是返回一堆json,为啥
客户端调接口需要返回另存为弹窗,下载文件,但是遇到的问题是接口调用成功且不报错,浏览器F12查看居然返回一堆json,而没有另存为弹窗; > 正确的效果应该是:接口调用成功且浏览器F12不返回任何json,而是弹窗另存为窗口,直接保存文件即可。
47 2
|
2月前
|
存储 API C#
【Azure Developer】解决Azure Key Vault管理Storage的示例代码在中国区Azure遇见的各种认证/授权问题 - C# Example Code
【Azure Developer】解决Azure Key Vault管理Storage的示例代码在中国区Azure遇见的各种认证/授权问题 - C# Example Code

热门文章

最新文章