溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

大數(shù)據(jù)web管理器HUE怎么樣

發(fā)布時(shí)間:2021-11-17 09:58:01 來源:億速云 閱讀:213 作者:小新 欄目:大數(shù)據(jù)

這篇文章給大家分享的是有關(guān)大數(shù)據(jù)web管理器HUE怎么樣的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

HUE

Hue是cdh專門的一套web管理器,它包括3個(gè)部分hue ui,hue server,hue db。hue提供所有的cdh組件的shell界面的接口。你可以在hue編寫mr,查看修改hdfs的文件,管理hive的元數(shù)據(jù),運(yùn)行Sqoop,編寫Oozie工作流等大量工作。

HUE官方地址http://gethue.com/

默認(rèn)基于輕量級(jí)sqlite數(shù)據(jù)庫管理會(huì)話數(shù)據(jù),用戶認(rèn)證和授權(quán),可以自定義為MySQL、Postgresql,以及Oracle 
基于文件瀏覽器(File Browser)訪問HDFS 
基于Hive編輯器來開發(fā)和運(yùn)行Hive查詢 
支持基于Solr進(jìn)行搜索的應(yīng)用,并提供可視化的數(shù)據(jù)視圖,以及儀表板(Dashboard) 
支持基于Impala的應(yīng)用進(jìn)行交互式查詢 
支持Spark編輯器和儀表板(Dashboard) 
支持Pig編輯器,并能夠提交腳本任務(wù) 
支持Oozie編輯器,可以通過儀表板提交和監(jiān)控Workflow、Coordinator和Bundle 
支持HBase瀏覽器,能夠可視化數(shù)據(jù)、查詢數(shù)據(jù)、修改HBase表 
支持Metastore瀏覽器,可以訪問Hive的元數(shù)據(jù),以及HCatalog 
支持Job瀏覽器,能夠訪問MapReduce Job(MR1/MR2-YARN) 
支持Job設(shè)計(jì)器,能夠創(chuàng)建MapReduce/Streaming/Java Job 
支持Sqoop 2編輯器和儀表板(Dashboard) 
支持ZooKeeper瀏覽器和編輯器 
支持MySql、PostGresql、Sqlite和Oracle數(shù)據(jù)庫查詢編輯器

安裝hue


這里我用的hue docker image. 就省去了安裝, 
環(huán)境:centos7 3臺(tái), 已經(jīng)安裝了ambari的hadoop集群

docker拉取hue

docker pull gethue/hue:latest

檢測(cè)下服務(wù)器沒有被占用8888端口

netstat -anp | grep 8888

運(yùn)行hue


運(yùn)行image

  1. docker run -tid --name hue8888 --hostname cnode1.domain.org \

  2. -p 8888:8888 -v /usr/hdp:/usr/hdp -v /etc/hadoop:/etc/hadoop \

  3. -v /etc/hive:/etc/hive -v /etc/hbase:/etc/hbase \

  4. -v /docker-config/pseudo-distributed.ini /hue/desktop/conf/pseudo-distributed.ini \

  5. c-docker.domain.org:5000/hue:latest \

  6. ./build/env/bin/hue runserver_plus 0.0.0.0:8888

解釋下上面的命令,

  1. -i 標(biāo)志保證容器中STDIN是開啟的

  2. -t 表示告訴docker要為創(chuàng)建的容器分配一個(gè)偽tty終端

  3. -d 會(huì)把容器放到后臺(tái)運(yùn)行

  4. --name alias_name 可以為這個(gè)docker指定一個(gè)別名, 要放前面, e.g.:docker run -tid --name alias_name images:version /bin/bash

  5. --hostname 指定hostname, 類似--ip

  6. -p docker 容器的端口:外部主機(jī)的端口, 作端口映射, 來公開在dockerfile里面定義的expose的所有端口.

  7. -v 掛在目錄, 外部主機(jī)目錄:容器內(nèi)部目錄, 這里我掛在了 ambari的 hadoop配置文件/etc/hadoop, hive配置路徑/etc/hive, hbase配置路徑/etc/hbase, 以及用了本地的hue配置文件去替代docker里面的hue配置文件.

  8. 最后是要啟動(dòng)容器后要運(yùn)行的命令 ./build/env/bin/hue runserver_plus 0.0.0.0:8888

  9. cnode1.domain.org 是我的一臺(tái)服務(wù)器的域名. 拿來跑hue的

  10. c-docker.domain.org 是我的私有docker倉庫. 注意這里需要在docker daemon里面加上 --insecure-registry c-docker.domain.org:5000來允許不安全的授權(quán)拉取, centos7具體修改docker insecure-registry如下

  1. vim /etc/systemd/system/docker.service

  2. 在[Service]下增加和修改如下內(nèi)容

  3. EnvironmentFile=-/etc/sysconfig/docker

  4. ExecStart=/usr/bin/docker daemon -H fd:// $OPTIONS

  5.  

  6.  

  7. vim /etc/sysconfig/docker

  8. 添加

  9. OPTIONS="-D --selinux-enabled --insecure-registry c-docker.domain.org:5000"

  10. 重啟docker和daemon

  11. systemctl restart docker

  12. systemctl daemon-reload

配置hue


hue-docker的相關(guān)配置文件在/hue/desktop/conf/pseudo-distributed.ini 
修改相關(guān)參數(shù), scp傳出來后修改如下參數(shù),保存到主機(jī)cnode1上/docker-config/pseudo-distributed.ini

  1. http_port=8888

  2. fs_defaultfs=hdfs://cnode1.domain.org:8020

  3. logical_name=cnode1

  4. webhdfs_url=http://cnode1.domain.org:50070/webhdfs/v1

  5. hadoop_conf_dir=/etc/hadoop/conf

  6.  

  7.  

  8. hive_server_host=cnode1.domain.org

  9. hive_server_port=10000

  10. hive_conf_dir=/etc/hive

  11.  

  12.  

  13. hbase_clusters=(cluster1|cnode2.domain.org:9090)

  14. hbase_conf_dir=/etc/hbase

注意上面的地址 hbase_clusters 的cluster1只是hue里面顯示的, 可以隨便命名, cnode2.domain.org:9090 是hbase thrift 1的地址, 在ambari的主機(jī)里面用如下命令啟動(dòng)起來

/usr/hdp/2.4.0.0-169/hbase/bin/hbase-daemon.sh start thrift

使用


第一次進(jìn)入需要配置賬戶和密碼

大數(shù)據(jù)web管理器HUE怎么樣)

使用hue來連接mysql


同樣是編輯pseudo-distributed.ini, 
找到[librdbms]這段后, 按照自己需要修改如下的內(nèi)容, 注意要取消[[[mysql]]]的注釋

  1. [[[mysql]]]

  2. nice_name="Hyve-ENG UAT MySQL"

  3. name=dbname_test

  4.  

  5. # Database backend to use. This can be:

  6. # 1. mysql

  7. # 2. postgresql

  8. # 3. oracle

  9. engine=mysql

  10. host=192.168.85.100

  11.  

  12. # Port the database server is listening to. Defaults are:

  13. # 1. MySQL: 3306

  14. # 2. PostgreSQL: 5432

  15. # 3. Oracle Express Edition: 1521

  16. port=3306

  17.  

  18. # Username to authenticate with when connecting to the database.

  19. user=tom

  20.  

  21. # Password matching the username to authenticate with when

  22. # connecting to the database.

  23. password=db12@34#56%78

保存后, 重啟docker container

docker restart hue8888

接下來就可以在http://cnode1.domain.org:8888/rdbms/ 來進(jìn)行對(duì)應(yīng)的mysql查詢.

多個(gè)db支持, 需要復(fù)制完整的 對(duì)應(yīng)的db段, 比如要支持postsql, 或者新的mysql db庫, 需要復(fù)制 
如下, 在options里面可以定制相關(guān)編碼等:

  1. [[[mysql3]]]

  2. nice_name="UAT MySQL"

  3. name=mysqldbname

  4. engine=mysql

  5. host=192.168.80.116

  6. port=3306

  7. user=tommy

  8. password=p12391kf1#jkew

  9. [[[mysql2]]]

  10. nice_name="UAT MySQL"

  11. name=mysqldbname2

  12. engine=mysql

  13. host=192.168.80.116

  14. port=3306

  15. user=tommy

  16. password=p12391kf1#jkew

  17. options={ "init_command":"SET NAMES 'utf8'"}

options里面init_command支持一些初始化鏈接行為, 比如設(shè)置編碼, 設(shè)置連接超時(shí), 設(shè)置select的limit數(shù)量, 
具體可以參考http://dev.mysql.com/doc/refman/5.6/en/mysql-tips.html#safe-updates 和django的database部分, 比如下面

  1. "init_command": 'set storage_engine=INNODB; \

  2. SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED', }

設(shè)置默認(rèn)查詢數(shù)量,

options={"init_command": "SET sql_select_limit=100"}

多組init_command:

options={"init_command": "SET sql_select_limit=100; SET names 'utf8'; SET sql_safe_updates=1"}

感謝各位的閱讀!關(guān)于“大數(shù)據(jù)web管理器HUE怎么樣”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI