HDinsight 新配置单元连接不起作用

本文关键字:单元 连接 不起作用 配置 新配置 HDinsight | 更新日期: 2023-09-27 18:37:09

我在本地使用 hdinsight hadoop 并在 hdfs 上成功运行 mapReduce 作业后,我正在尝试使用 Hive,不幸的是,我在创建表时运行 Hive 查询时遇到错误。

我从另一个堆栈解决方案中获得了以下代码,因为我只在本地运行它而不使用 azure:

var db = new HiveConnection(
                    webHCatUri: new Uri("http://localhost:50111"),
                    userName: (string)"hadoop", password: (string)null);
// also tried command with no ; inside quotes
string command = "CREATE TABLE log4jLogs(t1 string, t2 string, t3 string," +
                                  "t4 string, t5 string, t6 string, t7 string)" +
                  "ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ';";
db.ExecuteHiveQuery(command).Wait();

这总是在处理一段时间后引发异常。 例外情况是:

System.AggregateException:发生一个或多个错误。 ---> System.NullReferenc eException:对象引用未设置为 对象的实例。 在 System.Threading.Tasks.TaskAwaiter 1.GetResult() at Microsoft.Hadoop.Hive.HiveConnection.<ExecuteHiveQuery>d__2.MoveNext() --- End of inner exception stack trace --- at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationTo ken cancellationToken) at System.Threading.Tasks.Task.Wait() at ConsoleApplication1.Program.CreateActorsTable() in c:'Users'Administrator' Documents'Visual Studio 2012'Projects'ConsoleApplication1'ConsoleApplication1'Pr ogram.cs:line 90 ---> (Inner Exception #0) System.NullReferenceException: Object reference not se t to an instance of an object. at System.Threading.Tasks.TaskAwaiter 1.GetResult() at Microsoft.Hadoop.Hive.HiveConnection.d__2.MoveNext()<---

我已经检查了来自 hadoop 的日志,其中我得到了以下内容:

java.io.IOException:无效状态目录 URI at org.apache.hcatalog.templeton.tool.TempletonControllerJob$LaunchMapper.run(TempletonControllerJob.java:155) at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:762) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:364) at org.apache.hadoop.mapred.Child$4.run(Child.java:266) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:396) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1136) at org.apache.hadoop.mapred.Child.main(Child.java:260) 由以下原因引起: java.net.URISyntaxException:索引处权限中的非法字符 6: asv://{0}@{1}/6f8d3bc9-89a2-4e1d-9749-2805d31f05f0 at java.net.URI$Parser.fail(URI.java:2810) at java.net.URI$Parser.parseAuthority(URI.java:3148) at java.net.URI$Parser.parseHierarchical(URI.java:3059) at java.net.URI$Parser.parse(URI.java:3015) at java.net.URI.(URI.java:577) 在 org.apache.hcatalog.templeton.tool.TempletonUtils.addUserHomeDirectoryIfApplicable(TempletonUtils.java:227) 在 org.apache.hcatalog.templeton.tool.TempletonControllerJob$LaunchMapper.run(TempletonControllerJob.java:152) ...7 更多

如果有人能为此指出正确的方向,我会很高兴,因为我无法弄清楚为什么这会失败。

HDinsight 新配置单元连接不起作用

如果要

首先使用hive连接,则必须启动hive服务器。Hive 服务器可执行文件驻留在 hdp/hive/bin 中。使用命令提示符启动配置服务器2.exe 。可以使用 Hiveserver2 修改 Hive 服务器配置.xml该配置也驻留在同一个文件夹中。