51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

【安装部署】DataEase 集群部署踩坑及解决方法

1 前言 {#1-%E5%89%8D%E8%A8%80}

随着 DataEase 每月版本迭代,吸引了越来越多的用户体验功能,大量用户不单单提出了优化建议,也提出部署方案的优化。

从一开始只有一种部署方案那就是本地模式,后来衍变出三种部署方案:精简模式,本地模式,集群模式。

本篇文章详细说明集群部署中的重要组件遇到的问题以及解决方案。

2 MySQL 部署 {#2-mysql-%E9%83%A8%E7%BD%B2}

2.1 安装报错:Public key for mysql-community-libs-compat-5.7.37-1.el7.x86_64.rpm is not installed {#2.1-%E5%AE%89%E8%A3%85%E6%8A%A5%E9%94%99%EF%BC%9Apublic-key-for-mysql-community-libs-compat-5.7.37-1.el7.x86_64.rpm-is-not-installed}

install-mysqlserver报错

报错原因:MySQL 的 GPG 升级了,需要重新获取。

解决方法:

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

#再重新执行
------


`yum install mysql-server
`

2.2 查看状态报错:Slave_IO_Running:Connecting {#2.2-%E6%9F%A5%E7%9C%8B%E7%8A%B6%E6%80%81%E6%8A%A5%E9%94%99%EF%BC%9Aslave_io_running%EF%BC%9Aconnecting}

image-1650510122934

报错原因:

  1. 网络不通。
  2. 防火墙端口未开放。

解决方法:

  1. 网络不通:用ping指令尝试是否可以接收到返回的数据。
  2. 开放指定端口号。

2.3 执行命令报错:依赖检测失败 {#2.3-%E6%89%A7%E8%A1%8C%E5%91%BD%E4%BB%A4%E6%8A%A5%E9%94%99%EF%BC%9A%E4%BE%9D%E8%B5%96%E6%A3%80%E6%B5%8B%E5%A4%B1%E8%B4%A5}

2c84d340d313113c7274ef32ed74a01

报错原因:检查到依赖之间的关系不符合标准

解决方法:直接跳过检查依赖关系,并且强制安装

#原命令
rpm -ivh mysql-community-libs-5.7.12-1.el6.x86_64.rpm
#新命令,去除检查
rpm -ivh mysql-community-libs-5.7.12-1.el6.x86_64.rpm --force --nodeps

2.4 启动 MySQL 失败,报错 Failed to start SYSV:MySQL database server... {#2.4-%E5%90%AF%E5%8A%A8-mysql-%E5%A4%B1%E8%B4%A5%EF%BC%8C%E6%8A%A5%E9%94%99-failed-to-start-sysv%EF%BC%9Amysql-database-server%E2%80%A6}

image
报错原因:未创建启动文件夹与未授权

解决方法:

mkdir -p /var/run/mysqld/
chown mysql.mysql /var/run/mysqld/

image-1651808550076

3 Redis 部署 {#3-redis-%E9%83%A8%E7%BD%B2}

3.1 部署报错:-bash: docker-compose: command not found {#3.1-%E9%83%A8%E7%BD%B2%E6%8A%A5%E9%94%99%EF%BC%9A-bash%3A-docker-compose%3A-command-not-found}

报错原因:没有安装 docker-compose 程序。

解决方法:

 #先检查是否已有 pip3
pip3 -V 

#安装 pip3
yum -y install epel-release
yum -y install python3-pip


#升级 pip
pip3 install --upgrade pip -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

`#安装 Docker-Compose:
pip3 install docker-compose -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
`

3.2 部署报错:docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory')) {#3.2-%E9%83%A8%E7%BD%B2%E6%8A%A5%E9%94%99%EF%BC%9Adocker.errors.dockerexception%3A-error-while-fetching-server-api-version%3A-(%E2%80%98connection-aborted.%E2%80%99%2C-filenotfounderror(2%2C-%E2%80%98no-such-file-or-directory%E2%80%99))}

报错原因: Docker 没有启动或者 Docker 没有安装。

解决方法:

#启动 Docker
systemctl start docker

#查看 docker 进程
ps -ef \| grep docker

`#执行
docker-compose up -d
`

#安装 Docker
wget https://download.docker.com/linux/static/stable/x86_64/docker-18.06.3-ce.tgz &&  tar -zxvf docker-18.06.3-ce.tgz &&  cp docker/* /usr/bin/

#在/etc/systemd/system/目录下新增docker.service文件,内容如下,这样可以将docker注册为service服务
vi  /etc/systemd/system/docker.service

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
  
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd --selinux-enabled=false --insecure-registry=127.0.0.1
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
  
[Install]
WantedBy=multi-user.target

#授权 Docker 服务并且启动
chmod +x /etc/systemd/system/docker.service && systemctl daemon-reload  && systemctl start docker && systemctl enable docker.service &&  systemctl status docker

4 Kettle 部署 {#4-kettle-%E9%83%A8%E7%BD%B2}

4.1 执行 Mount a 命令报错:mount.nsf Connection Refused {#4.1-%E6%89%A7%E8%A1%8C-mount-a-%E5%91%BD%E4%BB%A4%E6%8A%A5%E9%94%99%EF%BC%9Amount.nsf-connection-refused}

7e7e68c235a0fee618ecf3514a7562e
报错原因:端口不通,无法连接 NFS 服务端的 111 端口和 2049 端口。

解决方法:
关闭 NFS 防火墙或者防火墙开启并且映射出 111 与 2049 端口。

#查看防火状态
systemctl status firewalld
service  iptables status

#暂时关闭防火墙
systemctl stop firewalld
service  iptables stop

`#永久关闭防火墙
systemctl disable firewalld
chkconfig iptables off
`

5 Keepalived 部署 {#5-keepalived-%E9%83%A8%E7%BD%B2}

5.1 部署报错:ERROR: cannot verify www.keepalived.org's certificate, issued by '/C=US/O=Let's Encrypt/CN=R3':Issued certificate has expired. To connect to www.keepalived.org insecurely, use `--no-check-certificate' {#5.1-%E9%83%A8%E7%BD%B2%E6%8A%A5%E9%94%99%EF%BC%9Aerror%3A-cannot-verify-www.keepalived.org%E2%80%99s-certificate%2C-issued-by-%E2%80%98%2Fc%3Dus%2Fo%3Dlet%E2%80%99s-encrypt%2Fcn%3Dr3%E2%80%99%3Aissued-certificate-has-expired.-to-connect-to-www.keepalived.org-insecurely%2C-use-%60%E2%80%93no-check-certificate%E2%80%99}

报错原因:进行对 https 站点的请求要检查相关证书。

解决方法:

#跳过证书检测
yum install -y ca-certificates
赞(0)
未经允许不得转载:工具盒子 » 【安装部署】DataEase 集群部署踩坑及解决方法