inlong(应龙)学习之docker-compose部署

发布于:2023-01-04 ⋅ 阅读:(658) ⋅ 点赞:(0)

历时两天折腾,inlong终于启动成功

 

 


分析一下文档

inlong地址Apache Inlong | Apache Inlong

中文地址 InLong 简介 | Apache Inlong

刚开始参照文档里面得快速开始,

先下载对应得jar包,刚开始我下了1.1.0的,

解压 apache-inlong-1.1.0-incubating-src.tar.gz

gzip -d apache-inlong-1.1.0-incubating-src.tar.gz

解压出来之后,是个tar文件,继续解压

tar -xvf apache-inlong-1.1.0-incubating-src.tar

因为我想用docker启动,就按照文档上说的命令进行编译

总是报错,死活没成功 

然后我采用了Dockers部署的方式

 按照上面说的先下载对应jar包,安装之前要准备docker环境,

 由于对docker-compose也不是特别熟,就先学先卖,

docker环境还是比较容易的

需要安装的是docker-compose环境,

参照链接centos 7.9 在线安装docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

 

此处如果是国内的云服务器,等待时间比较长

下载之后,执行

sudo chmod +x /usr/local/bin/docker-compose

测试安装

docker-compose -version

 会出现类似这样的提示,安装成功

docker-compose version 1.29.2, build 5becea4c

接下来按照文档是需要配置docker/docker-compose/docker-compose.yml

 问题一:出来了,找不到这个docker-compose.yml

 查找了一下whereis docker-compose.yml

 在/usr/local/bin这个目录底下有一个,但是打开是乱码的

于是只能从解压后的代码中找找

最后在解压后的代码中找到了一个

 第一个问题解决了

问题二:根据 Flink 集群地址替换 docker/docker-compose/docker-compose.yml 中的 FLINK_HOST 和 FLINK_PORT 环境变量

这个怎么配呢,又开始百度参照docker-compose搭建flink

 

version: "2.1"
services:
  jobmanager:
    image: flink
    expose:
      - "6123"
    ports:
      - "8081:8081"
    command: jobmanager
    environment:
      - JOB_MANAGER_RPC_ADDRESS=jobmanager
 
  taskmanager:
    image: flink
    expose:
      - "6121"
      - "6122"
    depends_on:
      - jobmanager
    command: taskmanager
    links:
      - "jobmanager:jobmanager"
    environment:
      - JOB_MANAGER_RPC_ADDRESS=jobmanager

需要在docker-compose.yml,里面追加这个flink

最终docker-compose.yml

#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
version: '3.5'

services:
  mysql:
    image: mysql:8.0.28
    container_name: mysql
    ports:
      - "33066:3306"
    environment:
      - MYSQL_ROOT_PASSWORD=inlong
    healthcheck:
      test: "/usr/bin/mysql --user=root --password=inlong --execute \"SHOW DATABASES;\""
      timeout: 20s
      interval: 2s
      retries: 10
    volumes:
      - ./mysql:/var/lib/mysql
      - ./sql:/docker-entrypoint-initdb.d

  pulsar:
    image: apachepulsar/pulsar:2.8.2
    container_name: pulsar
    ports:
      - "6650:6650"
    volumes:
      - ./pulsar/data:/pulsar/data
    command: bin/pulsar standalone

  manager:
    image: inlong/manager:1.2.0-incubating
    container_name: manager
    depends_on:
      mysql:
        condition: service_healthy
    ports:
      - "8083:8083"
    environment:
      - JDBC_URL=mysql:3306
      - USERNAME=root
      - PASSWORD=inlong
      - ZK_URL=tubemq-server:2181

  webisite:
    image: inlong/dashboard:1.2.0-incubating
    container_name: dashboard
    depends_on:
      - manager
    ports:
      - "80:80"
    environment:
      - MANAGER_API_ADDRESS=manager:8083

  dataproxy:
    image: inlong/dataproxy:1.2.0-incubating
    container_name: dataproxy
    depends_on:
      - manager
    ports:
      - "46801:46801"
    environment:
      - MANAGER_OPENAPI_IP=manager
      - MANAGER_OPENAPI_PORT=8083
      - AUDIT_PROXY_URL=audit:10081

  agent:
    image: inlong/agent:1.2.0-incubating
    container_name: agent
    depends_on:
      - manager
      - dataproxy
    environment:
      - MANAGER_OPENAPI_IP=manager
      - MANAGER_OPENAPI_PORT=8083
      - DATAPROXY_IP=dataproxy
      - DATAPROXY_PORT=46801
      - AUDIT_PROXY_URL=audit:10081
    ports:
      - "8008:8008"
    volumes:
      - ./collect-data:/data/collect-data

  audit:
    image: inlong/audit:1.2.0-incubating
    container_name: audit
    depends_on:
      mysql:
        condition: service_healthy
    environment:
      - JDBC_URL=mysql:3306
      - USERNAME=root
      - PASSWORD=inlong
      - PULSAR_BROKER_LIST=pulsar:6650
    ports:
      - "10081:10081"
  jobmanager:
    image: flink
    expose:
      - "6123"
    ports:
      - "8081:8081"
    command: jobmanager
    environment:
      - JOB_MANAGER_RPC_ADDRESS=jobmanager
 
  taskmanager:
    image: flink
    expose:
      - "6121"
      - "6122"
    depends_on:
      - jobmanager
    command: taskmanager
    links:
      - "jobmanager:jobmanager"
    environment:
      - JOB_MANAGER_RPC_ADDRESS=jobmanager

注意mysql端口,默认是3306:3306,我的3306被占用,所以改了一下

文档坑的地方,按照文档应该进行到第三步编译了

 编译这里给了个链接,让参考如何编译的那一步,就到了,我上面刚开始说的,耗时的地方,又编译不通过的地方,

这里应直接跳过,执行部署这一步

 进入到安装好的docker-compose的目录,默认安装的地方是/usr/local/bin

执行命令,

docker-compose up -d

等待漫长的过程之后,就可以访问了,直接访问ip

就成功了,明天开始研究里面的流程

还没有研究单应用部署,后续再研究,在此记录一下耗时地方, 先快速启动起来,研究一下里面的流程,,网上文档不是很多,只能看文档,以供大家参考


网站公告

今日签到

点亮在社区的每一天
去签到