试用Equalum的FS功能!(准备篇)
我之前介绍了一种使用高级CDC技术Eualum,并巧妙利用Kafka等技术实现了”Exactly Once”支持等功能的无代码数据管道创建和管理解决方案,但这次我想进行一项有些“低调”,但却非常稳健的验证,即利用文件系统功能收集CSV文件并自动流式传输,然后在指定的数据库上创建聚合表。
首先從準備環境開始…
虽然可以直接将CSV文件发送到Equalum的文件系统中,但实际情况下可能会定期且大量地写入细分的CSV文件。因此,我希望尝试将实际数据发送到外部服务器,并通过NFS进行读取和处理。
在验证环境中,我们将使用多台虚拟机(操作系统为CentOS7),从MBP上的Python生成和验证CSV文件,并自动传输到验证环境节点。此外,由于这是一个非常私人限定的环境,希望您能理解目前没有像“防火墙”之类的安全措施存在。
首先,对于与nfs环境相关的节点进行设置。本次操作将在Equalum试用环境的节点和用于CDC测试的MySQL节点上进行。
# yum -y install nfs-utils
在MySQL节点上创建一个目录,将实体发送到该目录中。我们在/var目录下创建了一个名为csv的目录。
# mkdir /var/csv
接下来,我们将描述用于公开此目录的设置。
# vi /etc/exports
公開する相手側の情報を記述します
/var/csv xxx.xxx.xxx.0/24 (rw,no_root_squash,async)
启动MySQL节点侧的相关服务。
# systemctl start rpcbind
# systemctl start nfs
我会将其设置为下一次及以后自动启动。
# systemctl enable rpcbind
# systemctl enable nfs
我会检查是否能够顺利启动。
# systemctl status rpcbind
● rpcbind.service - RPC bind service
Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; enabled; vendor preset: enabled)
Active: active (running) since 月 2020-02-03 22:21:22 JST; 41s ago
Main PID: 1711 (rpcbind)
CGroup: /system.slice/rpcbind.service
mq1711 /sbin/rpcbind -w
2月 03 22:21:22 cent77-01 systemd[1]: Starting RPC bind service...
2月 03 22:21:22 cent77-01 systemd[1]: Started RPC bind service.
# systemctl status nfs
● nfs-server.service - NFS server and services
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled)
Drop-In: /run/systemd/generator/nfs-server.service.d
mqorder-with-mounts.conf
Active: active (exited) since 月 2020-02-03 22:21:30 JST; 41s ago
Main PID: 1751 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/nfs-server.service
2月 03 22:21:29 cent77-01 systemd[1]: Starting NFS server and services...
2月 03 22:21:30 cent77-01 systemd[1]: Started NFS server and services.
以同样的步骤准备Equalum节点。
在Equalum节点上创建并挂载用于FS连接的目录。尽管我们这次只是用基于命令的方法处理,但是如果在/etc/fstab中写好了,下次启动后也可以使用。
# mkdir /var/csv
# mount -v -t nfs xxx.xxx.xxx.xxx:/var/csv /var/csv
# vi /etc/fstab
この行を追加(xxx.xxx.xxx.xxxはサーバ側のIPで今回はMySQLが動いているノード)
xxx.xxx.xxx.xxx:/var/csv /var/csv nfs rw,auto 0 0
看起来MySQL节点的目录已与其他部分成功地进行了协调。
这次的总结
這次,我們緊急進行了用於驗證環境的NFS配置。由於防火牆已被關閉,在實際大多數情況下,我認為需要進行”這一區域的設置工作”,請根據需要進行相應的工作。
下一步,我们将使用Python编写一个用于创建本次验证所需CSV文件的工具。