C#中的Hadoop-响应状态代码不表示成功:500(服务器错误)

C#中的Hadoop-响应状态代码不表示成功:500(服务器错误),c#,hadoop,mapreduce,hdfs,hortonworks-data-platform,C#,Hadoop,Mapreduce,Hdfs,Hortonworks Data Platform,我在Hadoop集群上运行MapReduce作业时遇到了一个奇怪的异常。有趣的是,我可以访问HDFS,但无法运行作业 UriBuilder uriBuilder = new UriBuilder("192.168.16.132"); uriBuilder.Port = 8021;//8082; var hadoop = Hadoop.Connect(uriBuilder.Uri, "username", "password"); hadoop.StorageSystem.MakeDirector

我在Hadoop集群上运行MapReduce作业时遇到了一个奇怪的异常。有趣的是,我可以访问HDFS,但无法运行作业

UriBuilder uriBuilder = new UriBuilder("192.168.16.132");
uriBuilder.Port = 8021;//8082;
var hadoop = Hadoop.Connect(uriBuilder.Uri, "username", "password");
hadoop.StorageSystem.MakeDirectory("user/username/test"); //This works
//establish job configuration
HadoopJobConfiguration myConfig = new HadoopJobConfiguration();
myConfig.InputPath = "/user/username/input";
myConfig.OutputFolder = "/user/username/output";
try
{
    //connect to cluster
    MapReduceResult jobResult = hadoop.MapReduceJob.Execute<MySimpleMapper, MySimpleReducer>(myConfig); //This does not work and produces an error: The remote name could not be resolved
    //write job result to console
    int exitCode = jobResult.Info.ExitCode;
    string exitStatus = "Failure";
    if (exitCode == 0) exitStatus = "Success";
        exitStatus = exitCode + " (" + exitStatus + ")";
    Console.WriteLine();
    Console.Write("Exit Code = " + exitStatus);
    Console.Read();
}
catch (Exception exc)
{
    //Error sending request.
}
UriBuilder UriBuilder=新的UriBuilder(“192.168.16.132”);
uriBuilder.Port=8021//8082;
var hadoop=hadoop.Connect(uriBuilder.Uri,“用户名”,“密码”);
hadoop.StorageSystem.MakeDirectory(“user/username/test”)//这很有效
//建立作业配置
HadoopJobConfiguration myConfig=新的HadoopJobConfiguration();
myConfig.InputPath=“/user/username/input”;
myConfig.OutputFolder=“/user/username/output”;
尝试
{
//连接到群集
MapReduceResult jobResult=hadoop.MapReduceJob.Execute(myConfig);//这不起作用并产生错误:无法解析远程名称
//将作业结果写入控制台
int exitCode=jobResult.Info.exitCode;
字符串exitStatus=“失败”;
如果(exitCode==0)exitStatus=“成功”;
exitStatus=exitCode+”(“+exitStatus+”);
Console.WriteLine();
控制台。写入(“退出代码=“+exitStatus”);
Console.Read();
}
捕获(异常exc)
{
//发送请求时出错。
}
我正在使用Hortonworks沙盒进行测试,如果它有什么不同的话。 确切的错误是:“无法解析远程名称:'sandbox'”

有人能解释一下为什么会发生这种情况,以及我能做些什么来解决它吗


编辑:我已通过将Hadoop群集的IP添加到主机文件中修复了该问题,但是现在我遇到以下异常:“响应状态代码不表示成功:500(服务器错误)。”

结果表明服务器不在Windows Azure上,而是Apache实现。协议不兼容。HDFS协议对于这两种实现都是相同的,因此这可以工作。但是,Map/Reduce框架不受支持。

您是否有可能找到它?我找到了。我把它贴出来作为答复。