天天看點

Hue架構

Hue是一個圖形化的使用者界面,去操作或者開發一些hadoop應用,內建一些架構。

一 Hue架構圖

Hue架構

支援的架構:

JobOOZIE PIG HDFS:查檔案 檔案的管理:增删改查 HiveMetaStore 管理器 ImaplaShell

二 Hue安裝部署

2.1下載下傳解壓

下載下傳位址:https://archive.cloudera.com/cdh5/cdh/5/hue-3.7.0-cdh.5.3.6.tar.gz

解壓:tar-zxf hue-3.7.0-cdh5.3.6.tar.gz

2.2編譯和安裝

在進行編譯之前需要一些前提條件,也就是需要安裝一些依賴包

yuminstall ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plain gccgcc-c++ krb5-devel libffi-devel libtidy libxml2-devel libxslt-devel

makemvn mysql mysql-devel openldap-devel python-devel sqlite-devel openssl-develgmp-devel –y

如果已經裝過了,就不用安裝了。

我本地機器:

yuminstall ant asciidoc cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-plainkrb5-devel libffi-devel libtidy libxml2-devel libxslt-devel mysql-developenldap-devel python-devel sqlite-devel openssl-devel gmp-devel –y

安裝的依賴中包含openjdk,編譯完後解除安裝openjdk

yumremove java

source/etc/profile

然後進入到hue主目錄:

cd/opt/cdh-5.3.6/hue-3.7.0-cdh5.3.6

makeapps

三 修改webserver配置檔案和啟動

cd/opt/cdh-5.3.6/hue-3.7.0-cdh5.3.6/desktop/conf

vimhue.ini

所有hue架構配置項都是以中括号标記

3.1修改httphost和 port

http_host=CDH-Hadoop-Cluster-01

http_port=8888

3.2指定SecretKey

#This is used for secure hashing in the session store.

secret_key=jFE93j;2[290-eiw.KEiwN2s3['d;/.q[eIW^y#e=+Iei*@Mn<qW5o

3.3修改時區

#Time zone name

time_zone=Asia/Shanghai

啟動:

/build/env/bin/supervisor

啟動之後登入web ui

http://cdh-hadoop-cluster-01:8888/

首先會建立的你的管理者賬号

建議建立使用者和hadoop使用者相同,因為通路HDFS叢集。HDFS有權限檢查,如果用hadoop相同的使用者就避免了權限檢查

hadoophadoop

然後它會檢查一些配置檔案:

Hue架構

四 Hue與HDFS 和 YARN的內建

4.1Hue 和 HDFS內建

4.1.1配置WebHdfs

你應該啟用WebHdfs或者運作一個HttpFSserver. 要打開WebHDFS,4.1.1.1添加以下配置到hdfs-site.xml

<property>

      <name>dfs.webhdfs.enabled</name>

      <value>true</value>

</property>

4.1.1.2添加以下配置到core-site.xml

<!--toaccess hdfs, we need set proxy-->

<property>

    <name>hadoop.proxyuser.hue.hosts</name>

   <value>*</value>

</property>

<property>

   <name>hadoop.proxyuser.hue.groups</name>

   <value>*</value>

</property>

4.1.1.3分發剛才配置到叢集其他機器

scphdfs-site.xml core-site.xml [email protected]:/opt

/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/etc/hadoop

scphdfs-site.xml core-site.xml [email protected]:/opt

/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/etc/hadoop

4.1.1.4重新開機hadoop 叢集

4.1.2配置hue.ini

Hue目前隻支援一個HDFS叢集

在hue.ini找到[hadoop]段,然後找[[hdfs_clusters]]子段,再找到

[[[default]]]子段

fs_defaultfs=hdfs://CDH-Hadoop-Cluster-01:8020

webhdfs_url=http://CDH-Hadoop-Cluster-01:50070/webhdfs/v1

hadoop_conf_dir=/opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/etc/hadoop

hadoop_hdfs_home=/opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6

hadoop_bin=/opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/bin

4.2Hue 和 YARN 內建

4.2.1 配置YARN. 文檔提示不需要再配

4.2.2配置hue.ini

Hue目前隻支援一個YARN叢集,在hue.ini找到[hadoop]段,然後找[[yarn_clusters]]子段,再找到[[[default]]]子段

resourcemanager_host=CDH-Hadoop-Cluster-02

resourcemanager_port=8032

#Whether to submit jobs to this cluster

submit_to=True

hadoop_mapred_home=/opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6

hadoop_bin=/opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/bin

hadoop_conf_dir=/opt/cdh-5.3.6/hadoop-2.5.0-cdh5.3.6/etc/hadoop

#URL of the ResourceManager API相當于yarn-site.xml配置yarn.

resourcemanager.webapp.address

resourcemanager_api_url=http://CDH-Hadoop-Cluster-02:8088

#URL of the ProxyServer API,相當于yarn-site.xml配置yarn.web-proxy.address

proxy_api_url=http://CDH-Hadoop-Cluster-02:8088

#URL of the HistoryServer API相當于mapred-site.xml裡面的mapreduce.jobhistory.webapp.address

history_server_api_url=http://CDH-Hadoop-Cluster-01:19888

4.3重新開機hadoop叢集和hue

五 Hive遠端MetaStore的配置和啟動

Hive的三種運作方式

1預設的derby資料庫 缺點:容量較小,不能啟動多個執行個體

2使用MySQL缺點: MySQL與Hive在同一台機器

3遠端的MetaStore,中繼資料存儲在遠端的MySQL當中

Hue架構

我們需要修改hive.metastore.uris:

<property>

   <name>hive.metastore.uris</name>

    <value></value>

</property>

開啟遠端MetaStore

bin/hive--service metastore &

每一次都必須先啟動遠端metastore,然後在啟動用戶端

六 Hue與 Hive內建

6.1hive配置

隻需要啟動hiveserver2

tcp協定:預設10000

http協定:預設10001

有時候出現連接配接逾時,我們把5000L改成5000

<property>

 <name>hive.server2.long.polling.timeout</name>

  <value>5000L</value>

</property>

改成

<property>

 <name>hive.server2.long.polling.timeout</name>

  <value>5000</value>

</property>

6.2配置hue.ini

hive_server_host=CDH-Hadoop-Cluster-01

hive_server_port=10000

hive_home_dir=/opt/cdh-5.3.6/hive-0.13.1-cdh5.3.6

hive_conf_dir=/opt/cdh-5.3.6/hive-0.13.1-cdh5.3.6/conf

6.3重新開機Hue

七 Hue 和 RDBMS的內建

找到[librmdbs]段 在hue.ini檔案中,然後在他下面找到[[databases]]子段

7.1啟用SQLite

首先去掉注釋## [[[sqlite]]]

[[[sqlite]]]

然後修改:

# Name to show in the UI.

nice_name=SQLite

#定義資料庫的位置

name=name=/opt/cdh-5.3.6/hue-3.7.0-cdh5.3.6/desktop/desktop.db

# 資料庫使用的引擎

engine=sqlite

7.2啟用MySQL

啟用mysql,去掉資料庫

[[[mysql]]]

nice_name="My SQL DB"

engine=mysql

## name=mysqldb 不打開,預設使用所有資料庫

host=hadoop-senior02.ibeifeng.com

port=3306

user=root

password=123456

7.3 重新開機Hue

八 Hue與Oozie的內建和使用

8.1 hue 配置oozie

找到[liboozie]段

oozie_url=http://CDH-Hadoop-Cluster-01:11000/oozie

<!--預設放到目前使用者主目錄下面,但是在Hue的時候指定的是/user/oozie/share/lib

是以我麼這裡就把user.name改成oozie-->

<property>

      <name>oozie.service.WorkflowAppService.system.libpath</name>

      <value>/user/${user.name}/share/lib</value>

</property>

改成:

<property>

      <name>oozie.service.WorkflowAppService.system.libpath</name>

      <value>/user/oozie/share/lib</value>

</property>

先停掉oozie:

bin/oozied.shstop

然後重新執行:

bin/oozie-setup.shsharelib create -fs hdfs://CDH-Office-Hadoop-01:8020 -locallib/opt/cdh-5.3.6/oozie-4.0.0-cdh5.3.6/oozie-sharelib-4.0.0-cdh5.3

.6-yarn.tar.gz

再啟動oozie

bin/oozied.shstart