1. 硬件环境检查
在安装ETL工具之前,必须对服务器的硬件环境进行全面检查,确保满足ETL工具的最低要求。更多学习教程www.fgedu.net.cn
# free -h
total used free shared buff/cache available
Mem: 32G 2.1G 28G 8.5M 1.8G 29G
Swap: 16G 0B 16G
# 检查磁盘空间
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 16G 0 16G 0% /dev
tmpfs 16G 0 16G 0% /dev/shm
tmpfs 16G 8.5M 16G 1% /run
tmpfs 16G 0 16G 0% /sys/fs/cgroup
/dev/sda1 50G 15G 36G 30% /
/dev/sdb1 500G 20G 480G 4% /data
# 检查CPU核心数
# nproc
8
# 检查系统架构
# uname -m
x86_64
2. 操作系统检查
ETL工具支持RHEL 7.3+、RHEL 8.0+、RHEL 9.0+等操作系统。本文以RHEL 9为例。学习交流加群风哥微信: itpux-com
# cat /etc/redhat-release
Red Hat Enterprise Linux release 9.0 (Plow)
# 检查内核版本
# uname -r
5.14.0-70.22.1.el9_0.x86_64
# 检查SELinux状态
# getenforce
Disabled
# 关闭SELinux(如未关闭)
# vi /etc/selinux/config
SELINUX=disabled
# 检查防火墙状态
# systemctl status firewalld
# 开放ETL工具相关端口
# firewall-cmd –permanent –add-port=8080/tcp
# firewall-cmd –permanent –add-port=8443/tcp
# firewall-cmd –reload
3. 安装准备
在安装ETL工具之前,需要进行一系列准备工作,包括安装Java、配置网络等。
# dnf install -y java-1.8.0-openjdk-devel
# 检查Java版本
# java -version
openjdk version “1.8.0_382”
OpenJDK Runtime Environment (build 1.8.0_382-b05)
OpenJDK 64-Bit Server VM (build 25.382-b05, mixed mode)
# 安装Python
# dnf install -y python3 python3-pip python3-devel
# 检查Python版本
# python3 –version
Python 3.9.10
# 安装必要的依赖
# dnf install -y wget tar gcc-c++
# 创建安装目录
# mkdir -p /opt/etl
4. etl软件安装
现在开始安装ETL工具,包括Apache NiFi、Apache Airflow和Talend Open Studio。
4.1 安装Apache NiFi
# wget https://archive.apache.org/dist/nifi/1.16.3/nifi-1.16.3-bin.tar.gz
# 解压安装
# tar -xzvf nifi-1.16.3-bin.tar.gz
# mv nifi-1.16.3 /opt/etl/nifi
# 配置环境变量
# vi /etc/profile.d/nifi.sh
export NIFI_HOME=/opt/etl/nifi
export PATH=$PATH:$NIFI_HOME/bin
# 使环境变量生效
# source /etc/profile
# 启动NiFi
# $NIFI_HOME/bin/nifi.sh start
4.2 安装Apache Airflow
# pip3 install apache-airflow==2.3.4
# 初始化Airflow数据库
# airflow db init
# 创建Airflow用户
# airflow users create –username admin –password admin –firstname Admin –lastname User –role Admin –email admin@example.com
# 启动Airflow Web服务器
# airflow webserver –port 8080 -D
# 启动Airflow调度器
# airflow scheduler -D
4.3 安装Talend Open Studio
# wget https://www.talend.com/download/talend-open-studio-for-data-integration/
# 解压安装
# tar -xzvf Talend-Open-Studio-*-linux64.tar.gz
# mv Talend-Open-Studio-* /opt/etl/talend
# 启动Talend
# /opt/etl/talend/TOS_DI-*/TOS_DI-linux-gtk-x86_64
5. 数据库配置
配置ETL工具的核心配置文件。
# vi /opt/etl/nifi/conf/nifi.properties
# 设置端口
nifi.web.http.port=8080
nifi.web.https.port=
nifi.web.http.host=0.0.0.0
# 设置JVM参数
# vi /opt/etl/nifi/bin/nifi-env.sh
export NIFI_JVM_OPTS=”-Xms4g -Xmx8g -XX:+UseG1GC”
# 设置NiFi开机自启
# vi /etc/systemd/system/nifi.service
[Unit]
Description=Apache NiFi
After=network.target
[Service]
Type=forking
Environment=NIFI_HOME=/opt/etl/nifi
ExecStart=/opt/etl/nifi/bin/nifi.sh start
ExecStop=/opt/etl/nifi/bin/nifi.sh stop
Restart=on-failure
[Install]
WantedBy=multi-user.target
# 启用服务
# systemctl daemon-reload
# systemctl enable nifi
# systemctl start nifi
# vi ~/airflow/airflow.cfg
# 修改配置
executor = CeleryExecutor
parallelism = 32
dag_concurrency = 16
max_active_runs_per_dag = 16
# 配置Celery broker
broker_url = redis://localhost:6379/0
result_backend = redis://localhost:6379/0
6. 测试验证
启动ETL工具并验证功能正常。学习交流加群风哥QQ113257174
# curl http://localhost:8080/nifi
# 验证Airflow
# curl http://localhost:8080
# 运行测试DAG
# airflow dags test example_bash_operator $(date +%Y-%m-%d)
# 检查NiFi服务状态
# $NIFI_HOME/bin/nifi.sh status
# 检查Airflow服务状态
# ps aux | grep airflow
7. 备份配置
配置ETL工具备份策略,确保数据安全。
# mkdir -p /backup/etl
# 备份NiFi配置和数据
# cp -r /opt/etl/nifi/conf /backup/etl/
# cp -r /opt/etl/nifi/data /backup/etl/
# 备份Airflow配置和数据
# cp -r ~/airflow /backup/etl/
# 配置自动备份
# 创建备份脚本
# vi /root/backup_etl.sh
#!/bin/bash
DATE=$(date +%Y%m%d)
BACKUP_DIR=”/backup/etl/$DATE”
# 创建备份目录
mkdir -p $BACKUP_DIR
# 备份NiFi配置和数据
cp -r /opt/etl/nifi/conf $BACKUP_DIR/
cp -r /opt/etl/nifi/data $BACKUP_DIR/
# 备份Airflow配置和数据
cp -r ~/airflow $BACKUP_DIR/
# 备份Airflow数据库
# pg_dump -U airflow -d airflow > $BACKUP_DIR/airflow_db_backup.sql
# 给脚本添加执行权限
# chmod +x /root/backup_etl.sh
# 添加到crontab
# crontab -e
# 添加以下内容(每天凌晨2点执行备份)
0 2 * * * /root/backup_etl.sh
8. 升级迁移
ETL工具的升级和迁移过程。
# 1. 备份配置和数据
# /root/backup_etl.sh
# 2. 停止NiFi服务
# systemctl stop nifi
# 3. 下载新版本
# wget https://archive.apache.org/dist/nifi/1.17.0/nifi-1.17.0-bin.tar.gz
# 4. 解压安装包
# tar -xzvf nifi-1.17.0-bin.tar.gz
# mv /opt/etl/nifi /opt/etl/nifi-old
# mv nifi-1.17.0 /opt/etl/nifi
# 5. 复制配置文件
# cp -r /opt/etl/nifi-old/conf/* /opt/etl/nifi/conf/
# cp -r /opt/etl/nifi-old/data/* /opt/etl/nifi/data/
# 6. 启动NiFi服务
# systemctl start nifi
# 7. 验证升级结果
# $NIFI_HOME/bin/nifi.sh status
# 1. 停止Airflow服务
# pkill -f airflow
# 2. 备份配置
# cp -r ~/airflow /opt/airflow-backup
# 3. 升级Airflow
# pip3 install –upgrade apache-airflow==2.3.4
# 4. 升级数据库
# airflow db upgrade
# 5. 重启Airflow服务
# airflow webserver –port 8080 -D
# airflow scheduler -D
# 从旧系统迁移到新系统
# 1. NiFi流程迁移
# 在NiFi Web UI中,选择流程,点击”Export to Template”
# 下载模板文件
# 在新NiFi实例的Web UI中,点击”Upload Template”
# 选择下载的模板文件并上传
# 从模板创建流程
# 2. Airflow DAG迁移
# 复制DAG文件
# scp -r user@old-server:~/airflow/dags/* ~/airflow/dags/
# 复制配置文件
# scp user@old-server:~/airflow/airflow.cfg ~/airflow/
# 重启Airflow服务
# pkill -f airflow
# airflow webserver –port 8080 -D
# airflow scheduler -D
9. 总结
本文详细介绍了ETL工具 for RHEL 9的安装、配置、升级和迁移过程。通过按照本文的步骤操作,可以成功部署ETL工具并确保其稳定运行。from:www.itpux.com
– 定期备份ETL工具配置和数据,建议每天执行一次全备份
– 监控ETL工具性能,定期检查服务状态和日志
– 定期更新ETL工具版本,确保系统安全性和性能
– 合理规划ETL工具存储,避免空间不足
– 配置合适的参数,优化ETL工具性能
– 对于生产环境,建议部署高可用架构,提高可用性和可靠性
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
