Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 配置单元抛出:WstxParsingException:非法字符实体:扩展字符(代码0x8)_Hadoop_Hive - Fatal编程技术网

Hadoop 配置单元抛出:WstxParsingException:非法字符实体:扩展字符(代码0x8)

Hadoop 配置单元抛出:WstxParsingException:非法字符实体:扩展字符(代码0x8),hadoop,hive,Hadoop,Hive,我按照教程安装了hadoop和hive。教程已经过时了,所以我使用了当前版本。当我启动hive时,出现以下错误: 蜂巢 SLF4J:实际绑定的类型为 [org.apache.logging.slf4j.Log4jLoggerFactory]线程中出现异常 “main”java.lang.RuntimeException: com.ctc.wstx.exc.WstxParsingException:非法字符实体: 扩展字符(代码0x8位于[行、列、系统id]: [3210,96,“文件:…/sof

我按照教程安装了hadoop和hive。教程已经过时了,所以我使用了当前版本。当我启动hive时,出现以下错误:

蜂巢 SLF4J:实际绑定的类型为 [org.apache.logging.slf4j.Log4jLoggerFactory]线程中出现异常 “main”java.lang.RuntimeException: com.ctc.wstx.exc.WstxParsingException:非法字符实体: 扩展字符(代码0x8位于[行、列、系统id]: [3210,96,“文件:…/software/apache-hive-3.1.0-bin/conf/hive-site.xml”] 在 org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:3003) 在 org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:2931) 在 org.apache.hadoop.conf.Configuration.getProps(Configuration.java:2806) 位于org.apache.hadoop.conf.Configuration.get(Configuration.java:1460) 位于org.apache.hadoop.hive.conf.HiveConf.getVar(HiveConf.java:4990) 位于org.apache.hadoop.hive.conf.HiveConf.getVar(HiveConf.java:5063) 在 org.apache.hadoop.hive.conf.HiveConf.initialize(HiveConf.java:5150) 位于org.apache.hadoop.hive.conf.HiveConf.(HiveConf.java:5093) 在 org.apache.hadoop.hive.common.LogUtils.initHiveLog4jCommon(LogUtils.java:97) 在 org.apache.hadoop.hive.common.LogUtils.initHiveLog4j(LogUtils.java:81) 位于org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:699) org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:683)位于 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)位于 invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 位于java.lang.reflect.Method.invoke(Method.java:498) org.apache.hadoop.util.RunJar.run(RunJar.java:318)位于 org.apache.hadoop.util.RunJar.main(RunJar.java:232)

我查看了指定的文件,发现以下条目:

<description>
  Ensures commands with OVERWRITE (such as INSERT OVERWRITE) acquire Exclusive locks for&#8;transactional tables.  This ensures that inserts (w/o overwrite) running concurrently
  are not hidden by the INSERT OVERWRITE.
</description>

确保带有覆盖(如INSERT OVERRIDE)的命令为;事务表获取排他锁。这确保INSERT(w/o OVERRIDE)同时运行
不会被“插入覆盖”隐藏。
我运行的是Ubuntu 16.04、hive 3.1.0、derby 10.8.1.2、hadoop 3.1.1、Java:openjdk版本“1.8.0µ”
。我在文件中添加了一些行,以便按照教程中的说明进行配置,但我根本没有接触这些行。我必须下载其他版本的hive吗?

您在
hive site.xml中有类似的内容

确保带有覆盖(如INSERT OVERRIDE)的命令为;事务表获取排他锁。这确保INSERT(w/o OVERRIDE)同时运行 不会被“插入覆盖”隐藏。

它抛出了该错误,因为在事务性的单词之间有一个特殊字符()。请删除该字符或复制并粘贴(替换)介于
之间的字符


确保具有覆盖(例如插入覆盖)功能的命令为
事务表。这确保插入(不覆盖)同时运行
不会被“插入覆盖”隐藏。

删除3210,96行和列的特殊特许,然后重新运行配置单元。
[3210,96,“file:/usr/local/hive/conf/hive site.xml”]

您在~/.bashrc中有JAVA_HOME吗?另外,您可以尝试从当前目录(SPARK_HOME)中删除文件metastore_db/dbex.lck吗?是的,配置了JAVA_HOME。我的当前目录中没有metastore_db目录。SPARK_HOME?您使用的JAVA版本是什么?openjdk版本“1.8.0_181”您是否可以使用JAVA而不是开放JDK,问题在于这一行使用Sublime文本编辑器查看时,该字符应如下所示:;事务性
。请确保将其更改为事务性。
<description>
     Ensures commands with OVERWRITE (such as INSERT OVERWRITE) acquire Exclusive locks for 
     transactional tables. This ensures that inserts (w/o overwrite) running concurrently
     are not hidden by the INSERT OVERWRITE.
</description>