ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

安装kafka并设置通过外网ip访问

2020-01-04 23:55:09  阅读:326  来源: 互联网

标签:bin ip zookeeper kafka topic 外网 usr local


1、kafka 安装

安装JDK

tar xvf jdk1.8.0_231.tar.gz  -C /usr/local && cd   /usr/local
ln -sv jdk1.8.0_231 jdk 

vim /etc/profile.d/java.sh
    JAVA_HOME=/usr/local/jdk
    PATH=$JAVA_HOME/bin:$PATH

zookeeper安装(或使用kafka自带的)

vim /usr/local/kafka/zookeeper/conf/zoo.cfg   
   tickTime=2000
   initLimit=10
   syncLimit=5
   dataDir=/data/zookeeper
   clientPort=2181
   maxClientCnxns=0

   # 集群版的zookeeper添加如下配置
   # server.1=ip1:2888:3888
   # server.2=ip2:2888:3888
   # server.3=ip3:28888:3888

下载kafka和安装kakfa

wget https://archive.apache.org/dist/kafka/0.10.2.1/kafka_2.11-0.10.2.1.tgz

tar xvf kafka_2.11-0.10.2.1.tgz -C /usr/local && cd   /usr/local
ln -sv kafka_2.11-0.10.2.1.tgz kafka

修改kafka启动内存

vim /usr/local/kafka/bin/kafka-server-start.sh
  export KAFKA_HEAP_OPTS="-Xmx2G -Xms2G"

kafka启动和停止

/usr/local/kafka/bin/zookeeper-server-start.sh -deamon /usr/local/kafka/conf/zookeeper.properties

/usr/local/kafka/bin/kafka-server-start.sh -deamon /usr/local/kafka/conf/server.properties

/usr/local/kafka/bin/kafka-server-stop.sh /usr/local/kafka/conf/server.properties
/usr/local/kafka/bin/zookeeper-server-stop.sh /usr/local/kafka/conf/zookeeper.properties

单独安装kafka的启停方式

/usr/local/zookeeper/bin/zkServer.sh stop|stop

2、 kafka 设置外网访问(如有需要提供外网访问)

前提条件

需要一个解析到内网ip地址的域名,内网环境也可以设置/etc/hosts

参数设置

host.name=kafka.test.com(对应的域名解析需要解到内网ip)
高版本已弃用。低版本0.10.2.1可以用, 仅当listeners属性未配置时被使用,已用listeners属性代替。表示broker的hostname

advertised.listeners=PLAINTEXT://kafka.test.com:9092(高版本用,替代host.name,设置了advertised.listeners不用设置host.name)
注册到zookeeper上并提供给客户端的监听器,如果没有配置则使用listeners。

advertised.host.name(不需要设置,仅作参考)
已弃用。仅当advertised.listeners或者listeners属性未配置时被使用。官网建议使用advertised.listeners

listeners(不需要设置,仅作参考)
需要监听的URL和协议,如:PLAINTEXT://myhost:9092,SSL://:9091 CLIENT://0.0.0.0:9092,REPLICATION://localhost:9093。如果未指定该配置,则使用java.net.InetAddress.getCanonicalHostName()函数的的返回值

修改上broker的/etc/hosts文件

[内网ip] kafka.test.com

修改外网访问服务器上的/etc/hosts文件

[外网ip] kafka.test.com

3、kafka消费调试

生产者

/usr/local/kafka/bin/kafka-console-producer.sh --broker-list IP:9092 --topic TOPIC

消费者

/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server IP:9092 --topic TOPIC--from-beginning --max-messages 1
/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server 外网IP:9092 --topic TOPIC --from-beginning --max-messages 1

4、logstash调试

output {
  stdout { codec => rubydebug { metadata => true }  }
}

5、logstash无法消费kakfa日志的问题排查

a、topics_pattern 通配问题".* ","."一定不能少

      topics_pattern=>"prefix-.*" 

b、filter中匹配规则,注意要能匹配到kafka中topic,不同的filebeat和不同的logstash版本对应的topic元数据可能不太一样,这点需要注意

      if [type] =~ "prefix-*" {
          grok { match =>["[type]","^prefix-(?<index_name>)"] }
       }

      if [kafka][topic] =~ "prefix-*" {
        grok { match => [ "[kafka][topic]", "^prefix-(?<index_name>.*$)" ]}
      }

       if [@metadata][topic] =~ "prefix-*" {
          grok { match =>["[@metadata][topic]","^prefix-(?<index_name>)"] }
       }

      if [@metadata][kafka][topic] =~ "prefix-*" {
        grok { match => [ "[@metadata][kafka][topic]", "^prefix-(?<index_name>.*$)" ]}
      }

外网kakfa消费参考:https://www.maiyewang.com/archives/17993

标签:bin,ip,zookeeper,kafka,topic,外网,usr,local
来源: https://blog.51cto.com/395469372/2464399

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有