前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >docker整合hue

docker整合hue

作者头像
gzq大数据
发布2021-05-18 11:11:33
1.1K0
发布2021-05-18 11:11:33
举报
文章被收录于专栏:大数据那些事

因为测试需求,需要将各个开源平台整合到一个大的平台中,所以引入了hue,具体操作步骤如下: 此次引入了有postgre,hive,phoenix,hbase,yarn,hdfs

1.拉取镜像

直接从dockerhub拉取已经编译好的hue:

代码语言:javascript
复制
docker pull gethue/hue
在这里插入图片描述
在这里插入图片描述

拉取好镜像后,传入自己的harbor,本地仓库,方便后续集成到h8s管理,具体操作之前也有讲过。

2.开启镜像安装相应的软件并修改hue.ini

开启镜像命令:docker run -it -p 8888:8888 --add-host:xxx.com:你的ip gethue/hue:latest 进入镜像,因为要使用root用户操作,所以进入命令如下:

代码语言:javascript
复制
docker exec -ti --user root 容器id bash

我这个版本的hue镜像存在/usr/share/hue/desktop/conf/目录下,因为此版本hue并未提供vim,要自行下载,命令如下:

代码语言:javascript
复制
apt-get install vim

最好再装一个ping:

代码语言:javascript
复制
apt install iputils-ping

最后进行文件的修改:

代码语言:javascript
复制
vim hue.ini

修改配置如下: 修改时区:

在这里插入图片描述
在这里插入图片描述

postgre相关项:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

hive相关项

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

hbase相关项:

在这里插入图片描述
在这里插入图片描述

yarn相关项:

在这里插入图片描述
在这里插入图片描述

hdfs相关项:

在这里插入图片描述
在这里插入图片描述

phoenix配置项:

这段需要自己加官网也有说:

在这里插入图片描述
在这里插入图片描述

改完后保存退出容器打包镜像docker commit即可。

3.修改集群中的响应配置文件

首先修改hdfs的相关文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

其次修改hbase的相关文件

在这里插入图片描述
在这里插入图片描述

4.开启相关代理服务

4.1 java

首先集群上肯定要有java环境并配置好JAVA_HOME环境变量,并且此hue的对应的版本为java8

4.2 queryserver

在集群上下载好phoenix的服务端并开启服务,因为我们的项目使用的是hbase的2版本,所以下载的是apache-phoenix-5.0.0-HBase-2.0-bin.tar,方法如下: 首先确定你的集群上有HBASE_HOME的环境变量,接下来解压后来到bin目录下:

在这里插入图片描述
在这里插入图片描述

执行./queryserver.py start即可,虽然是python写的,但是内部最终起来是java来起,会开启一个java进程:

在这里插入图片描述
在这里插入图片描述

注意hbase-site里面的zookeeper配置项我用的不是hbase自带,使用的是集群模式,而且写得host域名后不要跟2181它会默认去找2181,如果写了会报错,这里应该是hue的一个bug,希望它们后面能改进。

4.3 ThriftServer

开启hbase的ThriftServer服务在9090端口:

代码语言:javascript
复制
HBASE_HOME/bin/hbase-daemon.sh start thrift
在这里插入图片描述
在这里插入图片描述

接下来可以看效果了

4.4 开启hive

在这里插入图片描述
在这里插入图片描述

hive脚本:

代码语言:javascript
复制
#!/bin/bash
HIVE_LOG_DIR=$HIVE_HOME/logs
if [ ! -d $HIVE_LOG_DIR ]
then
    mkdir -p $HIVE_LOG_DIR
fi
echo "1"
function check_process()
{
   pid=$(ps -ef 2>/dev/null | grep -v grep | grep -i $1 | awk '{print $2}')
   ppid=$(netstat -nltp 2>/dev/null | grep $2 | awk '{print $7}' | cut -d '/' -f 1)
   echo $pid
   [[ "$pid" =~ "$ppid" ]] && [ "$ppid" ] && return 0 || return 1
}
echo "2"
function hive_start()
{
   metapid=$(check_process HiveMetastore 9083)
   cmd="nohup hive --service metastore >$HIVE_LOG_DIR/metastore.log 2>&1 &"
   [ -z "$metapid" ] && eval $cmd || echo "Metastroe start"
   server2pid=$(check_process HiveServer2 10000)
   cmd="nohup hiveserver2 >$HIVE_LOG_DIR/hiveServer2.log 2>&1 &"
   [ -z "$server2pid" ] && eval $cmd || echo "HiveServer2 start"
}
echo "3"
function hive_stop()
{
   metapid=$(check_process HiveMetastore 9083)
   [ "$metapid" ] && kill $metapid || echo "Metastore not start"
   server2pid=$(check_process HiveServer2 10000)
   [ "$server2pid" ] && kill $server2pid || echo "HiveServer2 not start"
}

case $1 in
"start")
    hive_start
    echo "2"
    ;;
"stop")
    hive_stop
    ;;
"restart")
    hive_stop
    sleep 2
    hive_start
    ;;
"status")
    check_process HiveMetastore 9083 >/dev/null && echo "Metastore normalnormal" || echo "Metastore exception"
    check_process HiveServer2 10000 >/dev/null && echo "HiveServer2 normalnormal" || echo "HiveServer2 exception"
    ;;
*)
    echo Invalid Args!
    echo 'Usage: '$(basename $0)' start|stop|restart|status'
    ;;
esac

此脚本一定要是unix格式,可以通过set ff=unix命令来使用

5.成功界面演示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/05/16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.拉取镜像
  • 2.开启镜像安装相应的软件并修改hue.ini
    • postgre相关项:
      • hive相关项
        • hbase相关项:
          • yarn相关项:
            • hdfs相关项:
            • phoenix配置项:
            • 3.修改集群中的响应配置文件
            • 4.开启相关代理服务
              • 4.1 java
                • 4.2 queryserver
                  • 4.3 ThriftServer
                    • 4.4 开启hive
                    • 5.成功界面演示
                    相关产品与服务
                    TDSQL MySQL 版
                    TDSQL MySQL 版(TDSQL for MySQL)是腾讯打造的一款分布式数据库产品,具备强一致高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特性,同时提供智能 DBA、自动化运营、监控告警等配套设施,为客户提供完整的分布式数据库解决方案。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档