在前面文中在Hue中集成Hive数据仓库,替代了Hive自己的Hwi服务,可以很方便的在Hue中进行Hive的Sql查询等操作。本文将在Hue中集成Mysql和Oracle等数据库,这样就可以在Hue中对数据存储服务中的数据进行操作。
环境准备
1.Hadoop集群服务
2.Hive-Mysql元数据库服务
3.Hive服务
4.Hue4.1服务
5.Mysql数据库服务
6.Oracle数据库服务
集成准备
启动Hadoop集群
启动Hadoop三台机器,然后在主节点机器上启动Hadoop集群:start-all.sh
启动Hiveserver服务
在Hive机器上启动Hiveserver服务:hive –service hiveserver2 或者hive –service hiveserver2 &
启动HiveMetastore服务
在Hive机器上启动HiveMetastore服务:hive –service metastore或者hive –service metastore &
看到如下信息,说明启动完成:
启动Hue服务
在Hue的/bulid/env/bin/目录下执行./supervisor 命令启动Hue服务
启动数据存储服务
分别启动需要Hue集成的Mysql和Oracle数据库服务
验证启动
在终端输入jps -ml查看:
可以看到Hadoop集群各Hive服务启动都正常
集成MySQL服务
配置过程
打开Hue的/desktop/conf/目录下的 pseudo-distributed.ini文件
编辑pseudo-distributed.ini文件 ,找到[librdbms]这一节下的[[databases]],然后添加关于集成Mysql
服务的配置信息:
1 | [[[mysql]]] |
验证过程
如果之前Hue服务是启动的,先重启Hue服务,然后登陆Hue服务控制台页面:
点击Mysql标签,可以看到成功集成了Mysql数据库服务
简单使用
双击某个数据库可以看到库中的表或者右击选择Open in Browser在右边的Table Browser视图中,可以看到该数据库下的表:
或
在Table Browser视图中选择表点击view可以查看表结构信息和表数据信息:
可以看到表结构和部分表数据,更多的操作点击其他操作标签即可,这里不过多演示
集成Oracle服务
配置过程
打开Hue的/desktop/conf/目录下的 pseudo-distributed.ini文件
编辑pseudo-distributed.ini文件 ,找到[librdbms]这一节下的[[databases]],然后添加关于集成oracle服务的配置信息:
1 | [[[oracle]]] |
配置完成后,重启Hue服务,我们登陆Hue控制状态点击Oracle存储查看,控制台提示如下错误:
Error loading cx_Oracle module: No module named cx_Oracle
这是因为Hue是Python写的,所以使用Python连接Oracle时需要cx_Oracle这个模块,安装这个还需要配置Oracle官方的两个客户端文件,下面我们开始配置过程:
1>.下载oracle连接需要的两个客户端文件
instantclient-basic-linux.x64-12.2.0.1.0.zip
instantclient-sdk-linux.x64-12.1.0.2.0.zip
下载地址:http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
2>.使用ftp上传到hue的oracle目录下
上传的文件如下:
解压两个文件都到instantclient12.2中:
全部解压后文件如下:
3>.添加环境变量
使用命令vi /etc/profile 写入以下配置:
1 | #Oracle client Profile |
使用source /etc/profile使配置立即生效:
4>.创建软连接
1 | ln -s libclntsh.dylib.11.1 libclntsh.dylib |
5>.安装cx_Oracle某块
使用find / -name pip查找pip目录
cd /home/hue-branch-4.1/build/env/bin
然后执行./pip install cx_Oracle安装
至此cx_Oracle某块就安装完成了
验证过程
配置完成后我们登陆hue控制台点击oracle标签,控制台提示‘name’的错误:
这是因为配置Oracle时少一个name的参数:
配置完成后我们重启Hue服务查看Hue控制台:
此时就完成了Hue对Oracle的集成配置,具体的使用和Mysql差不多,同上面内容
最后总结
本文是在Hue中集成Mysql和Oracle关系数据库服务,Mysql的集成相对简单,Oracle的集成复杂一点,需要注意的地方比较多,集成过程中遇到的坑都记录在文中了,希望能帮到大家。