问题:使用 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. Netty入门搭建

    什么是Netty Netty 是一个基于 JAVA NIO 类库的异步通信框架,它的架构特点是:异步非阻塞.基于事件驱动.高性能.高可靠性和高可定制性. 为什么选择netty而不是使用NIO 1.使用 ...

  2. document.getElementsByTagName()方法的返回值

    在阅读<JS DOM 编程一书>一书时,看到getElementByTagName函数返回值为数组,然后自己验证了下,发现不是数组,而是一个可遍历的HTMLCollection对象 HTM ...

  3. Django之cookie 和session

    ---恢复内容开始--- 一.cookie 前戏.cookie 的由来 由于http协议是无状态的 无法记录用户状态 cookie就是保存在客户端浏览器上的键值对 工作原理:当你登陆成功之后 浏览器会 ...

  4. jvm 堆

    1.堆内存线程共享,在虚拟机启动时创建. 2.几乎所有的对象实例都在堆上分配:栈中存放基本数据类型和堆中对象的引用. GC回收 程序计数器.虚拟机栈.本地方法栈随线程而生,随线程而灭.栈中的栈帧随着方 ...

  5. 排序二叉树、平衡二叉树、红黑树、B+树

    一.排序二叉树(Binary Sort Tree,BST树) 二叉排序树,又叫二叉搜索树.有序二叉树(ordered binary tree)或排序二叉树(sorted binary tree). 1 ...

  6. Python---Tkinter---贪吃蛇(稳定的外部环境,稳定的内心)

    # 项目分析: - 构成: - 蛇 Snake - 食物 Food - 世界 World - 蛇和食物属于整个世界 class World: self.snake self.food - 上面代码不太 ...

  7. 【SaltStack官方版】—— job management

    JOB MANAGEMENT New in version 0.9.7. Since Salt executes jobs running on many systems, Salt needs to ...

  8. Ldap 从入门到放弃(一)

    OpenLDAP 2.4版本 快速入门 本文内容是自己通过官网文档.网络和相关书籍学习和理解并整理成文档,其中有错误或者疑问请在文章下方留言. 一.Introduction to OpenLDAP D ...

  9. 【NOIP2013模拟联考6】选课

    题目 你真的认为选课是那么容易的事吗?HYSBZ的ZY同志告诉你,原来选课也会让人产生一种想要回到火星的感觉.假设你的一周有n天,那么ZY编写的选课系统就会给你n堂课.但是该系统不允许在星期i和星期i ...

  10. 解决使用脚手架构建项目缺失node_modules文件夹文件问题

    昨晚,在教我前端交流群里面的朋友搭建vue开发环境和构建vue项目的时候发现我自己之前能正常构建vue项目的现在却不行了,排查之下发现 通过脚手架构建项目的时候项目缺失了node_modules文件夹 ...