Hive 提示:com.ctc.wstx.exc.WstxParsingException: Illegal character entity: expansion character

Posted 在奋斗的大道

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hive 提示:com.ctc.wstx.exc.WstxParsingException: Illegal character entity: expansion character相关的知识,希望对你有一定的参考价值。

今天使用 Hive 进行mysql 8 初始化提示如下错误信息:

[root@Hadoop3-master bin]# schematool -dbType mysql -initSchema
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/hive/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-reload4j-1.7.35.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Exception in thread "main" java.lang.RuntimeException: com.ctc.wstx.exc.WstxParsingException: Illegal character entity: expansion character (code 0x8
 at [row,col,system-id]: [3215,96,"file:/usr/local/hive/conf/hive-site.xml"]
        at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:3040)
        at org.apache.hadoop.conf.Configuration.loadResources(Configuration.java:2989)
        at org.apache.hadoop.conf.Configuration.loadProps(Configuration.java:2862)
        at org.apache.hadoop.conf.Configuration.addResourceObject(Configuration.java:1012)
        at org.apache.hadoop.conf.Configuration.addResource(Configuration.java:917)
        at org.apache.hadoop.hive.conf.HiveConf.initialize(HiveConf.java:5151)
        at org.apache.hadoop.hive.conf.HiveConf.<init>(HiveConf.java:5104)
        at org.apache.hive.beeline.HiveSchemaTool.<init>(HiveSchemaTool.java:96)
        at org.apache.hive.beeline.HiveSchemaTool.main(HiveSchemaTool.java:1473)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.hadoop.util.RunJar.run(RunJar.java:323)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:236)
Caused by: com.ctc.wstx.exc.WstxParsingException: Illegal character entity: expansion character (code 0x8
 at [row,col,system-id]: [3215,96,"file:/usr/local/hive/conf/hive-site.xml"]
        at com.ctc.wstx.sr.StreamScanner.constructWfcException(StreamScanner.java:634)
        at com.ctc.wstx.sr.StreamScanner.throwParseError(StreamScanner.java:504)
        at com.ctc.wstx.sr.StreamScanner.reportIllegalChar(StreamScanner.java:2469)
        at com.ctc.wstx.sr.StreamScanner.validateChar(StreamScanner.java:2416)
        at com.ctc.wstx.sr.StreamScanner.resolveCharEnt(StreamScanner.java:2382)
        at com.ctc.wstx.sr.StreamScanner.fullyResolveEntity(StreamScanner.java:1528)
        at com.ctc.wstx.sr.BasicStreamReader.nextFromTree(BasicStreamReader.java:2818)
        at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1121)
        at org.apache.hadoop.conf.Configuration$Parser.parseNext(Configuration.java:3336)
        at org.apache.hadoop.conf.Configuration$Parser.parse(Configuration.java:3130)
        at org.apache.hadoop.conf.Configuration.loadResource(Configuration.java:3023)
        ... 14 more

造成问题原因:在/usr/local/hive/conf/hive-site.xml 的配置文件,第3215行存在特殊字符。

解决办法:

vi /usr/local/hive/conf/hive-site.xml

进入编辑页面,设置显示行号

按esc, 输入:set nu 点击回车,显示编辑页面行号。

找到3215 行,删除里面的&#8特殊字符即可。

以上是关于Hive 提示:com.ctc.wstx.exc.WstxParsingException: Illegal character entity: expansion character的主要内容,如果未能解决你的问题,请参考以下文章

SOAP Exception:com.ctc.wstx.exc.WstxParsingException: Unexpected close tag ; expected .

jqGrid soap error - 由以下引起:com.ctc.wstx.exc.WstxUnexpectedCharException:prolog中的意外字符'_'(代码95)

Apache Atlas 执行导入hive元数据脚本import-hive.sh报错

调用webservice报错

非法字符 - CTRL-CHAR

schematool -dbType mysql -initSchema初始化报错Illegal character entity: expansion character (code 0x8 at