Ambari 不能配置 Kafka 监听host的问题
问题:Ambari下Kafka多IP监听配置
环境:Ambari 1.7.0 , Hadoop 2.2 Kafka 0.8.1.2.2.0.0
现象:
Ambari 中是不能配置Kafka的host.name配置项的,Ambari配置时,使用Ambar中为节点指定的hostname值,比如node1.google (Kafka自身的默认值是localhost)
一般在内网配置Ambari,用的hostname都是内网的IP,如 192.168.1.1 node1.google 192.168.1.2 node2.google 。这样导致Kafka启动时只监听192.168.1.x的IP。
虽然Ambari中可以有Custom kafka-broker,可以自定义选项,但是对host.name配置项是不起作用的,因为Ambari配置Kafka的host.name时根本不读这些用户输入的配置。
代码:
参见 git下目录(ambari-server/src/main/resources/common-services/KAFKA/0.8.1.2.2/package/scripts)中的kafka.py 和 params.py 两个文件
可以看到首先是 params.py 读配置,然后kafka.py 根据配置写到Kafka的配置文件中去。
关键代码:
params.py
conf_dir = "/etc/kafka/conf"
kafka_user = config['configurations']['kafka-env']['kafka_user']
kafka_log_dir = config['configurations']['kafka-env']['kafka_log_dir']
kafka_pid_dir = status_params.kafka_pid_dir
kafka_pid_file = kafka_pid_dir+"/kafka.pid"
hostname = config['hostname']
kafka.py
kafka_server_config = mutable_config_dict(params.config['configurations']['kafka-broker'])
kafka_server_config['broker.id'] = brokerid
kafka_server_config['host.name'] = params.hostname
kafka_server_config['kafka.metrics.reporters'] = params.kafka_metrics_reporters
解决:
根据kafka的文档,要是不配置host.name则默认监听0.0.0.0,所以我们只要在 kafka.py 中加入 del kafka_server_config['host.name'] 这句即可,注意要在Ambari-server主机上改,然后把该文件同步到Kafka的节点
上述环境下kafka.py所在目录是:/var/lib/ambari-agent/cache/stacks/HDP/2.2/services/KAFKA/package/scripts
配置好后,在Ambari上重启Kafka即可
Happy end。。。。
Ambari 不能配置 Kafka 监听host的问题的更多相关文章
- 配置静态监听解决ORA-12514错误的案例(转)
今天做Linux下DG配置的时候,遇到一个现象,tnsname.ora文件配置都正常,tnsping也正常,监听也正常,但是仍然报ORA-12514错误: SQL> set lin 130 ...
- 配置Tomcat监听80端口 配置Tomcat虚拟主机 Tomcat日志
配置Tomcat监听80端口 • vim /usr/local/tomcat/conf/server.xml Connector port=" protocol="HTTP/1.1 ...
- 配置静态监听解决ORA-12514错误的案例
今天做Linux下DG配置的时候,遇到一个现象.tnsname.ora文件配置都正常,tnsping也正常,监听也正常.可是仍然报ORA-12514错误: SQL> set lin 130 pa ...
- kafka监听类
package com.datad.dream.service; import com.alibaba.fastjson.JSON; import com.datad.dream.dao.KafkaI ...
- 配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志
6月27日任务 16.4 配置Tomcat监听80端口16.5/16.6/16.7 配置Tomcat虚拟主机16.8 Tomcat日志扩展邱李的tomcat文档 https://www.linuser ...
- Linux centosVMware 配置Tomcat监听80端口、配置Tomcat虚拟主机、Tomcat日志
一.配置Tomcat监听80端口 关闭tomcat报错 [root@davery src]# /usr/local/tomcat/bin/shutdown.sh 重装tomcat即可 vim /usr ...
- Tomcat介绍、安装jdk、安装Tomcat、配置Tomcat监听80端口
1.Tomcat介绍 2.安装jdk下载:wget -c http://download.oracle.com/otn-pub/java/jdk/10.0.1+10/fb4372174a714e6b8 ...
- CentOS7 配置 SSH监听多个端口方法
一.修改ssh默认端口,防止暴力破解,让系统安全多一点点: i. 在配置文件/etc/ssh/sshd_config文件中修改 Port #AddressFamily any #ListenAddre ...
- 跟我一起学.NetCore之配置变更监听
前言 通常程序中配置少不了,配置的修改也避免不了,配置的热更新为此给应用程序带来很大的便捷,不用重启,提高用户体验:但往往有时候需要对修改进行审计,也就是需要记录,有时候也会针对配置修改的时候触发相关 ...
随机推荐
- Android驱动开发前的准备(三)
Git使用入门 3.1安装Git 3.2查看Git文档 3.3源代码的提交与获取 3.1安装Git # apt-get install git # apt-get install git-doc gi ...
- CE取系统时间值
取时间值: void GetTime() { //取时间值 SYSTEMTIME st = {}; // 时间结构体 GetLocalTime(&st); // 把获取的系统时间信息存储到SY ...
- pyqt4:线程的串联运行方式
有些时候我们在pyqt中需要线程串行运行,而不是并发运行,用以下方式,这是在网上找的,暂存. > Hello > I have something like the foll scenar ...
- LEETCODE —— Surrounded Regions
Total Accepted: 43584 Total Submissions: 284350 Difficulty: Medium Given a 2D board containing 'X' a ...
- JQ轮播
首先是html结构,一个简单的轮播,主要分为三大层:div>ul>li,li里面的img图片. 其次,css样式:div固定住宽高,overflow:hidden:ul的宽度建议是动态获取 ...
- POJ 3311 Hie with the Pie (状压DP)
dp[i][j][k] i代表此层用的状态序号 j上一层用的状态序号 k是层数&1(滚动数组) 标准流程 先预处理出所有合法数据存在status里 然后独立处理第一层 然后根据前一层的max推 ...
- VIM常用快捷键
光标前插入i,行首插入 拷贝当前行 yy或者Y 删除一行dd,删除后进入插入模式cc或者S 粘贴p 撤销u,重做ctrl + r 删除一行dd,删除后进入插入模式cc或者S
- java System.arraycopy 数组复制和合并
public class Test { public static void main(String[] args) { Integer[] a = {1,2,3}; Integer[] b = {4 ...
- 支付宝Andfix 原理解析
支付宝Andfix 原理解析 使用参考地址: http://blog.csdn.net/qxs965266509/article/details/49802429 原理参考地址: http://blo ...
- 如何在IDEA 中使用Git
1,下载最新的 git 包 地址: https://git-scm.com/download/win 下载便携版 64,32 根据个人爱好 2,解压后随便放个位置即可,例如图: (不太建议使用它自 ...