问题:使用 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. css厂商前缀

    在vue中写css,不要加厂商前缀,vue-cli会在打包时自动生成

  2. 3.css3中多个背景图片的用法

    (background-clip裁剪,background-position位置,background-origin定位,background-repeat是否重复) <!DOCTYPE htm ...

  3. webpack output的path publicPath

    path是用来定义入口文件保存的地址,而publicPath是定义非入口文件需要抽离保存的第三方文件的保存地址 vue-cli 中HtmlWebpackPlugin生成html,都会存在path路径上 ...

  4. java中构造器(Constructor)

    大部分内容转自:http://tech.it168.com/j/2006-05-18/200605181021879.shtml        构造器是一个创建对象时被自动调用的特殊方法,为的是初始化 ...

  5. Java web项目 本地配置https调试

    一.创建密匙 网上有很多教程,就不在此赘述了. 假设最后生成的密匙为tomcat.keystore 密码为123456. 二.配置tomcat 首先,将密匙移到tomcat下根目录下. 进入conf文 ...

  6. Linux--shell函数--08

    1.函数介绍 为了避免代码的重复使用,我们一般通过函数编写代码块,而这一个代码块用来实现某种功能:且这个功能在后面的代码中会重复使用. 2.函数的语法格式: [ function ] 函数名 [ ( ...

  7. LVS集群的ipvsadm命令用法

    准备一台Linux服务器,安装ipvsadm软件包,练习使用ipvsadm命令,实现如下功能: - 使用命令添加基于TCP一些的集群服务 - 在集群中添加若干台后端真实服务器 - 实现同一客户端访问, ...

  8. Python实现IP地址归属地查询

    一.使用淘宝IP地址库查询 使用淘宝的Rest API,可以快速查询IP地址的归属地: 图00-淘宝IP地址库RestAPI使用说明 图01-使用淘宝免费IP地址库-查询IP归属地 存在问题:淘宝的免 ...

  9. nginx 安装 thinkphp5 配置

    nginx.conf server { listen ; server_name s.huailaixx.com; charset utf-; location ~ \.php { root /dat ...

  10. Python小技巧:使用*解包和itertools.product()求笛卡尔积(转)

    leetcode上做提示时候看到有高人用这个方法解题 [问题] 目前有一字符串s = "['a', 'b'],['c', 'd']",想把它分开成为两个列表: list1 = [' ...