在 hue(04)、Hue集成Hive数据仓库 中我们在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数据库服务
二、集成准备
         1.启动hadoop集群
            启动hadoop三台机器,然后在主节点机器上启动hadoop集群:start-all.sh
            
          2.启动Hiveserver服务
             在hive机器上启动hiveserver服务:hive --service hiveserver2 或者hive --service hiveserver2 &
          3.启动Hive Metastore服务
            在hive机器上启动Hive Metastore服务:hive --service metastore或者hive --service metastore &    
             
            看到如下信息,说明启动完成:
             
         4.启动Hue服务
             在hue的/bulid/env/bin/目录下执行./supervisor 命令启动hue服务
             
          5.验证启动
              在终端输入jps -ml查看:
              
             可以看到hadoop集群个hive服务启动都正常
          6.启动数据存储服务
             分别启动需要hue集成的mysql、oracle等数据库服务
三、集成MySQL服务
         1.配置过程
         打开hue的/desktop/conf/目录下的 pseudo-distributed.ini文件        
          
         编辑pseudo-distributed.ini文件 ,找到[librdbms]这一节下的[[databases]],然后添加关于集成mysql
         服务的配置信息:
         [[[mysql]]]
         nice_name=db_mysql
         engine=mysql
         host=hdpc05
         port=3306
         user=root
         password=123456
         
        2.验证过程
        如果之前hue服务是启动的,先重启hue服务,然后登陆hue服务控制台页面:
        
        点击mysql标签,可以看到成功集成了mysql数据库服务
         
       
       3.简单使用
       双击某个数据库可以看到库中的表或者右击选择Open in Browser在右边的Table Browser视图中,可
      以看到该数据库下的表:
       
       或
       
       在Table Browser视图中选择表点击view可以查看表结构信息和表数据信息:
       
      可以看到表结构和部分表数据,更多的操作点击其他操作标签即可,这里不过多演示
        
  
四、集成Oracle服务
         1.配置过程
         打开hue的/desktop/conf/目录下的 pseudo-distributed.ini文件        
          
         编辑pseudo-distributed.ini文件 ,找到[librdbms]这一节下的[[databases]],然后添加关于集成
         oracle服务的配置信息:
         [[[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 写入以下配置:
            #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>.创建软连接
           ln -s libclntsh.dylib.11.1 libclntsh.dylib
           ln -s libocci.dylib.11.1 libocci.dylib
           ln -s libclntsh.so.11.1 libclntsh.so
           
       5>.安装cx_Oracle某块
          使用find / -name pip查找pip目录
          
          cd /home/hue-branch-4.1/build/env/bin
          
          然后执行./pip install cx_Oracle安装
          
         至此cx_Oracle某块就安装完成了
         2.验证过程
            配置完成后我们登陆hue控制台点击oracle标签,控制台提示‘name’的错误:
            
           这是因为配置oracle时少一个name的参数:
           
          配置完成后我们重启hue服务查看hue控制台:
          
          此时就完成了hue对oracle的集成配置,具体的使用和mysql差不多,同上面内容
五、总结
         本文是在hue中集成mysql和oracle服务,mysql的集成相对简单,oracle的集成复杂一点,需要注意地方比较多,集成过程中遇到的坑都写在文中了,希望能帮到大家。