文章目录
- 安装准备
- 系统环境要求和端口
- jdk版本要求
- 安装包
- 磁盘要求
- 安装脚本对系统配置的影响
- 系统配置
- vm.max_map_count 至少为 262144,且设置 vm.overcommit_memory 参数值为 1
- 使用 TongETL 的 Linux 用户需要设置最大文件打开数为 65536
- 用户需要有sodo权限。
- 安装netstat命令
- 创建minio存储目录(仅供参考)
- 安装
- 解压安装包
- 设置安装参数
- 安装 python3
- 安装数据库与中间件服务
- 安装注册中心及系统组件
- 安装元数据组件
- 安装 etl 组件
- 安装运维监控组件
- 启动etl
- 访问etl和nacos
安装准备
系统环境要求和端口
jdk版本要求
另外如果是用普通用户安装的,建议切换成普通用户后,执行以下指令进行配置
vi ~/.bashrc#增加以下内容,其中/opt/jdk1.8.0_411为jdk安装目录
JAVA_HOME=/opt/jdk1.8.0_411
JAVA_BIN=$JAVA_HOME/bin
JRE_HOME=$JAVA_HOME/jre
PATH=$JAVA_BIN:$JRE_BIN:$PATH
export JAVA_HOME JRE_HOME PATH
万一改错了导致一些基本系统指令无法使用,可执行以下指令,然后把之前改错的删掉重新配:
export PATH=/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
安装包
磁盘要求
安装需要创建minio存储目录,从 V3.0 开始,新版 minio(2023-04-13 版)要求各 minio 节点数据存储目录与操作系统根目录(/)挂载在不同分区,且磁盘分区格式为 xfs。
具体可以参考本帖里的“创建minio存储目录”,另外安装的目录磁盘空间不能低于20g。
安装脚本对系统配置的影响
系统配置
vm.max_map_count 至少为 262144,且设置 vm.overcommit_memory 参数值为 1
cat /proc/sys/vm/max_map_count
如果需要修改该值,编辑/etc/sysctl.conf,添加如下内容:
vm.max_map_count=262144
vm.overcommit_memory=1
使用 TongETL 的 Linux 用户需要设置最大文件打开数为 65536
运行如下命令查看最大文件打开数:
ulimit -n
如果需要修改该值,编辑/etc/security/limits.conf,添加如下内容(其中tongetl为本次安装使用的普通用户账号)。
tongetl soft nofile 1048576
tongetl hard nofile 1048576tongetl soft nproc 524288
tongetl hard nproc 524288tongetl soft memlock 65536
tongetl hard memlock 65536
完成修改后重启服务器或重新登录,配置即可生效。
用户需要有sodo权限。
执行以下指令
visudo
输入i进入编辑模式,在最底下增加以下配置(以tongetl用户为例)
tongetl ALL=(ALL) ALL
如果想要跳过密码验证的,可以这样配置:
tongetl ALL=(ALL) NOPASSWD: ALL
安装netstat命令
TongETL 组件要求操作系统安装 netstat 命令,请检查系统是否已安装 netstat 命令。
centos:
sudo yum update
# centos7
sudo yum install -y net-tools
# centos8
sudo dnf install -y net-tools
Ubuntu
sudo apt update
sudo apt install -y net-tools
验证:
netstat -h
如果显示 netstat 的帮助信息,说明安装成功。
如果遇到报错:Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64,说明yum源有问题,centos的可参考如下操作,更换为阿里云的。
cd /etc/yum.repos.d/
mv CentOS-SCLo-scl.repo CentOS-SCLo-scl.repo.bak
mv CentOS-SCLo-scl-rh.repo CentOS-SCLo-scl-rh.repo.bak
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
# 如果无法wget可以直接浏览器下载下来后放进去
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo vim CentOS-SCLo-rh.repo粘贴以下内容:
[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo#之后执行
yum clean all
yum update
yum makecache
其他系统的则咨询对应厂商。
创建minio存储目录(仅供参考)
从 V3.0 开始,新版 minio(2023-04-13 版)要求各 minio 节点数据存储目
录与操作系统根目录(/)挂载在不同分区,且磁盘分区格式为 xfs。
参考Linux Centos系统 磁盘分区和文件系统管理 (深入理解)
最终效果如下:
可以参考如下步骤(千万千万一定要记得做好备份):
- 添加硬盘,首先请确保有可用的硬盘物理连接到系统上。
以下是vm virtualBox的参考:
以下是vmware:
其他的建议跟系统厂商或者服务器厂商确认下如何挂载新的磁盘。
- 确认新硬盘被识别。
使用 lsblk 或 fdisk -l 命令查看系统中的所有硬盘和分区:
找到硬盘设备,例如:“sda”、“sdb”,本例中使用新加硬盘“sdb”进行配置。
执行以下指令:
fdisk /dev/sdb
之后执行
fdisk -l /dev/sdb
mkfs.xfs /dev/sdb1
执行以下指令:
[root@localhost ~]# sudo mkdir /mnt/sdb1
[root@localhost ~]# mount /dev/sdb1 /mnt/sdb1
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 2.9G 0 2.9G 0% /dev
tmpfs 2.9G 0 2.9G 0% /dev/shm
tmpfs 2.9G 8.6M 2.9G 1% /run
tmpfs 2.9G 0 2.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 43G 2.0G 41G 5% /
/dev/sda1 1014M 195M 820M 20% /boot
/dev/mapper/centos-home 21G 33M 21G 1% /home
tmpfs 581M 0 581M 0% /run/user/0
/dev/sdb1 70G 33M 70G 1% /mnt/sdb1
之后设置一下自动挂载,避免每次重启服务器或者虚拟机后系统没有挂载上去(这一步之前记得系统做一下备份):
vi /etc/fstab
# 在最下面放入以下内容,请根据自己的情况写,下面是本帖示范操作
/dev/sdb1 /mnt/sdb1 xfs defaults 0 0
安装
解压安装包
上传安装包到服务器(本次示范/opt/etl),解压安装包,同时解压安装包里的两个压缩包:
cd /opt/
tar -zvxf TongETL_V3.0_x86_20250121.tar.gz
备注:
1.本次使用的是TongETL_V3.0_x86_20250121.tar.gz,如果用的是之前的包,解压之后的目录里会有productxxx.tar.gz和tonginstallxxx.tar.gz,记得解压一下,没有的话则不用。
2.TongETL_V3.0_x86_20250121.tar.gz的tonginstall没有5_ops_master,之前的包有。
设置安装参数
[root@localhost TongETL_V3.0.0.0]# cd /opt/etl/TongETL_V3.0.0.0/tonginstall
[root@localhost tonginstall]# ./install_path.sh
*******************************************
准备创建安装目录...
请输入安装目录的路径,后续产品都会安装到这里 (未输入默认~/tong_etl): /opt/etl/TongETL
安装目录不存在,准备创建安装目录
当前目录剩余空间大于:20G继续安装
安装目录创建成功
安装目录路径为:/opt/etl/TongETL
请输入产品存放目录:/opt/etl/TongETL_V3.0.0.0/product
产品存放目录为:/opt/etl/TongETL_V3.0.0.0/product
请输入当前主机IP地址: 192.168.10.117
请输入当前用户名: root
请输入当前用户密码: yeyehuo163
准备解压third软件包
解压third软件包完成
********************************************
[root@localhost tonginstall]#
备注:
1.产品存放目录为解压后的目录里的product目录。
安装 python3
[root@localhost tonginstall]# cd /opt/etl/TongETL_V3.0.0.0/tonginstall/0_python3_jdk
[root@localhost 0_python3_jdk]# ./install_python.sh
*******************************************
准备安装Python3,正在获取安装目录...
python3安装路径:/opt/etl/TongETL/install_python3
third_path /opt/etl/TongETL_V3.0.0.0/tonginstall
*******************************************
开始安装Python3...
成功进入插件目录
正在解压Python3安装包...
解压完毕安装包...
正在解压pip安装包...
解压完毕安装包...
成功进入pip目录
正在安装pip...
完成pip安装...
*******************************************
正在校验Python安装...
Python3安装成功
*******************************************
[root@localhost 0_python3_jdk]#
安装数据库与中间件服务
cd /opt/etl/TongETL_V3.0.0.0/tonginstall/1_dbs
./install_dbs.sh --miniodatapath=/mnt/sdb1/minio
其中/mnt/sdb1这个目录参考创建minio存储目录这一节内容
期间可能会遇到这个提示(可以忽略,也可以参考以下做法):
另外起一个窗口,执行以下指令看看输出结果跟红色框框的地方是否一致 ,如果一致,输入yes回车。
ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub
看到类似这种提示说明安装成功
安装注册中心及系统组件
cd /opt/etl/TongETL_V3.0.0.0/tonginstall/2_systems
./install_systems.sh
安装元数据组件
cd /opt/etl/TongETL_V3.0.0.0/tonginstall/3_meta
./install_meta.sh
安装 etl 组件
cd /opt/etl/TongETL_V3.0.0.0/tonginstall/4_etl
./install_etl.sh
安装运维监控组件
如果是TongETL_V3.0_x86_20250121.tar.gz这个安装包,可直接跳过(这个之前的包才有5_ops_master)。
cd /opt/etl/TongETL_V3.0.0.0/tonginstall/5_ops_master
./install_ops_master.sh
启动etl
cd /opt/TongETL_V3.0_x86/tonginstall
./start.sh
启动完成后,执行另一个脚本,确认是否端口都正常启动
[tongetl@localhost tonginstall]$ ./port_check.sh
安装路径为: /opt/etl3.0/tong_etl
检查进程: "rdb/bin/mysqld_safe"
mysql端口 15800 正常运行。
检查通过,mysql正常运行!
---------------------------------------------------
检查进程: "rds/bin/tongrds-server"
redis端口 15600 正常运行。
检查通过,redis正常运行!
---------------------------------------------------
检查进程: "kafka.Kafka"
kafka端口 15500 正常运行。
kafka端口 15510 正常运行。
kafka端口 15520 正常运行。
检查通过,kafka正常运行!
---------------------------------------------------
检查进程: "bin/minio"
minio端口 17701 正常运行。
检查通过,minio正常运行!
---------------------------------------------------
检查进程: "nacos-server.jar"
nacos端口 15390 正常运行。
检查通过,nacos正常运行!
---------------------------------------------------
检查进程: "lb/bin/sbin/nginx"
nginx端口 80 正常运行。
检查通过,nginx正常运行!
---------------------------------------------------
检查进程: "auth-[0-9\.]\+\.jar"
auth端口 15370 正常运行。
检查通过,auth正常运行!
---------------------------------------------------
检查进程: "gateway-[0-9\.]\+\.jar"
gateway端口 15380 正常运行。
检查通过,gateway正常运行!
---------------------------------------------------
检查进程: "admin-[0-9\.]\+\.jar"
admin端口 15360 正常运行。
检查通过,admin正常运行!
---------------------------------------------------
检查进程: "flow-[0-9\.]\+\.jar"
flow端口 15400 正常运行。
检查通过,flow正常运行!
---------------------------------------------------
检查进程: "system-[0-9\.]\+\.jar"
system端口 15310 正常运行。
检查通过,system正常运行!
---------------------------------------------------
检查进程: "taskorch-[0-9\.]\+\.jar"
taskorch端口 15300 正常运行。
检查通过,taskorch正常运行!
---------------------------------------------------
检查进程: "bin/meta-[0-9\.]\+\.jar"
meta端口 15350 正常运行。
检查通过,meta正常运行!
---------------------------------------------------
检查进程: "meta-rt-[0-9\.]\+\.jar"
meta-rt端口 17200 正常运行。
检查通过,meta-rt正常运行!
---------------------------------------------------
检查进程: "dev-[0-9\.]\+\.jar"
etl端口 15340 正常运行。
检查通过,etl正常运行!
---------------------------------------------------
检查进程: "dbsvc-rt-[0-9\.]\+\.jar"
dbsvc-rt端口 19400 正常运行。
检查通过,dbsvc-rt正常运行!
备注:
1.旧的包里有的没有./start.sh,可以先用./restart.sh
2.如果用./port_check.sh 发现有哪个没启动成功的,可以到对应组件的目录,检查日志,单独启动这个组件有没有问题,例如我在安装的时候遇到过的这种情况:
检查进程: "system-[0-9\.]\+\.jar"
警告:system端口 15310 异常!
检查失败,system异常!
当时重启了虚拟机后忘记防火墙没关,到etl的安装目录(我设置了/opt/etl
3.0/tong_etl,也就是设置安装参数的那一节的第一步),先./stop.sh再./start.sh,到logs目录查看日志才知道,后来关了防火墙重新单独启动这个组件就可以了。
访问etl和nacos
其中etl控制台访问url:
http://服务器ip:15371
账号:admin
密码:Tong#1234
nacos:
http://192.168.10.122:15390/nacos
账号:nacos
密码:Tong@1234
如下图所示,10个服务为正常的。