问题:使用 lua-resty-kafka 向 kafka 发送数据失败,报错如下:

slave6 could not be resolved (: Host not found)

配置信息:

lua-resty-kafka 配置

        local broker_list = {
{ host = "xxx.0.0.1", port = },
{ host = "xxx.0.0.2", port = },
{ host = "xxx.0.0.3", port = },
{ host = "xxx.0.0.4", port = },
}
local topic = "test"
local message = "test"
local p = kafka_producer:new(broker_list)
local offset, err = p:send(topic, "key", message)
ngx.say(err)
ngx.say(tonumber(offset))

slave6 为远程 kafka 集群中的一台机器的 hostname

查看 kafka 配置文件 /usr/local/kafka_2.10-0.8.1.1/config/server.properties

产生问题的原因(瞎猜):

nginx 按照 broker_list 中的地址与 kafka 建连,kafka 返回给 nginx 上报的主机名,nginx 不能解析该主机名,因此报错。

解决办法有两种:

1. 在 kafka 中将  advertised.host.name 配置修改为 外网地址,与 broker_list 中的地址相对应。

具体原理参见这篇博客http://tech.lede.com/2017/06/29/rd/server/kafkaClient081/

2. 使本机可以识别远程 kafka 的hostname

在 lua-resty-kafka  所在机器的 /etc/hosts 添加 slave6 的记录。

添加后仍然不能生效,nginx 没有用 hosts 解析 slave6 ,解决办法:

  1)nginx 增加 本地 DNS server

   resolver 114.114.114.114 127.0.0.1;

  2) 安装并启用 Dnsmasq

  参见 http://www.cnblogs.com/DillGao/p/7372014.html

lua-resty-kafka erro xxxx could not be resolved (3: Host not found)的更多相关文章

  1. nginx lua集成kafka

    NGINX lua集成kafka 第一步:进入opresty目录 [root@node03 openresty]# cd /export/servers/openresty/ [root@node03 ...

  2. LUA+resty 搭建验证码服务器

    使用Lua和OpenResty搭建验证码服务器 雨客 2016-04-08 16:38:11 浏览2525 评论0 云数据库Redis版 摘要: Lua下有个Lua-GD图形库,通过简单的Lua语句就 ...

  3. lua resty template && openresty 使用

    1. 安装 luarocks install lua-resty-template 2. 使用   配置模板页面位置     有多种方式:   a.  直接使用root 目录     代码如下:    ...

  4. MySQL [Warning]: IP address 'xxxx' could not be resolved: Name or service not known

    MySQL的error log 出现大量的 DNS反解析错误. DNS解析是指,将 域名解析成ip地址: DNS反解析是指,将IP地址反解析成域名: Version: MySQL Community ...

  5. Eclipse错误提示: Symbol 'xxxx' could not be resolved

    在eclipse中安装maven(网上资源):https://zhinan.sogou.com/guide/detail/?id=1610049267 项目名 右键->configure-> ...

  6. openresty+lua+kafka方案与Tomcat接口并发度对比分析

    1.openresty+lua+kafka 1.1 openresty+lua+kafka方案 之前的项目基于nginx反向代理后转发到Tomcat的API接口进行业务处理,然后将json数据打入ka ...

  7. nginx+lua+kafka 编写 在线日志上报系统

    案例一 rewrite_by_lua ' --引入openresty自带的json处理对象 local cjson = require("cjson") local produce ...

  8. 【原创】运维基础之OpenResty(Nginx+Lua)+Kafka

    使用docker部署 1 下载 # wget https://github.com/doujiang24/lua-resty-kafka/archive/v0.06.tar.gz# tar xvf v ...

  9. openresty + lua 4、openresty kafka

    kafka 官网: https://kafka.apache.org/quickstart zookeeper 官网:https://zookeeper.apache.org/ kafka 运行需要 ...

随机推荐

  1. javascript 输入框监听事件

    <div class="coupon-exchange clearfix"> <div class="code-input"> < ...

  2. R语言parse函数与eval函数的字符串转命令行及执行操作

    parse()函数能将字符串转换为表达式expression:eval()函数能对表达式求解 A <- : B <- 'print(A)' class(B) C <- parse(t ...

  3. 95-基于FMC接口的2路CameraLink Base输出子卡模块

    基于FMC接口的2路CameraLink Base输出子卡模块 1.板卡概述 FMC连接器是一种高速多pin的互连器件,广泛应用于板卡对接的设备中,特别是在xilinx公司的所有开发板中都使用.该Ca ...

  4. 内置json&pickle&shelve&xml

    序列化:把对象(变量)从内存中变成可存储可传输的过程称之为序列化,Python中叫做pickling,其他语言中也被称之为serialization,marshalling,flattening等等 ...

  5. Floyd Cycle Detection

    Floyd判圈算法能在O(n)时间复杂度内判断迭代函数或链表中是否有环,并求出环的长度与起点 判断环存在 通常采用快慢指针的方式来判断环是否存在 从绿色起点G开始,快指针每次走2步,慢指针每次走1步, ...

  6. java 分页对象以及数据库分页查询

    import java.util.List; public class Pager<T> { private Integer pageSize; private Integer total ...

  7. PHP简单的爬虫–原型

    1.PHP简单的爬虫–原型 爬虫的原理: 给定原始的url: 分析链接,根据设置的正则表达式获取链接中的内容: 有的会更新原始的url再进行分析链接,获取特定内容,周而复始. 将获取的内容保存在数据库 ...

  8. git-bash.exe参数

    baidu搜了很多, 没有结果.估计大家都没有这个场景.google了一下, 几篇非常不错的结果: https://superuser.com/questions/1104567/how-can-i- ...

  9. postman实现Base64加密

    1.新建一个Collection 2.新建一个request 3.新增一个环境变量(全局变量也可以) 4.在variable中填入需要加密的变量名称,比如password 5.在body中填好参数,需 ...

  10. NOIP2016 D2T1 组合数问题

    洛谷P2822 数学真重要啊…… 其实解这一题的关键就是组合恒等式:C(n,m)=C(n-1,m)+C(n-1,m-1),然后再知道组合数的矩阵(杨辉三角)和题中n,m的关系就很容易解决了(然而做这题 ...