ZCBUS实时数据交换平台标准版部署

一、软件部署

1.1 安装环境要求
内容要求
操作系统版本Redhat Linux 7或Centos 7及以上
防火墙关闭
seLinux关闭
硬件资源磁盘:缓存目录建议同步数据库大小的 70%以上 处理器:8c以上 内存:16G以上
1.2 上传安装包
# 安装包列表
kafka.tar.gz
mysql-5.7.36-1.el7.x86_64.rpm-bundle.tar
nginx-1.21.6.tar.gz
vue.tar.gz
zcbus.tar.gz
zcbus_db.sql
1.3 安装zookeeper+kafka
# 进入到软件解压目录(以实际解压路径为主,此处为演示路径)
cd /zcbus/
sudo tar xvf kafka.tar.gz 

# 修改zookeeper.properties(/zcbus/kafka/config目录下)
  dataDir=/zcbus/kafka/data/zookeeper #指定zookeeper数据路径
  clientPort=2181  #指定 zookeeper端口

# 修改server.properties(/zcbus/kafka/config目录下)
  broker.id=0    #每个broker的唯一id
  listeners=PLAINTEXT://0.0.0.0:9092  #指定端口
  advertised.listeners=PLAINTEXT://192.168.71.153:9092 #指定IP和端口
  advertised.host.name=192.168.71.153   #指定IP
  log.dirs=/zcbus/kafka/data/kafka-logs  #指定kafka数据路径
1.4 安装MySQL
# 进入到软件解压目录(以实际解压路径为主,此处为演示路径)
cd /zcbus/mysql
sudo tar xvf mysql-5.7.36-1.el7.x86_64.rpm-bundle.tar

# 卸载自带的mariadb
查看mariadb版本: rpm -qa|grep mariadb
强制卸载命令:rpm -ev --nodeps mariadb-libs-5.5.68-1.el7.x86_64

# 安装MySQL
sudo rpm -ivh --force --nodeps mysql-community-*

#启动mysql服务
sudo service mysqld start

#查找mysql初始密码
sudo cat /var/log/mysqld.log | grep password

#修改初始密码
mysql> alter user 'root'@'localhost' identified by "1qaz!QAZ";
mysql> flush privileges; 

#修改mysql配置文件
Sudo service mysqld stop
cd /etc
sudo vi my.cnf

datadir=/var/lib/mysql 
socket=/var/lib/mysql/mysql.sock

character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
user=mysql
#skip-grant-tables
log_timestamps=SYSTEM
character_set_server=utf8
character_set_filesystem=utf8
collation-server=utf8_general_ci
init-connect='SET NAMES utf8'
init_connect='SET collation_connection=utf8_general_ci'
max_connections=1000
net_read_timeout=9000
net_write_timeout=9000
connect_timeout=6000
default-time-zone='+8:00'
skip-character-set-client-handshake
expire_logs_days=7
log-bin=my-bin
server-id=1
innodb_flush_log_at_trx_commit=2
enforce-gtid-consistency=1
gtid-mode=ON
lower_case_table_names=1

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

#启动mysql
sudo service mysqld start

#导入数据库
sudo mysql -uroot -p
mysql> create database zcbus;
mysql> use zcbus
mysql> source /zcbus/zcbus_db.sql

#创建数据库用户
Mysql> create user 'zcbus'@'%' identified by '1qaz!QAZ';
Mysql> grant all privileges on *.* TO zcbus@'%';
1.5 安装Nginx
# 进入到软件解压目录(以实际解压路径为主,此处为演示路径)
cd /zcbus
sudo tar zxvf nginx-1.21.6.tar.gz
sudo mv nginx-1.21.6 nginx

#安装nginx
cd /zcbus/nginx
sudo chmod -R 755 /zcbus/nginx
sudo ./configure --with-http_stub_status_module --with-http_ssl_module
sudo make
sudo make install

#创建目录
sudo mkdir /var/log/nginx/
cd /zcbus/nginx/html
sudo mkdir vue

#软件所需文件复制到vue目录中,并解压
sudo tar zxvf vue.tar.gz

#创建新的nginx配置文件(具体目录信息依据实际环境)
cd /zcbus/nginx/conf
sudo vi nginx.conf
user  root;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/log/nginx/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /zcbus/nginx/conf/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /zcbus/nginx/access.log  main;
    server_tokens   off;
    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

limit_conn_zone $binary_remote_addr zone=conn_zone:50m;
server {
    listen       8890;
    server_name  _;

    #charset koi8-r;
    access_log  /zcbus/nginx/host.access.log  main;
    error_log  /zcbus/nginx/error.log  error;

    # 限制请求体的大小,若超过所设定的大小,返回413错误。
    client_max_body_size    100M;
    client_body_buffer_size 256k;
    # 读取请求头的大小,若超长,返回431错误。
    # 请求行+请求头的标准大小为256k
    client_header_buffer_size 128k;
    # 请求行+请求头的最大大小为6m
    # 请求头(request header)中的每一个头部字段的大小不能超过6m
    large_client_header_buffers 4 1m; 
    # 读取请求头的超时时间,若超过所设定的大小,返回408错误。
    client_header_timeout   300s; 
    # 读取请求实体的超时时间,若超过所设定的大小,返回413错误。
    client_body_timeout     300s; 
    # http请求无法立即被容器(tomcat, netty等)处理,被放在nginx的待处理池中等待被处理。此参数为等待的最长时间,默认为60秒,官方推荐最长不要超过75秒。
    proxy_connect_timeout   300s; 
    # http请求被容器(tomcat, netty等)处理后,nginx会等待处理结果,也就是容器返回的response。此参数即为服务器响应时间,默认60秒。
    proxy_read_timeout      300s; 
    # http请求被服务器处理完后,把数据传返回给Nginx的用时,默认60秒。
    proxy_send_timeout      300s;

    location / {
        limit_conn conn_zone 10;
        limit_rate 80k;
        root   /zcbus/nginx/html/vue;
        index  index.htm index.htm;
        try_files $uri $uri/ /index.html;
    }

    location ~* ^/(doc.html|webjar|api|swagger-resources|swagger-resources|v2/api-docs) {
        proxy_pass http://127.0.0.1:7080;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host                           $host;
        proxy_set_header X-Real-IP                      $remote_addr;
        proxy_set_header X-Forwarded-For                $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto              $scheme;
        proxy_redirect                                  off;
       }

    error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /zcbus/nginx/html;
    }
}
}

#启动nginx方法
/usr/local/nginx/sbin/nginx -c /zcbus/nginx/conf/nginx.conf 
(如果配置没有问题,启动完成后,可以访问IP:PORT前端页面,也可能过PS -EF | GREP NGINX查看)

#停止nginx命令
killall nginx
1.6 安装zcbus
# 进入到软件解压目录(以实际解压路径为主,此处为演示路径)
cd /zcbus
sudo tar zxvf zcbus.tar.gz

#添加操作用户(根据现场情况做实际修改)
sudo useradd zcbus
sudo passwd zcbus

#切换至zcbus用户操作
su - zcbus

#修改目录属组
cd /zcbus/zcbus
sudo chown -R zcbus.zcbus /zcbus/zcbus

#修改环境变量(根据现场情况做实际修改)
vi profile

#!/bin/bash
#export NLS_LANG=american_america.zhs16gbk
export NLS_LANG=american_america.AL32UTF8
export ZCBUS_CLUSTERID=0
export ZCBUS_CONTAINER=zcbus
export ZCBUS_HOME=/opt/zcbus/zcbus
export ZCBUS_CACHE_PATH=${ZCBUS_HOME}/cache
export JAVA_HOME=/opt/zcbus/zcbus/jdk
export JRE_HOME=${ZCBUS_HOME}/jdk/jre
export PATH=${PATH}:${ZCBUS_HOME}/bin:${JAVA_HOME}/bin:${ZCBUS_HOME}/scripts
export IQDIR16="${ZCBUS_HOME}/lib/IQ-16_1"
export LD_LIBRARY_PATH="${ZCBUS_HOME}/lib/zc_lib/:${IQDIR16}/lib64"
export FREETDSCONF=${ZCBUS_HOME}/config/freetds.conf

#zfl:./soft/sql/zcbus.sql:20201007
db_url="192.168.182.6"
zookeeper_url="192.168.182.6:2181"
kafka_url="192.168.182.6:9092"

#修改数据库连接配置文件
vi config/zcbus_master.ini

clusterid=0
zcbus_host=192.168.71.153
zcbus_port=3306
zcbus_user=QFlYT0k6
zcbus_password=C0tbQBtre2A6
zcbus_db=zcbus

#配置api服务
sudo vi start_restapi.sh

export JAVA_HOME=/zcbus/zcbus/jdk
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
export NGINX_VERSION=1.21.6
export NJS_VERSION=0.7.3
export TZ=Asia/Shanghai
export SPRING_PROFILE=prod
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
#export DB_USER_PWD=ENC\(C0tbQBtre2A6\)
#export DB_USER_NAME=ENC\(QFlYT0k6\)
export DB_HOST=192.168.71.153
export DB_PORT=3306
export DB_NAME=zcbus
export DB_USER_NAME=ENC\(QFlYT0k6\)
export DB_USER_PWD=ENC\(C0tbQBtre2A6\)
ZCBUS_CUSTOMER_SIG=10435||f8911f94-1866-4fft-80fd-11t4ff94f654||http://v2.zbomc.com||8911f94-1866-4fft-80fd-11t4ff94f654

java -Dspring.profiles.active=${SPRING_PROFILE} -jar databus-api-1.0.0.jar

二、启动复制服务

服务启动有顺序要求,请严格遵守;
服务启动方式,日志存放目录,日志名称遵循现场生产环境配置而定!

2.1 启动mysql服务
sudo service mysqld start
2.2 启动zookeeper服务
cd /zcbus/kafka/
sudo sh sz.sh

#服务日志查看
sudo tail -f /zcbus/kafka/zookeeper.log
2.3 启动kafka服务
cd /zcbus/kafka/
sudo sh ss.sh

#服务日志查看
sudo tail -f /zcbus/kafka/kafka.log
2.4 启动nginx服务
  • 注:使用zcbus账号执行
#启动nginx服务
sudo /usr/local/nginx/sbin/nginx -c /zcbus/nginx/conf/nginx.conf 

#服务日志查看
tail -f /usr/local/nginx/logs/error.log
tail -f  /zcbus/nginx/host.access.log
2.5 启动api服务
  • 注:使用zcbus账号执行
#创建api服务日志文件存放路径
cd /zcbus/
sudo mkdir logs
sudo chown zcbus:zcbus logs
#启动api服务
cd /zcbus/zcbus
nohup sh start_restapi.sh  > restapi.log 2>&1 &

#服务日志查看
tail -f restapi.log
2.6 启动zcbus服务
  • 注:使用zcbus账号执行
cd /zcbus/zcbus/scripts
. ../profile
./start_container.sh
#验证进程状态
./check.sh

三、关闭复制服务

3.1 关闭zcbus服务
  • 注:使用zcbus账号执行
#停止zcbus进程
cd /zcbus/zcbus/scripts
. ../profile
./stop_container.sh
#验证进程状态
./check.sh
3.2 关闭mysql服务
sudo service mysqld stop
3.3 关闭zookeeper+kafka服务
cd /zcbus/kafka
./stop.sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值