1 环境准备

主机 配置说明
物理配置 cpu 4核以上,内存4GB以上,磁盘100GB以上
操作系统 LINUX(centos7)
网络 数据交换服务器,需要和需要共享数据的数据库、大数据平台之间,网络设备畅通。如果存在网络不畅通情况下,必须通过前置机畅通,通过前置机跳转实现数据交换服务。

2 环境检查

2.1 防火墙服务检查

检查防火墙是否启动:
systemctl status firewalld.service
停止防火墙服务:
systemctl stop firewalld.service
禁用防火墙开机启动服务:
systemctl disable firewalld.service

2.2 主机环境确认

检查是否安装过zcbus的server模式:
docker ps
  • 注意:client模式安装适配新主机安装,如果安装过server模式,不能使用client再次安装,否则会重构docker-compose.yml,进而导致kafka、zookeeper、zcbusdb等容器清理

3 安装模式说明

双节点对应环境:
1节点:192.168.2.31
2节点:192。168.2.33
主机环境:192.168.2.56

1节点安装时,参考client普通安装模式,参考文档:http://docs.zbomc.com/docs/zcbusv2/clientputong
2节点安装,请参考下文

4 client模式下2节点安装步骤

1.复制安装目录(以下命令未默认安装目录复制,如安装目录为手动指定,请根据现实修改)
默认安装目录复制命令:cp -r /data/docker02 /data/docker03

2.复制zcbus_docker文件并修改

zcbus_docker03为2节点的zcbus_docker程序,文件名称可自定义,文件内容需要修改目录和port两项参数,将所有目录/data/docker02修改成/data/docker03,port改为8898或其他空闲端口,以下为修改后示例:
[root@zcbustest ~]# cp /etc/init.d/zcbus_docker zcbus_docker03
[root@zcbustest ~]# cat /etc/init.d/zcbus_docker03 
#!/bin/sh
# chkconfig: 2345 10 90 
# description: zcbus_docker....

export ZCBUS_HOME=/data/docker03
export LD_LIBRARY_PATH=/data/docker03/module/lib/zc_lib/clickhouse:/data/docker03/module/lib/zc_lib/common:/data/docker03/module/lib/zc_lib/dameng:/data/docker03/module/lib/zc_lib/db2:/data/docker03/module/lib/zc_lib/dirty:/data/docker03/module/lib/zc_lib/hana:/data/docker03/module/lib/zc_lib/highgo:/data/docker03/module/lib/zc_lib/informixlib:/data/docker03/module/lib/zc_lib/kafka:/data/docker03/module/lib/zc_lib/kylin:/data/docker03/module/lib/zc_lib/mongodb:/data/docker03/module/lib/zc_lib/mysql:/data/docker03/module/lib/zc_lib/oceanbase:/data/docker03/module/lib/zc_lib/odbc_ob:/data/docker03/module/lib/zc_lib/opengauss:/data/docker03/module/lib/zc_lib/oracle:/data/docker03/module/lib/zc_lib/os:/data/docker03/module/lib/zc_lib/postgresql:/data/docker03/module/lib/zc_lib/rabbitmq:/data/docker03/module/lib/zc_lib/redis:/data/docker03/module/lib/zc_lib/sundb
export ZC_DOCKER_SERVER_PORT=8898
export ZC_IPADDRESS=192.168.2.56
export PATH=/data/docker03/../bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

start() {
    ${ZCBUS_HOME}/bin/zcbus_docker -log_level 2 
    docker-compose -f ${ZCBUS_HOME}/yaml/docker-compose.yml  up -d
}

stop() {
  echo "zcbus_docker is Stopping ..."
  spids=`ps -ef|grep ${ZCBUS_HOME}/bin|grep zcbus_docker|grep -v grep|grep -v tail|awk '{print $2}'`
  for spid in ${spids}
  do
    echo "kill -9 ${spid}..."
    kill -9 ${spid}
  done
  echo "zcbus_docker is Finished ..."
}

status(){
    flag=`ps -ef|grep ${ZCBUS_HOME}/bin|grep zcbus_docker|grep -v grep|grep -v status|grep -v tail|wc -l`
    if [ $flag -eq 0 ];then
       echo "zcbus_docker is not running !!!"
    else
       echo "zcbus_docker is running ..."
    fi
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    ;;
  status)
    status 
    ;;
  *)
echo $"Usage: $0 {start|stop|restart|reload|status}"
exit 1
esac

3.修改/data/docker03参数文件

1.修改/data/docker03/commom/.zcbus.common文件,删除文件中的--remove-orphans内容,否则在启动2节点时会默认删除掉1节点的容器,删除命令:sed -i 's/--remove-orphans//g' /data/docker03/common/.zcbus.common
注:docker02中也需要修改此文件,修改命令:sed -i 's/--remove-orphans//g' /data/docker02/common/.zcbus.common

2.修改/data/docker03/common/zcbus.properties文件,其中修改参数:ZC_DATA_HOME=/data/docker03(2节点安装目录),ZC_DOCKER_SERVER_PORT=8898(zcbus_docker端口),ZC_CACHE_TYPE=zcbus_cache(数据缓存方式),ZC_CACHE_SERVER=192.168.2.33:6600(数据缓存地址),ZC_NET_DB_SERVER_HOST=zcbusnet03(2节点zcbusnet名字),ZC_DB_IPPORT=192.168.2.33:33060(2节点数据库连接地址),ZC_NODE_IPS=192.168.2.33(2节点IP地址)
文件参考:
[root@zcbustest common]# cat /data/docker03/common/zcbus.properties 
####################################################################
## Copyright(c) ZCBUS Corporation 2022. All rights reserved.      ##
##                                                                ##
## Specify values for the variables listed below to customize     ##
## your installation.                                             ##
##                                                                ##
## Each variable is associated with a comment. The comment        ##
## can help to populate the variables with the appropriate        ##
## values.                                                        ##
##                                                                ##
## IMPORTANT NOTE: This file should be secured to have read       ##
## permission only by the zcbus user or an administrator who      ##
## own this installation to protect any sensitive input values.   ##
##                                                                ##
####################################################################


#-------------------------------------------------------------------------------
# Specify the installation option.
# Specify ZCBUS INSTALL home ,for storage docker's cache and images 
#-------------------------------------------------------------------------------
ZC_DATA_HOME=/data/docker03

#-------------------------------------------------------------------------------
# Specify the installation option.
# Specify ZCBUS'S docker basic home ,for storage docker's cache and images 
#-------------------------------------------------------------------------------
ZC_DOCKER_HOME=/data/docker

#-------------------------------------------------------------------------------
# Specify the installation option.
# Specify docker's username
#-------------------------------------------------------------------------------
ZC_DOCKER_USER=zcbus

#-------------------------------------------------------------------------------
# Specify a location to install ZCBUS'S TYPE ,Only support cloud_client 
#-------------------------------------------------------------------------------
ZC_TYPE=client

#-------------------------------------------------------------------------------
# Specify a docker's listener port
#-------------------------------------------------------------------------------
ZC_DOCKER_SERVER_PORT=8898

#-------------------------------------------------------------------------------
# Zcbus client remote location API service URL connection service
#-------------------------------------------------------------------------------
ZC_CUSTOMER_URL=http://v2.zbomc.com

#-------------------------------------------------------------------------------
# Parameter set to zcbus_cache/zcbus_kafka
# zcbus_cache is zcbus's mq  for zcbus single mode
# kafka_cache is kafka or zcbus cluster mode
#-------------------------------------------------------------------------------
ZC_CACHE_TYPE=zcbus_cache

#-------------------------------------------------------------------------------
# Remote receiving zcbus data stream port service
#-------------------------------------------------------------------------------
ZC_CACHE_SERVER=192.168.2.33:6600

#-------------------------------------------------------------------------------
# Remote receiving zcbus data resource port service
# dbtype/user/pwd is allow change ,linked to ZC_DB_IPPORT
#-------------------------------------------------------------------------------
#ZC_NET_DB_SERVER_TYPE=postgresql
ZC_NET_DB_SERVER_TYPE=mysql
ZC_NET_DB_SERVER_DBNAME=zcbus
ZC_NET_DB_SERVER_HOST=zcbusnet03
ZC_NET_DB_SERVER_PORT=33060
ZC_NET_DB_SERVER_USER=QFlYT0k6
ZC_NET_DB_SERVER_PWD=e0twWGp8aVtWfGB8dn9YdTo
ZC_NET_DB_SERVER_ID=2
ZC_INSTALL_MODE=0

#-------------------------------------------------------------------------------
# Remote receiving zcbus data resource port service,include master and slave's ip
#-------------------------------------------------------------------------------
ZC_DB_IPPORT=192.168.2.33:33060

#-------------------------------------------------------------------------------
# Remote zcbus'services nodes ip
#-------------------------------------------------------------------------------
ZC_NODE_IPS=192.168.2.33

#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# Remote install zcbus type integrate/external
#-------------------------------------------------------------------------------
ZC_METHOD=integrate

#-------------------------------------------------------------------------------
# Remote install zcbus include database docker 
# 0 is equal ZC_METHOD's integrate mode,all server include docker,and other is external mode
# 1 is include zcbusvue/zcbusrestapi
# 2 is include zcbusvue/zcbusrestapi,zcbusdb
# 3 is include zcbusvue/zcbusrestapi,zcbuskafka/zcbuszookeeper
#-------------------------------------------------------------------------------
ZC_SERV_LOCALTION=0

#-------------------------------------------------------------------------------
# for ZCBUS COM CODE default 1
#-------------------------------------------------------------------------------
ZC_COM_CODE=1

#-------------------------------------------------------------------------------
# Parameter set to http/https  ,default http
#-------------------------------------------------------------------------------
ZC_HTTP_MODE=http

#-------------------------------------------------------------------------------
# Parameter set to 1, Kafka uses Sasl authentication, set to 0, no authentication method
#-------------------------------------------------------------------------------
ZC_CACHE_SASL=0

#-------------------------------------------------------------------------------
# if add zcbus's default container :1 is add container,0 is not add container
#-------------------------------------------------------------------------------
ZC_IF_ADD_DEFAULT_ZCBUS=1

#------------------------------------------------------------------------------
#- for check data file limit
#------------------------------------------------------------------------------
ZC_DATA_DIR_LIMIT=10G

#------------------------------------------------------------------------------
#- for check docker limit
#------------------------------------------------------------------------------
ZC_DOCKER_DIR_LIMIT=5G

#-------------------------------------------------------------------------------
# for ZCBUS use memory min limit set, Suggest setting the minimum value 4GB
#-------------------------------------------------------------------------------
ZC_MEMORY_LIMIT=0G

#-------------------------------------------------------------------------------
# for ZCBUS use proxy connect to zcbusnet,0 is not set 
#-------------------------------------------------------------------------------
ZC_NET_PROXY=0
ZC_NET_PROXY_PORT=3311
ZC_NET_PROXY_USER=QFkKCzo
ZC_NET_PROXY_PWD=QFkKC2p6SUlNCkheOg
ZC_NET_PROXY_POOL=128
ZC_NET_PROXY_PROCESS=1

3.修改/data/docker03/common/zcbus.yml文件中docker文件存放地址,data_dir: /data/docker03
文件内容参考:
[root@zcbustest common]# cat /data/docker03/common/zcbus.yml 
#
data_dir: /data/docker03
# database
zcbusdb:
  image: reg.zbomc.com/zcbus_mysql:v2.0.1
  database: "zcbus"
  dbhost: zcbusnet
  dbport: 3306
  db_external_port: 3306
  dbuser: QFlYT0k6
  dbpwd: 'e0twWGp8aVtWfGB8dn9YdTo'

zcbuscache:
  image: reg.zbomc.com/zcbus_cache:v2.0.1

zcbusnet:
  image: reg.zbomc.com/zcbus_server:v2.0.1
  zcbus_localdbip: zcbusnet:33060
  zcbus_remotedbip: 172.17.58.146:3306
  zcbus_dbpwd: QFhVV1k6
  zcbus_dbuser: CBx5Awp5Cw1AaWJPbB5kbjo
  net_port : 33060

zcbusjob:
  image: reg.zbomc.com/zcbus_job:v2.0.1

zcbusvue:
  image: reg.zbomc.com/zcbus_vue:v2.0.1
  vue_port: 8890

zcbusstorage:
  image: reg.zbomc.com/zcbus_storage:v2.0.1
  storage_port: 9030

zcbusrestapi:
  image: reg.zbomc.com/zcbus_restapi:v2.0.1

zcbusserver:
  image: reg.zbomc.com/zcbus_server:v2.0.1
  ENV:
    LANG: C.UTF-8

zcbusloki:
  image: reg.zbomc.com/zcbus_loki:v2.0.1
  loki_port: 8891

zcbuspromtail:
  image: reg.zbomc.com/zcbus_promtail:v2.0.1

zcbusgrafana:
  image: reg.zbomc.com/grafana:v2.0.1
  grafana_port: 8892

zcbusinfluxdb:
  image: reg.zbomc.com/influxdb:v2.0.1
  influxdb_port: 8086
  influxdb_api: 8088
# kafka
zcbuskafka:
  image: reg.zbomc.com/zcbus_kafka:v2.0.1
  kfk_port: 9092

zcbuszookeeper:
  image: reg.zbomc.com/zcbus_zookeeper:v2.0.1
  zk_port: 2181

zcbusnetwork:
  zk_net: zcbus

4.修改/data/docker03/config/zcbus_docker.ini文件中数据库连接信息,根据实际情况修改
文件参考:
[root@zcbustest config]# cat /data/docker03/config/zcbus_docker.ini 
db_type=mysql
zcbus_host=192.168.2.33
zcbus_port=33060
zcbus_db=zcbus
zcbus_user=QFlYT0k6
zcbus_password=e0twWGp8aVtWfGB8dn9YdTo

5.修改/data/docker03/yaml/docker-compose.yml文件,仅保留zcbusnet容器即可,注意修改内容为容器名称、映射端口、docker网络(需要新建docker网络,新建命令:docker network create zcbus03)
文件参考:
[root@zcbustest ~]# vim /data/docker03/yaml/docker-compose.yml
networks:
  default:
    external: true
    name: zcbus03
services:
  zcbusnet03:
    container_name: zcbusnet03
    environment:
      MODE: net
      ZCBUS_LOCALIP: zcbusnet03:33061
      ZCBUS_MACHINE_CODE: 198E4D56-F23F-7636-B4B3-7F6B1287AE7A
      ZCBUS_NODEIPS: 192.168.2.33
      ZCBUS_REMOTEIP: 192.168.2.33:33061
      ZC_IPADDRESS: 192.168.2.56
      database: zcbus
      db_type: mysql
      dbhost: zcbusnet03
      dbport: 33061
      dbpwd: e0twWGp8aVtWfGB8dn9YdTo
      dbuser: QFlYT0k6
    image: reg.zbomc.com/zcbus_server:v2.0.1
    ports:
    - 33061:33061
    privileged: true
    restart: always
    volumes:
    - /data/docker03/zcbusdata/zcbusserver/bin:/usr/local/zcbus/bin
    - /data/docker03/zcbusdata/zcbusserver/lib:/usr/local/zcbus/lib
    - /data/docker03/zcbusdata/zcbusserver/zcbus/log:/usr/local/zcbus/log
    - /data/docker03/zcbusdata/zcbusserver/jdk:/usr/local/zcbus/jdk
    - /data/docker03/zcbusdata/zcbusserver/jar:/usr/local/zcbus/jar
version: '2'

6.启动进程
启动zcbusnet03容器:
[root@zcbustest ~]# cd /data/docker03/yaml/
[root@zcbustest yaml]# docker-compose up -d
启动zcbus_docker03程序
[root@zcbustest init.d]# cd /etc/init.d/
[root@zcbustest init.d]# ./zcbus_docker03 start

5 安装完成后进程检查

检查zcbusnet03容器:

检查zcbus_docker03程序

文档更新时间: 2025-02-14 18:03   作者:liyue