如何使用自动缩放组在 AWS 上部署 Kafka 连接器
How to deploy Kafka connector on AWS with auto-scale group
看起来如果我们想在分布式模式下设置 Kafka 连接器,我们需要在 CONNECT_REST_ADVERTISED_HOST_NAME 上有一个唯一的主机名。但是,如果我们使用自动缩放组在 AWS 上部署连接器,则没有已知的主机名,不确定如何进行设置?
您可以使用预创建 EC2 实例中的以下步骤实现此方案。
1。配置rest.advertised.host.name
属性connect-distributed.properties
文件
rest.advertised.host.name=hostname
2。创建 kafka-connect.service
个文件
nano /etc/systemd/system/kafka-connect.service
[Unit]
Description=Kakfka-connect
After=network.target
[Service]
User=ubuntu
Group=ubuntu
Environmet="KAFKA_HEAP_OPTS=-Xmx4G -Xms2G"
Environment="KAFKA_OPTS=-javaagent:/home/ubuntu/prometheus/jmx_prometheus_javaagent-0.16.1.jar=8080:/home/ubuntu/prometheus/kafka-connect.yml"
ExecStart=/home/ubuntu/kafka/kafka_2.13-2.7.0/bin/connect-distributed.sh /home/ubuntu/config/connect-distributed.properties
[Install]
WantedBy=multi-user.target
3。现在拍摄此 EC2 实例卷的快照。
4。创建启动配置
使用快照作为卷。并使用以下用户数据。
#!/bin/bash
apt-get update
apt-get -y upgrade
sed -i "s/hostname/$(hostname -I)/g" /home/ubuntu/config/connect-distributed.properties
systemctl start kafka-connect
systemctl enable kafka-connect
当新实例从 Auto-scaling 组启动时,sed 命令将用实例的私有 IP 替换 rest.advertised.host.name
的 connect-distributed.properties 文件中的 'hostname' 字符串。
看起来如果我们想在分布式模式下设置 Kafka 连接器,我们需要在 CONNECT_REST_ADVERTISED_HOST_NAME 上有一个唯一的主机名。但是,如果我们使用自动缩放组在 AWS 上部署连接器,则没有已知的主机名,不确定如何进行设置?
您可以使用预创建 EC2 实例中的以下步骤实现此方案。
1。配置rest.advertised.host.name
属性connect-distributed.properties
文件
rest.advertised.host.name=hostname
2。创建 kafka-connect.service
个文件
nano /etc/systemd/system/kafka-connect.service
[Unit]
Description=Kakfka-connect
After=network.target
[Service]
User=ubuntu
Group=ubuntu
Environmet="KAFKA_HEAP_OPTS=-Xmx4G -Xms2G"
Environment="KAFKA_OPTS=-javaagent:/home/ubuntu/prometheus/jmx_prometheus_javaagent-0.16.1.jar=8080:/home/ubuntu/prometheus/kafka-connect.yml"
ExecStart=/home/ubuntu/kafka/kafka_2.13-2.7.0/bin/connect-distributed.sh /home/ubuntu/config/connect-distributed.properties
[Install]
WantedBy=multi-user.target
3。现在拍摄此 EC2 实例卷的快照。
4。创建启动配置
使用快照作为卷。并使用以下用户数据。
#!/bin/bash
apt-get update
apt-get -y upgrade
sed -i "s/hostname/$(hostname -I)/g" /home/ubuntu/config/connect-distributed.properties
systemctl start kafka-connect
systemctl enable kafka-connect
当新实例从 Auto-scaling 组启动时,sed 命令将用实例的私有 IP 替换 rest.advertised.host.name
的 connect-distributed.properties 文件中的 'hostname' 字符串。