Kafka安装时遇到的错误-防火墙

问题描述:

controller服务器不能连接到另外两台kafka服务器,但是telnet却可以通。

 WARN [RequestSendThread controllerId=137] Controller 137's connection to broker 192.168.154.138:9092 (id: 138 rack: null) was unsuccessful (kafka.controller.RequestSendThread)
java.net.SocketTimeoutException: Failed to connect within 30000 ms
        at kafka.controller.RequestSendThread.brokerReady(ControllerChannelManager.scala:272)
        at kafka.controller.RequestSendThread.doWork(ControllerChannelManager.scala:225)
        at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:82)
[2019-09-02 17:30:45,535] WARN [RequestSendThread controllerId=137] Controller 137's connection to broker 192.168.154.139:9092 (id: 139 rack: null) was unsuccessful (kafka.controller.RequestSendThread)
java.net.SocketTimeoutException: Failed to connect within 30000 ms
        at kafka.controller.RequestSendThread.brokerReady(ControllerChannelManager.scala:272)
        at kafka.controller.RequestSendThread.doWork(ControllerChannelManager.scala:225)
        at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:82)
详细问题描述:

服务器环境:
服务器一:192.168.154.137
服务器二:192.168.154.138
服务器三:192.168.154.139
服务器一无法连接服务器二,三,服务器二三无法互联,但可以连接服务器一。
服务器之间可以ping通,但是telnet无法与服务器二三通信。

问题发现:

服务器二三的防火墙没有设置白名单,而服务器一的防火墙已关闭。

解决措施:

一:将二三的防火墙关闭,一劳永逸。

service iptable stop

简单粗暴的同时,安全性略有降低。

二:为二三的防火墙设置白名单,将我们的端口放行。
在设置之前我们需要先了解一下防火墙的配置文件所代表的含义
1、工作机制
iptables在linux内核中涉及的五个位置:

  1. 内核空间中:从一个网络接口进来,到另一个网络接口去的
  2. 数据包从内核流入用户空间的
  3. 数据包从用户空间流出的
  4. 进入/离开本机的外网接口
  5. 进入/离开本机的内网接口

这五个位置也被称为五个钩子函数(hook functions),也叫五个规则链。

  1. PREROUTING (路由前)
  2. INPUT (数据包流入口)
  3. FORWARD (转发管卡)
  4. OUTPUT(数据包出口)
  5. POSTROUTING(路由后)

这是NetFilter规定的五个规则链,任何一个数据包,只要经过本机,必将经过这五个链中的其中一个链。

2、iptables规则写法
iptables定义规则的方式比较复杂:
格式:iptables [-t table] COMMAND chain CRETIRIA -j ACTION

  • -t table :3个filter nat mangle
  • COMMAND:定义如何对规则进行管理
  • chain:指定你接下来的规则到底是在哪个链上操作的,当定义策略的时候,是可以省略的
  • CRETIRIA:指定匹配标准
  • -j ACTION :指定如何进行处理

eg:

 比如:不允许202.110.0.0/24的进行访问。
 iptables -t filter -A INPUT -s 202.110.0.0/16 -p udp --dport 53 -j DROP
 当然你如果想拒绝的更彻底:
 iptables -t filter -R INPUT 1 -s 202.110.0.0/16 -p udp --dport 53 -j REJECT

3、iptables配置文件
iptables配置文件在系统的/etc/sysconfig/目录下,主要记录系统中iptables的规则,下面是定义某些ip为系统可访问白名单的配置,主要是在INPUT (数据包流入口)这个规则下拦截白名单以外的ip进行具体端口的访问:

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2888 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3888 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9092 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

我们在后面为我们的服务追加一个白名单记录,这样子,防火墙就不会阻拦我们了。
最后我们需要对防火墙重启并保存

service iptables restart
service iptables save

最后问题完美解决

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
kafka-connect-transform-kryptonite 是 Kafka Connect 的一个转换器插件。Kafka Connect 是一个可扩展的分布式数据集成工具,可用于在 Apache Kafka 和外部系统之间进行可靠和高效的数据流传输。而 Kafka Connect 转换器是用于对数据进行转换、过滤或处理的插件。 Kafka Connect 是一个开源的分布式数据集成框架,用于连接和处理来自各种数据源的数据,例如数据库、消息队列和文件系统等。它提供了一个统一的、可扩展的架构,允许用户将数据从多个来源导入到 Kafka 中,并将数据导出到多个目标系统。这为数据集成提供了更加灵活和可靠的方式,且能够满足各种实数据处理的需求。 Kafka Connect 的一个关键特性是插件化的架构,使得用户可以根据自己的需求,选择和配置合适的插件。其中,kafka-connect-transform-kryptonite 插件就是其中之一。Kryptonite 可以理解为一种“解除”或“削弱”转换器,它可能采用一些特定的规则或算法,对输入的数据进行加工、转换或过滤。 使用 kafka-connect-transform-kryptonite 插件,我们可以根据具体的业务需求,对 Kafka 中的消息进行处理。例如,我们可以通过 Kryptonite 转换器,将消息中的某些字段进行加密,以保护敏感数据的安全;或者根据一些规则,对消息进行过滤和筛选,只保留我们关心的数据。 总之,kafka-connect-transform-kryptonite 是 Kafka Connect 提供的一个转换器插件,可以用于对数据进行加工、转换和过滤。通过这个插件,我们可以根据业务需求对 Kafka 中的消息进行定制化处理,以满足不同场景下的数据集成和处理需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值