Hiveserver2不启动:" ascii编解码器无法编码字符"

时间:2015-07-22 10:31:00

标签: java python hadoop hive

我使用NameNode,Secondary NameNode和3个DataNode创建了一个集群。我通过Ambari + HUE安装了HDP,现在我正在为HDFS,Hive和Hbase配置XA安全策略。它适用于除Hive之外的每个组件。问题是,当我将hive.security.authorization更改为true(在Ambari - > hive configs中)时,Hiveserver2在启动时因问题而失败:

File "/usr/lib/python2.6/site-packages/resource_management/core/providers/system.py", line 115, in action_create fp.write(content) UnicodeEncodeError: 'ascii' codec can't encode character u'\u2013' in position 990: ordinal not in range(128)

我试图编辑那个python文件但是当我做任何更改时它会变得更糟。它可能尝试使用错误的编解码器对Unicode字符进行编码并将其保存到文件中,但我是程序员,我不知道如何正确编辑它。我无法弄清楚那个文件是什么,它在哪里以及它包含什么。

当我将安全授权设置为false时,服务器启动但在3分钟内崩溃并出现错误: 12:02:43,523 ERROR [pool-1-thread-648] JMXPropertyProvider:540 - Caught exception getting JMX metrics : Server returned HTTP response code: 500 for URL: http://localhost.localdomain:8745/api/cluster/summary 12:02:50,604 INFO [qtp677995254-4417] HeartBeatHandler:428 - State of service component HIVE_SERVER of service HIVE of cluster testING has changed from STARTED to INSTALLED at host localhost.localdomain 12:02:53,624 ERROR [pool-1-thread-668] JMXPropertyProvider:540 - Caught exception getting JMX metrics : Read timed out

有什么建议吗?提前谢谢。

@EDIT 这是python中导致问题的代码行: fp.write(content) 我试图在最后添加.decode(" utf-8")但是: 发生'NoneType' object has no attribute 'decode'

1 个答案:

答案 0 :(得分:-1)

对于第一个问题,请尝试添加

# -*- coding: UTF-8 -*-

在文件的第一行