1. 程式人生 > >詳細講解安裝HUE

詳細講解安裝HUE

環境:centos6.5   hive 1.2.1   hadoop 1.7.1   hue 3.9.0

1.首先需要安裝各種依賴包

      * ant
      * asciidoc
      * cyrus-sasl-devel
      * cyrus-sasl-gssapi
      * gcc
      * gcc-c++
      * krb5-devel
      * libtidy (for unit tests only)
      * libxml2-devel
      * libxslt-devel
      * make
      * mvn (from ``maven`` package or maven3 tarball)
      * mysql(可以不用安裝)
      * mysql-devel 
      * openldap-devel
      * python-devel
      * sqlite-devel
      * openssl-devel (for version 7+)
      * gmp-devel

yum install -y ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi gcc gcc-c++ krb5-devel libtidy libxml2-devel libxslt-devel make mvn openldap-devel python-devel sqlite-devel  openssl-devel gmp-devel

直接用yum安裝的,中間可能會報一些依賴的版本衝突問題,可以解除安裝已經安裝的版本,然後再裝。

2.下載hue程式碼
git clone https://github.com/cloudera/hue.git
cd hue
make apps

3.建立使用者
useradd hue

如果hue和hive在同一臺機器上,則直接在這臺機器上建立hue使用者即可,注意:這個使用者一定要加到起hiveserver2的使用者組下,如hadoop使用者   usermod -G hadoop hue
如果不在一臺機器上,想用hive最好在hue和hive這兩臺機器上都建立該使用者。

4.建立日誌資料夾
mkdir .../hue/logs
chmod 777 .../hue/logs


5.把desktop.db檔案所在的資料夾和檔案賦許可權,當然這個要根據執行hue的使用者而定,最好都改成777

當然如果你不想用splite,而使用mysql,則在後看會介紹配置方法
chmod 777 .../hue/desktop
chmod 777 .../hue/desktop/desktop.db

6.修改hadoop cluster的namenode節點的core-site.xml和hdfs-site.xml檔案


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>
####################


使修改生效,不需要重啟叢集,執行如下命令 直接用hadoop管理員賬號重新載入這兩個屬性值
hdfs dfsadmin -refreshSuperUserGroupsConfiguration
yarn rmadmin -refreshSuperUserGroupsConfiguration


載入這兩個屬性
hadoop dfsadmin -fs hdfs://hadoopcluster:8020 -refreshSuperUserGroupsConfiguration


7.修改hue的配置檔案 ...../hue/desktop/conf/pseudo-distributed.ini


#######################################
[hadoop]


  [[hdfs_clusters]]
    [[[default]]]
      fs_defaultfs=hdfs://hadoopcluster:8020
      webhdfs_url=http://192.168.100.10:50070/webhdfs/v1/
      hadoop_conf_dir=....../hadoop-2.7.1/etc/hadoop
  [[yarn_clusters]]


    [[[default]]]
      resourcemanager_host=192.168.100.10
      resourcemanager_port=8032
      history_server_api_url=http://192.168.100.10:19888
  [[mapred_clusters]]


    [[[default]]]
      jobtracker_host=192.168.100.10
      jobtracker_port=50030
      submit_to=False




[beeswax]

#hive所在的機器
  hive_server_host=192.168.100.11 
  hive_server_port=10000
  server_conn_timeout=360
  ########################################
把配置檔案中於此不相同的修改一下就可以了



8.把資料庫改成mysql

  1.建立資料庫
  mysql -uhive -p123456 -h192.168.100.11
  > create database hue;


  2. 修改hue配置檔案,...../hue/desktop/conf/pseudo-distributed.ini
  #########################
  [[database]]
      engine=mysql
      host=192.168.100.11
      port=3306
      user=hive
      password=123456
      name=hue
  #########################


  3.然後建立表

    1).  ..../hue/build/env/bin/hue syncdb --noinput
    2).  ..../hue/build/env/bin/hue migrate --all 


9.配置hive許可權,讓hue只具有查詢許可權
hive
> use default;
> grant select on database default to user hue;


10.修改hdfs中tmp的許可權

因為當執行hive任務時,需要把中間結果解除安裝/tmp目錄下,而執行任務的使用者可能不同

hdfs dfs -chmod -R 777 /tmp

11.啟動
  1).首先啟動hiveserver2
    nohup  ..../apache-hive-1.2.1-bin/bin/hiveserver2 &
  2).啟動hue
    nohup  ..../hue/build/env/bin/hue runserver 0.0.0.0:8000 &


附:如果需要多個使用者使用hive查詢,則需要如下:
1.首先在web頁面上新增一個使用者
2.在執行hue的機器上,建立該使用者,並把使用者組設定成hive的超級使用者上,如hadoop
3.在hive中對這個使用者分配查詢的許可權。