首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >docker-compose部署hive、kafka服务

docker-compose部署hive、kafka服务

作者头像
Michael阿明
发布于 2022-10-24 06:52:39
发布于 2022-10-24 06:52:39
1.5K00
代码可运行
举报
运行总次数:0
代码可运行

1. 安装 docker-compose

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install docker-compose

2. docker-hive安装

参考了一些 https://www.likecs.com/show-152186.html 中的信息,去 https://github.com/big-data-europe/docker-hive 中把下载 docker-compose.ymlhadoop-hive.env 放在 docker-hive路径下,cmd输入 docker-compose up -d,会部署hive相关的容器

docker-compose exec hive-server bash or docker exec -it docker-hive_hive-server_1 /bin/bash 进入 hive-server 容器:

hive 创建数据库: CREATE DATABASE IF NOT EXISTS ai_data; show databases;

然后需要在容器内部署写hive的服务,发现镜像的 Python 版本是3.4 的,需要升级

2.1 升级镜像内的python环境

参考 https://blog.csdn.net/mameng1988/article/details/83782831 进行换源,加速后续下载,安装vim git wgetapt upgrade

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
apt install software-properties-common
apt-get install python-pip python3-pip
apt-get install libsasl2-dev 
apt install python3-dev

wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1.tar.gz --no-check-certificate 安装openssl 参考 https://www.cnblogs.com/chengfo/p/16289666.html

升级 python到3.8 https://blog.csdn.net/qq_38048756/article/details/121211362 注意需要配置 ssl,vim python3_安装文件路径/Modules/Setup

填写openssl的路径,还有取消5行注释,如上图所示

pip 换源

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim ~/.pip/pip.conf
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[global]
index-url=http://mirrors.aliyun.com/pypi/simple
[install]
trusted-host=mirrors.aliyun.com

创建虚拟环境

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pip install virtualenv  -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
python -m venv venv
python -m pip install xxx
git clone https://username:PASSWORD@git.XXX
apt-get install mysql-server mysql-client libmysqlclient-dev

3. 制作镜像

把上面做好的镜像打包为 ai_hive 版本 v3

  • docker commit -m "ai hive" docker-hive_hive-server_1 ai_hive:v3

这一步的目的是,后面可以直接用自己的镜像,docker-compose up -d 会使得 步骤2 中的操作丢失

4. yml配置

更改 yml 配置,使用自己打包好的镜像

起别名 docker tag bde2020/hive:2.3.2-postgresql-metastore ai_hive

5. hive-server容器内收不到 kafka消息

docker kafka 用的是 https://github.com/bitnami/containers/blob/main/bitnami/kafka/README.md 参考 https://blog.csdn.net/u013012063/article/details/120326757 解决 收不到消息的问题

最后的配置贴在这里

  • docker-compose.yml
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
version: "3"
networks:
  app-tier:
    driver: bridge

services:
  namenode:
    image: bde2020/hadoop-namenode:2.0.0-hadoop2.7.4-java8
    volumes:
      - namenode:/hadoop/dfs/name
    environment:
      - CLUSTER_NAME=test
    env_file:
      - ./hadoop-hive.env
    ports:
      - "50070:50070"
    networks:
      - app-tier
  datanode:
    image: bde2020/hadoop-datanode:2.0.0-hadoop2.7.4-java8
    volumes:
      - datanode:/hadoop/dfs/data
    env_file:
      - ./hadoop-hive.env
    environment:
      SERVICE_PRECONDITION: "namenode:50070"
    ports:
      - "50075:50075"
    networks:
      - app-tier
  hive-server:
    #image: bde2020/hive:2.3.2-postgresql-metastore
    image: ai_hive:v3
    env_file:
      - ./hadoop-hive.env
    environment:
      HIVE_CORE_CONF_javax_jdo_option_ConnectionURL: "jdbc:postgresql://hive-metastore/metastore"
      SERVICE_PRECONDITION: "hive-metastore:9083"
    ports:
      - "10000:10000"
    networks:
      - app-tier
    links:
      - kafka
    depends_on:
      - kafka
      - zookeeper
  hive-metastore:
    image: bde2020/hive:2.3.2-postgresql-metastore
    env_file:
      - ./hadoop-hive.env
    command: /opt/hive/bin/hive --service metastore
    environment:
      SERVICE_PRECONDITION: "namenode:50070 datanode:50075 hive-metastore-postgresql:5432"
    ports:
      - "9083:9083"
    networks:
      - app-tier
  hive-metastore-postgresql:
    image: bde2020/hive-metastore-postgresql:2.3.0
    networks:
      - app-tier
  presto-coordinator:
    image: shawnzhu/prestodb:0.181
    ports:
      - "8080:8080"
    networks:
      - app-tier

  zookeeper:
    image: 'bitnami/zookeeper:latest'
    ports:
      - '2181:2181'
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes
    networks:
      - app-tier
  kafka:
    image: 'bitnami/kafka:latest'
    ports:
      - '9092:9092'
      - '29092:29092'
    environment:
      - KAFKA_BROKER_ID=1
      #- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
      #- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092
      - KAFKA_LISTENER_SECURITY_PROTOCOL_MAP= CLIENT:PLAINTEXT,EXTERNAL:PLAINTEXT
      - KAFKA_CFG_LISTENERS= CLIENT://:9092,EXTERNAL://:29092
      - KAFKA_ADVERTISED_LISTENERS= CLIENT://kafka:9092,EXTERNAL://10.24.0.8:29092
      - KAFKA_INTER_BROKER_LISTENER_NAME= CLIENT
      - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR= 1
      - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
      - ALLOW_PLAINTEXT_LISTENER=yes
    depends_on:
      - zookeeper
    networks:
      - app-tier
volumes:
   namenode:
   datanode:

其中 10.24.0.8 是 hive-server里面 输入 ping kafka 后显示的 kafka ip

app-tier 网络 外部访问 kafka 需要使用 EXTERNAL的端口 10.24.0.8:29092 在内部访问的话,kafka:9092kafka:29092 都可以

  • hadoop-hive.env
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
HIVE_SITE_CONF_javax_jdo_option_ConnectionURL=jdbc:postgresql://hive-metastore-postgresql/metastore
HIVE_SITE_CONF_javax_jdo_option_ConnectionDriverName=org.postgresql.Driver
HIVE_SITE_CONF_javax_jdo_option_ConnectionUserName=hive
HIVE_SITE_CONF_javax_jdo_option_ConnectionPassword=hive
HIVE_SITE_CONF_datanucleus_autoCreateSchema=false
HIVE_SITE_CONF_hive_metastore_uris=thrift://hive-metastore:9083
HDFS_CONF_dfs_namenode_datanode_registration_ip___hostname___check=false

CORE_CONF_fs_defaultFS=hdfs://namenode:8020
CORE_CONF_hadoop_http_staticuser_user=root
CORE_CONF_hadoop_proxyuser_hue_hosts=*
CORE_CONF_hadoop_proxyuser_hue_groups=*

HDFS_CONF_dfs_webhdfs_enabled=true
HDFS_CONF_dfs_permissions_enabled=false

YARN_CONF_yarn_log___aggregation___enable=true
YARN_CONF_yarn_resourcemanager_recovery_enabled=true
YARN_CONF_yarn_resourcemanager_store_class=org.apache.hadoop.yarn.server.resourcemanager.recovery.FileSystemRMStateStore
YARN_CONF_yarn_resourcemanager_fs_state___store_uri=/rmstate
YARN_CONF_yarn_nodemanager_remote___app___log___dir=/app-logs
YARN_CONF_yarn_log_server_url=http://historyserver:8188/applicationhistory/logs/
YARN_CONF_yarn_timeline___service_enabled=true
YARN_CONF_yarn_timeline___service_generic___application___history_enabled=true
YARN_CONF_yarn_resourcemanager_system___metrics___publisher_enabled=true
YARN_CONF_yarn_resourcemanager_hostname=resourcemanager
YARN_CONF_yarn_timeline___service_hostname=historyserver
YARN_CONF_yarn_resourcemanager_address=resourcemanager:8032
YARN_CONF_yarn_resourcemanager_scheduler_address=resourcemanager:8030
YARN_CONF_yarn_resourcemanager_resource__tracker_address=resourcemanager:8031

整了3天,做个记录,能帮到你少走弯路就好。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-23,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
kafka集群部署 - 利用docker-compose 进行集群部署
使用docker-compose 进行集群部署前需要安装docker-compose
全栈研发知识库
2024/12/11
1.4K0
docker下的spark集群,调整参数榨干硬件
本文是《docker下,极速搭建spark集群(含hdfs集群)》的续篇,前文将spark集群搭建成功并进行了简单的验证,但是存在以下几个小问题:
程序员欣宸
2019/05/29
1.5K0
docker下的spark集群,调整参数榨干硬件
hive-3.1.2安装以及使用tez作为执行引擎指南
3 复制hive-default.xml.template,得到一份hive-site.xml
从大数据到人工智能
2022/01/19
1.9K0
hive-3.1.2安装以及使用tez作为执行引擎指南
Docker 最佳实战:Docker 部署单节点 Apache Kafka 实战
今天分享的内容是 Docker 最佳实战「2024」 系列文档中的 Docker 部署单节点 Apache Kafka 实战。
运维有术
2024/05/28
10.4K0
Docker 最佳实战:Docker 部署单节点 Apache Kafka 实战
大数据Flink进阶(九):集群基础环境搭建
Flink可以运行在所有类unix环境中,例如:Linux,Mac OS 和Windows,一般企业中使用Flink基于的都是Linux环境,后期我们进行Flink搭建和其他框架整合也是基于linux环境,使用的是Centos7.6版本,JDK使用JDK8版本(Hive版本不支持JDK11,所以这里选择JDK8),本小节主要针对Flink集群使用到的基础环境进行配置,不再从零搭建Centos系统,另外对后续整合使用到的技术框架也一并进行搭建,如果你目前已经有对应的基础环境,可以忽略本小节,Linux及各个搭建组件使用版本如下表所示。
Lansonli
2023/03/30
1.3K0
大数据Flink进阶(九):集群基础环境搭建
kafka 可视化 web 工具 kafdrop
第一次运行docker-compose会先下载obsidiandynamics/kafka和obsidiandynamics/kafdrop镜像,随后启动容器。
BUG弄潮儿
2024/06/21
1.7K0
kafka 可视化 web 工具 kafdrop
使用docker-compose创建hadoop集群
下载docker镜像 首先下载需要使用的五个docker镜像 docker pull bde2020/hadoop-namenode:1.1.0-hadoop2.7.1-java8 docker pull bde2020/hadoop-datanode:1.1.0-hadoop2.7.1-java8 docker pull bde2020/hadoop-resourcemanager:1.1.0-hadoop2.7.1-java8 docker pull bde2020/hadoop-historyserv
kongxx
2018/06/22
4.1K1
kafka学习一:docker安装kafka
官网:https://kafka.apache.org/33/documentation.html#quickstart Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
仙士可
2023/02/16
3.5K0
Hadoop端口号全解析:掌握这些端口,轻松驾驭大数据集群,一文读懂常用端口号及其作用!
MapReduce作业的执行情况主要通过YARN ResourceManager的Web UI(即8088端口)来查看。虽然MapReduce本身不直接提供特定的Web UI端口,但其作业的日志和输出通常会存储在HDFS上,因此与HDFS相关的端口(如50070或9870,取决于Hadoop的版本)也可能用于间接地查看MapReduce作业的输出和日志。
小白的大数据之旅
2024/11/20
6310
Hadoop端口号全解析:掌握这些端口,轻松驾驭大数据集群,一文读懂常用端口号及其作用!
Docker安装Kafka(docker-compose)、EFAK监控
1、kafka需要zookeeper管理,所以需要先安装zookeeper。 (PS:2.8版本以后kafka-Kraft 模式不再依赖zk,目前别的很多组件都依赖zk注册,所以还是以zk举例)
鱼找水需要时间
2023/02/16
3.2K0
Docker安装Kafka(docker-compose)、EFAK监控
湖仓一体电商项目(三):3万字带你从头开始搭建12个大数据项目基础组件
​上篇已经大概讲述大数据组件版本和集群矩阵配置说明,有不清楚的同学,可以阅读上一篇
Lansonli
2022/07/31
1.4K0
湖仓一体电商项目(三):3万字带你从头开始搭建12个大数据项目基础组件
大数据常用组件默认端口号
.colspan{ background:#f4f4f4; font-weight: bold;}
张子阳
2018/09/30
2.4K0
基于Docker-compose搭建Redis高可用集群-哨兵模式(Redis-Sentinel)
    我们知道,Redis的集群方案大致有三种:1)redis cluster集群方案;2)master/slave主从方案;3)哨兵模式来进行主从替换以及故障恢复。
用户9127725
2022/08/08
8350
基于Docker-compose搭建Redis高可用集群-哨兵模式(Redis-Sentinel)
docker搭建kafka集群实践
kafka集群使用了3个节点,依赖zookeeper进行协调,所以会同时搭建一套3节点的zookeeper集群。
HUC思梦
2023/03/06
3.5K0
docker搭建kafka集群实践
hive metastore配置kerberos认证
hive从3.0.0开始提供hive metastore单独服务作为像presto、flink、spark等组件的元数据中心。但是默认情况下hive metastore在启动之后是不需要进行认证就可以访问的。所以本文基于大数据组件中流行的kerberos认证方式,对hive metastore进行认证配置。
从大数据到人工智能
2022/01/18
1.3K0
hive metastore配置kerberos认证
Apache Hive 快速入门
本文节选自《Netkiller Database 手札》 CentOS 7.3 + Server JRE 1.8 + Hadoop-2.8.0 + Hive-2.1.1 第 63 章 Apache
netkiller old
2018/03/05
1.1K0
Apache Hive 快速入门
无依赖单机尝鲜 Nebula Exchange 的 SST 导入
本文尝试分享下以最小方式(单机、容器化 Spark、Hadoop、Nebula Graph),快速趟一下 Nebula Exchange 中 SST 写入方式的步骤。本文适用于 v2.5 以上版本的 Nebula- Exchange。
NebulaGraph
2022/03/03
5890
0722-6.2.0-如何在RedHat7.2使用rpm安装CDH(无CM)
在前面的文档中,介绍了在有CM和无CM两种情况下使用rpm方式安装CDH5.10.0,本文档将介绍如何在无CM的情况下使用rpm方式安装CDH6.2.0,与之前安装C5进行对比。
Fayson
2019/11/06
7120
0722-6.2.0-如何在RedHat7.2使用rpm安装CDH(无CM)
(二)Hive在hadoop环境下搭建
vim/opt/bdp/apache-hive-1.2.1-bin/conf/hive-site.xml
wolf
2020/09/20
7400
docker zookeeper kafka kafka-manager 本地hbase hadoop
最近项目需要节约成本进行开发,所以要把docker利用的淋漓尽致,暂时只有一台服务器可用。 规划如下:zookeeper开启三个,kafka开启三个,hbase和hadoop在本地开启,不用docker。 参考:https://www.cnblogs.com/idea360/p/12411859.html 首先服务器上已经有了docker,这里我们使用docker-compose,提高开发效率,首先安装docker-compose:
gzq大数据
2021/03/20
5260
推荐阅读
相关推荐
kafka集群部署 - 利用docker-compose 进行集群部署
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档