安裝配置和使用hue遇到的問題彙總

問題1:

error: command 'gcc' failed with exit status 1 


make[2]: *** [/opt/hue/desktop/core/build/pycrypto-2.6.1/egg.stamp] 錯誤 1 
make[2]: Leaving directory `/opt/hue/desktop/core' 
make[1]: *** [.recursive-env-install/core] 錯誤 2 
make[1]: Leaving directory `/opt/hue/desktop' 
make: *** [desktop] 錯誤 2 java

 

gcc-c++
python-devel.x86_64
cyrus-sasl-devel.x86_64

yum install gcc-c++ python-devel.x86_64 cyrus-sasl-devel.x86_64

pip install thrift_sasl
pip install saslnode

 

gcc: error trying to exec ‘cc1plus’: execvp: No such file or directorypython

The package name is 'gcc-c++'

# yum install gcc-c++

( And # 'yum search ... ' is not very helpful 
with finding the package name.) mysql

 

 

 

問題2:

HUE 報錯誤:Filesystem root ‘/’ should be owned by ‘hdfs’

hue 文件系統根目錄「/」應歸屬於「hdfs」c++

解決方案以下:web

修改 文件desktop/libs/hadoop/src/hadoop/fs/webhdfs.py 中的  DEFAULT_HDFS_SUPERUSER = ‘hdfs’  更改成你的hadoop用戶sql

 

 

問題3:

啓動hue web端 報錯誤:OperationalError: attempt to write a readonly database

解決:數據庫

啓動hue server的用戶沒有權限去寫入默認sqlite DB,同時確保安裝目錄下全部文件的owner都是hadoop用戶apache

 chown -R hadoop:hadoop hue-3.7.0-cdh5.4.2

 

 

問題4:

[17/Apr/2016 14:29:46 +0800] webhdfs      ERROR    Failed to determine superuser of WebHdfs at 
http://master1:10070/webhdfs/v1: SecurityException: Failed to obtain user group information: 
org.apache.hadoop.security.authorize.AuthorizationException: User: hue is not allowed to impersonate 
hadoop (error 403)

要設置hue的啓動用戶爲hdfs代理用戶以訪問webhdfs_api,默認爲hue,可在hue.ini中修改。api

<!--core-site.xml-->
<property>
    <name>hadoop.proxyuser.hue.hosts</name>
    <value>*</value></property>
  <property>
    <name>hadoop.proxyuser.hue.groups</name>
    <value>*</value>
  </property>
    
    
 <!--hdfs-site.xml-->
 <property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
   </property>

 

問題5:

在hue3.7中配置了RDBMS query的mysql,可是查詢結果中文卻一直顯示亂碼

hue.ini中的option配置也處處找不到如何配置。後來仍是在官網的QA中找到方法,修改options={ 「init_command」:「SET NAMES ‘utf8’「}

問題解決。

 

 

問題6: hive查詢時報錯

org.apache.hive.service.cli.HiveSQLException: Couldn't find log associated with operation handle: OperationHandle [opType=EXECUTE_STATEMENT, getHandleIdentifier()=b3d05ca6-e3e8-4bef-b869-0ea0732c3ac5]

解決方案:

將hive-site.xml中的hive.server2.logging.operation.enabled=true;

<property>
                        <name>hive.server2.logging.operation.enabled</name>
                        <value>true</value>
 </property>

 

 

問題7:在hue裏面查看HDFS文件瀏覽器報錯:

當前用戶沒有權限查看, 

cause:org.apache.hadoop.ipc.StandbyException: Operation category READ is not supported in state standby

 

解決方案:

Web頁面查看兩個NameNode狀態,是否是以前的namenode是standby狀態了. 我現有的集羣就是這種狀況, 因爲以前的服務是master1起的, 掛了以後自動切換到master2, 可是hue中webhdfs仍是配置的master1,致使在hue中沒有訪問權限.

 

 

問題8:hue使用mysql做爲元數據庫

hue默認使用sqlite做爲元數據庫,不推薦在生產環境中使用。會常常出現database is lock的問題。

解決方法:

其實官網也有解決方法,不過過程彷佛有點問題。並且並不適合3.7以後的版本。我如今使用的是3.11,如下是總結的最快的切換方法。

1, 先在mysql裏面建立數據庫hue,而後修改hue.ini
[[database]] 

  engine=mysql
  host=slave1
  port=3306
  user=hadoop
  password=hadoop
  name=hue

完成以上的這個配置,啓動Hue,經過瀏覽器訪問,會發生錯誤,緣由是mysql數據庫沒有被初始化
DatabaseError: (1146, "Table 'hue.desktop_settings' doesn't exist")

2, 初始化數據庫

cd hue-release-3.11.0/build/env/
 bin/hue syncdb
 bin/hue migrate

執行完之後,能夠在mysql中看到,hue相應的表已經生成。

啓動hue, 可以正常訪問了

 

 

問題9:開啓hbase查詢模塊

 

須要在hbase集羣已經啓動的基礎上,再啓動thrift,默認端口爲9090

hbase-daemon.sh start thrift

 

修改配置hue.ini的配置文件

[hbase]
hbase_clusters=(Cluster|master1:9090)
hbase_conf_dir=/usr/hbase-1.1.6/conf

Cluster 爲在Hue展示中的名字,可配置多個hbase集羣

master1:9090 hbase啓動的thrift主機及端口

 

問題10:hue11.0的自定義RDBMS模塊報錯No suitable driver found for jdbc

 

Add the path to the driver JAR file to your Java CLASSPATH. Here, we set the CLASSPATH environment variable in our `.bash_profile` script.

1

2

3

# MySQL

export MYSQL_HOME=/Users/hue/Dev/mysql

export CLASSPATH=$MYSQL_HOME/mysql-connector-java-5.1.38-bin.jar:$CLASSPATH

 

問題11:hive查詢報錯TTransportException

 

在hue裏面查詢hive數據,以前一直使用正常,忽然就查詢不了,一直轉不出結果最後頁面可能還會報504 Gateway Time-out。查看日誌定位error:

Could not connect to localhost:9090 (code THRIFTTRANSPORT): TTransportException('Could not connect to localhost:9090',)

看來多是thrift服務器通訊的緣由,重啓了hive的hiveserver2進程,問題解決。

nohup bin/hiveserver2 &
相關文章
相關標籤/搜索