大数据web管理器HUE怎么样

这篇文章给大家分享的是有关大数据web管理器HUE怎么样的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

成都创新互联公司是网站建设专家,致力于互联网品牌建设与网络营销,专业领域包括网站制作、成都做网站、电商网站制作开发、小程序开发、微信营销、系统平台开发,与其他网站设计及系统开发公司不同,我们的整合解决方案结合了恒基网络品牌建设经验和互联网整合营销的理念,并将策略和执行紧密结合,且不断评估并优化我们的方案,为客户提供全方位的互联网品牌整合方案!

HUE

Hue是cdh专门的一套web管理器,它包括3个部分hue ui,hue server,hue db。hue提供所有的cdh组件的shell界面的接口。你可以在hue编写mr,查看修改hdfs的文件,管理hive的元数据,运行Sqoop,编写Oozie工作流等大量工作。

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

默认基于轻量级sqlite数据库管理会话数据,用户认证和授权,可以自定义为MySQL、Postgresql,以及Oracle 
基于文件浏览器(File Browser)访问HDFS 
基于Hive编辑器来开发和运行Hive查询 
支持基于Solr进行搜索的应用,并提供可视化的数据视图,以及仪表板(Dashboard) 
支持基于Impala的应用进行交互式查询 
支持Spark编辑器和仪表板(Dashboard) 
支持Pig编辑器,并能够提交脚本任务 
支持Oozie编辑器,可以通过仪表板提交和监控Workflow、Coordinator和Bundle 
支持HBase浏览器,能够可视化数据、查询数据、修改HBase表 
支持Metastore浏览器,可以访问Hive的元数据,以及HCatalog 
支持Job浏览器,能够访问MapReduce Job(MR1/MR2-YARN) 
支持Job设计器,能够创建MapReduce/Streaming/Java Job 
支持Sqoop 2编辑器和仪表板(Dashboard) 
支持ZooKeeper浏览器和编辑器 
支持MySql、PostGresql、Sqlite和Oracle数据库查询编辑器

安装hue


这里我用的hue docker image. 就省去了安装, 
环境:centos7 3台, 已经安装了ambari的hadoop集群

docker拉取hue

docker pull gethue/hue:latest

检测下服务器没有被占用8888端口

netstat -anp | grep 8888

运行hue


运行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 标志保证容器中STDIN是开启的

  2. -t 表示告诉docker要为创建的容器分配一个伪tty终端

  3. -d 会把容器放到后台运行

  4. --name alias_name 可以为这个docker指定一个别名, 要放前面, e.g.:docker run -tid --name alias_name images:version /bin/bash

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

  6. -p docker 容器的端口:外部主机的端口, 作端口映射, 来公开在dockerfile里面定义的expose的所有端口.

  7. -v 挂在目录, 外部主机目录:容器内部目录, 这里我挂在了 ambari的 hadoop配置文件/etc/hadoop, hive配置路径/etc/hive, hbase配置路径/etc/hbase, 以及用了本地的hue配置文件去替代docker里面的hue配置文件.

  8. 最后是要启动容器后要运行的命令 ./build/env/bin/hue runserver_plus 0.0.0.0:8888

  9. cnode1.domain.org 是我的一台服务器的域名. 拿来跑hue的

  10. c-docker.domain.org 是我的私有docker仓库. 注意这里需要在docker daemon里面加上 --insecure-registry c-docker.domain.org:5000来允许不安全的授权拉取, centos7具体修改docker insecure-registry如下

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

  2. 在[Service]下增加和修改如下内容

  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的相关配置文件在/hue/desktop/conf/pseudo-distributed.ini 
修改相关参数, scp传出来后修改如下参数,保存到主机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的主机里面用如下命令启动起来

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

使用


第一次进入需要配置账户和密码

大数据web管理器HUE怎么样)

使用hue来连接mysql


同样是编辑pseudo-distributed.ini, 
找到[librdbms]这段后, 按照自己需要修改如下的内容, 注意要取消[[[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/ 来进行对应的mysql查询.

多个db支持, 需要复制完整的 对应的db段, 比如要支持postsql, 或者新的mysql db库, 需要复制 
如下, 在options里面可以定制相关编码等:

  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支持一些初始化链接行为, 比如设置编码, 设置连接超时, 设置select的limit数量, 
具体可以参考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', }

设置默认查询数量,

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"}

感谢各位的阅读!关于“大数据web管理器HUE怎么样”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


当前文章:大数据web管理器HUE怎么样
网站网址:http://scyanting.com/article/gohges.html