Hi guys,
I am trying to create a MemSQL pipeline to Kafka broker in another AWS region. I used the public IP of my kafka broker to create the pipeline, but it fails with error indicating it can not connect to the private DNS of my EC2 machine where the broker is installed:
Create Pipeline Command:
CREATE PIPELINE sales_date_kafka
AS LOAD DATA KAFKA ‘[PUBLIC_IP]:9092/sales_data’ INTO TABLE sales
FIELDS TERMINATED BY “,” (Region,Country,Item_Type,Sales_Channel,Order_Priority ,Order_Date,Order_ID,Ship_Date,Units_Sold,Unit_Price,Unit_Cost,Total_Revenue,Total_Cost,Total_Profit);
Error Message:
ERROR 1970 (HY000): Subprocess timed out. Truncated stderr:
%3|1542413852.475|FAIL|rdkafka#consumer-1| ip-[PRIVATE_IP].ap-southeast-2.compute.internal:9092/0: Failed to resolve ‘ip-[PRIVATE_IP].ap-southeast-2.compute.internal:9092’: Name or service not known
%3|1542413852.475|ERROR|rdkafka#consumer-1| ip-[PRIVATE_IP].ap-southeast-2.compute.internal:9092/0: Failed to resolve ‘ip-[PRIVATE_IP].ap-southeast-2.compute.internal:9092’: Name or service not known
It seems like somehow the create pipeline translates the public IP to private DNS and fails to connect to it, since the memsql machine and kafka broker are in different regions and therefore can’t see each other’s private DNS/IP.
Has anyone else seen this behaviour? Any suggestions on how to get it work?
Thanks for your help in advance.