最近由于在写相关的spark+hudi+hive相关的文章。关于大数据的部分涉及到的组件等信息非常多,由于在数据仓库的应用上,使用hive创建数据仓库的方案已经很成熟了,所以对于hive来说我们不能一直停留在使用命令行上给大家演示。所以这里我们再补充一个可视化dashboard,这样我们可以在web ui上对hive进行查询。这个可视化的dashboard平台就是Hue。目前在大部分公司Hue的使用频率还是比较高。所以这里我们写一个Hue使用系列。本文主要介绍Hue的部署。
目前基于Hue的部署主要有两种方式,分别是:
1、集成到cdh平台上 2、使用docker进行部署
这两种方式主要看每个公司的实际需要场景,像我们这里暂时没有使用到hadoop的很多东西,所以我们目前没有使用cdh平台统一安装惯例,而是采用的直接手动部署的hadoop集群+hive,因此这里对于我们来说使用docker方式部署Hue是非常方便的。这里我们来演示一下:
1)安装docker
首先我们需要找一台服务器,安装docker最新版本,详情可参考《最新版本的docker在线安装教程》。这里我们建议安装docker最新版本,避免出现一些版本兼容等问题。这里我们已经部署好了,示例图如下:
2)创建Hue实例
接着我们就来创建一个Hue实例,执行的命令如下:
docker run -it --name hue -d -p 8888:8888 gethue/hue
执行这个命令之后就会开始下载hue的镜像,并且启动一个hue实例,示例图如下:
3)安装vim工具
其实我们完成上诉第二部的时候就可以访问hue了,但是我们虽然使用docker进行部署,但是实际还是需要配置一些信息,以便docker环境发生变化导致之前的配置信息都没有了。在配置配置文件之前,我们需要在hue的容器里面安装vim工具,方便后面编辑配置文件。具体的安装命令如下:
#使用root角色进入到hue容器中 docker exec -it --user root hue bash #更新apt仓库 apt-get update #安装vim工具 apt-get install vim -y
执行完毕上诉命令之后,我们在hue这个docker容器里面就安装好了vim工具,示例图如下:
4)修改时区
docker启动的hue环境默认的时区是美国时间,所以我们需要修改为上海时间,实例如下:
#使用root进入到hue容器 docker exec -it --user root hue bash #编辑配置文件 vim /usr/share/hue/desktop/conf/hue.ini #找到time_zone=的配置,修改为上海,具体值是: time_zone=Asia/Shanghai
备注:
1、注意这个time_zone的配置项在[desktop]节点下。
4)修改数据库
这里使用docker启动的hue默认是使用本地数据库,所以这里我们需要把数据库修改为使用外置的mysql,配置如下:
#使用root进入到hue容器 docker exec -it --user root hue bash #编辑配置文件 vim /usr/share/hue/desktop/conf/hue.ini #找到[database]节点,示例图如下:
#把engine,host,port,user,password,name这几个注释打开并且进行配置 [[database]] # Database engine is typically one of: # postgresql_psycopg2, mysql, sqlite3 or oracle. # # Note that for sqlite3, 'name', below is a path to the filename. For other backends, it is the database name # Note for Oracle, options={"threaded":true} must be set in order to avoid crashes. # Note for Oracle, you can use the Oracle Service Name by setting "host=" and "port=" and then "name=<host>:<port>/<service_name>". # Note for MariaDB use the 'mysql' engine. engine=mysql (数据库引擎) host=192.168.31.30 (数据库地址) port=3306 (数据库端口) user=show (数据库用户名) password=WJAR4pZAZYF3zpfx (数据库密码) # conn_max_age option to make database connection persistent value in seconds # https://docs.djangoproject.com/en/1.11/ref/databases/#persistent-connections ## conn_max_age=0 # Execute this script to produce the database password. This will be used when 'password' is not set. ## password_script=/path/script name=show (对应选择的库)
最后附上这里配置数据库的示例图:
备注:
1、这里配置的几个配置项在本文件中涉及到重名,所以一定要看好修改的是[database]节点下的配置项
接着我们初始化一下hue信息,执行如下命令:
#使用root进入到hue容器 docker exec -it --user root hue bash #进入到hue目录 cd /usr/share/hue/build/env/bin #执行初始化 ./hue syncdb
出现如下的界面就可以了,如下图:
备注:
1、这里我们看到有提示No changes detected,大家不用关心这个没任何问题。 2、按照常理我们执行了初始化语句之后,mysql应该有相关的库表了,但是这里我们在mysql里面其实表还没创建。所以不用太担心
接着我们退出容器,容器hue容器即可。
#退出hue容器 exit #重启hue容器 docker restart hue
此时我们重启的时候,就可以看到已经在自动向mysql创建库表了,示例如下:
此时我们再去mysql看,就可以看到对应的库里面有表信息了:
然后我们稍等一会就可以了。
5)访问测试
等待一会,我们访问服务器的8888端口,第一次进来需要我们手动创建一个账号,这里我们创建一个账号为admin,密码为admin的账号即可,示例图如下:
创建完成之后,就可以进入到hue的界面了。
到此为止,我们就完成了使用docker快速部署hue的案例。
还没有评论,来说两句吧...