在前面文中在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
2
3
4
5
6
7
[[[mysql]]]  
nice_name=db_mysql
engine=mysql
host=hdpc05
port=3306
user=root
password=123456

验证过程

如果之前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
2
3
4
5
6
7
[[[oracle]]]  
nice_name=db_oracle
engine=oracle
host=192.168.1.102
port=1521
user=***
password=***

配置完成后,重启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
2
3
#Oracle client Profile  
export ORACLE_HOME=/home/hue-branch-4.1/oracle/instantclient12.2/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME


使用source /etc/profile使配置立即生效:

4>.创建软连接

1
2
3
4
ln -s libclntsh.dylib.11.1 libclntsh.dylib
ln -s libocci.dylib.11.1 libocci.dylib
ln -s libclntsh.so.11.1 libclntsh.so
![](https://static.oschina.net/uploads/space/2018/0227/170747_zplk_2846946.png)

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的集成复杂一点,需要注意的地方比较多,集成过程中遇到的坑都记录在文中了,希望能帮到大家。