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 

相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
25天前
|
Java 开发工具
【Azure Storage Account】Java Code访问Storage Account File Share的上传和下载代码示例
本文介绍如何使用Java通过azure-storage-file-share SDK实现Azure文件共享的上传下载。包含依赖引入、客户端创建及完整示例代码,助你快速集成Azure File Share功能。
305 4
|
1月前
|
Java 数据安全/隐私保护 索引
(Java)Java里JFrame窗体的基本操作(组件篇-3)
回顾 说过了下拉框和下拉列表,本篇内容将了解滚动面板和各类输入框 什么是组件? 如果不熟悉组件,可以将组件看作是某个Form表单中的表单元素,组件可以完善JFrame窗口的布局,以及一些功能; 本篇内容中所有的组件所用到的类全都来自于javax.swing这个包中,记得引入; 另:在使用组件前,请先将窗体中的内容类给实例化出来进行操作,代码如下: Container c = getContentPane(); JScollPane JScollPane类,说的就是滚动面板。它不同于其他组件,它是一个容器,
63 1
|
1月前
|
Java 索引 容器
(Java)Java里JFrame窗体的基本操作(组件篇-2)
回顾 这算是JFrame窗体基本操作的组件第二篇了,上一篇说过了单选框,复选框,按钮。 在这一篇中,我会说明下拉框和列表框 什么是组件? 自行百度:java中JFrame窗体里的组件是什么? 名字都给你想好了 ( :I ) JComBox下拉框 JComBox类,就是下拉框,实例化出来后,要填写泛型<>,添加是什么数据类型的内容,泛型中就写上该数据类型; JComboBox<?> combox = new JComboBox<>(); 以下实例化下拉框的时候我泛型写的全
72 0
|
1月前
|
Java 容器
(Java)Java里JFrame窗体的基础操作(组件-1)
如果不熟悉组件,可以将组件看作是某个Form表单中的表单元素,当然这只是在不熟悉组件的前提下。如果深入了解了组件,那么它有着非常多的组件,这些组件可以完善JFrame窗口的布局,以及一些功能; 本篇内容中所有的组件所用到的类全都来自于javax.swing这个包中,记得引入
49 1
|
3月前
|
消息中间件 Java Kafka
Java 事件驱动架构设计实战与 Kafka 生态系统组件实操全流程指南
本指南详解Java事件驱动架构与Kafka生态实操,涵盖环境搭建、事件模型定义、生产者与消费者实现、事件测试及高级特性,助你快速构建高可扩展分布式系统。
223 7
|
5月前
|
Java 数据库连接 数据库
Java 组件详细使用方法与封装实战指南
本指南详解Java核心组件使用与封装技巧,涵盖跨平台开发、面向对象编程、多线程、数据库操作等关键内容,并提供工具类、连接池、异常及响应结果的封装方法。结合Spring框架、MyBatis、Spring Boot等主流技术,助你掌握高质量Java组件设计与开发实践。
190 2
|
7月前
|
前端开发 Java 关系型数据库
基于Java+Springboot+Vue开发的鲜花商城管理系统源码+运行
基于Java+Springboot+Vue开发的鲜花商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的鲜花商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。技术学习共同进步
490 7
|
7月前
|
消息中间件 算法 安全
JUC并发—1.Java集合包底层源码剖析
本文主要对JDK中的集合包源码进行了剖析。
|
7月前
|
人工智能 安全 Java
智慧工地源码,Java语言开发,微服务架构,支持分布式和集群部署,多端覆盖
智慧工地是“互联网+建筑工地”的创新模式,基于物联网、移动互联网、BIM、大数据、人工智能等技术,实现对施工现场人员、设备、材料、安全等环节的智能化管理。其解决方案涵盖数据大屏、移动APP和PC管理端,采用高性能Java微服务架构,支持分布式与集群部署,结合Redis、消息队列等技术确保系统稳定高效。通过大数据驱动决策、物联网实时监测预警及AI智能视频监控,消除数据孤岛,提升项目可控性与安全性。智慧工地提供专家级远程管理服务,助力施工质量和安全管理升级,同时依托可扩展平台、多端应用和丰富设备接口,满足多样化需求,推动建筑行业数字化转型。
264 5
|
2月前
|
存储 小程序 Java
热门小程序源码合集:微信抖音小程序源码支持PHP/Java/uni-app完整项目实践指南
小程序已成为企业获客与开发者创业的重要载体。本文详解PHP、Java、uni-app三大技术栈在电商、工具、服务类小程序中的源码应用,提供从开发到部署的全流程指南,并分享选型避坑与商业化落地策略,助力开发者高效构建稳定可扩展项目。