基于cdh的Kafka配置及部署(详细,成功运行)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于cdh的Kafka配置及部署(详细,成功运行)相关的知识,希望对你有一定的参考价值。

一、下载

http://archive.cloudera.com/kafka/parcels/2.2.0/

wget http://archive.cloudera.com/kafka/parcels/2.2.0/KAFKA-2.2.0-1.2.2.0.p0.68-el6.parcel
wget http://archive.cloudera.com/kafka/parcels/2.2.0/KAFKA-2.2.0-1.2.2.0.p0.68-el6.parcel.sha1

二、校验

[[email protected] softwares]$ sha1sum KAFKA-2.2.0-1.2.2.0.p0.68-el6.parcel
359509e028ae91a2a082adfad5f64596b63ea750  KAFKA-2.2.0-1.2.2.0.p0.68-el6.parcel
[[email protected] softwares]$ cat KAFKA-2.2.0-1.2.2.0.p0.68-el6.parcel.sha1
359509e028ae91a2a082adfad5f64596b63ea750

校验码相同,说明文件在下载过程中没有任何损坏,可正常使用

三、解压并设置软连接

[[email protected] softwares]$ tar -zxf  KAFKA-2.2.0-1.2.2.0.p0.68-el6.parcel -C ~/app
[[email protected] app]$ ln -s /home/hadoop/app/KAFKA-2.2.0-1.2.2.0.p0.68/ /home/hadoop/app/kafka

四、重要目录说明

[[email protected] kafka]$ pwd
/home/hadoop/app/kafka
[[email protected] kafka]$ ll
total 20
drwxr-xr-x 2 hadoop hadoop 4096 Jul  7  2017 bin
drwxr-xr-x 5 hadoop hadoop 4096 Jul  7  2017 etc
drwxr-xr-x 3 hadoop hadoop 4096 Jul  7  2017 lib
drwxr-xr-x 2 hadoop hadoop 4096 Jul  7  2017 meta
###     kafka配置文件目录,我们修改配置文件就在这里修改
[[email protected] kafka]$ ll etc/kafka/conf.dist/
total 48
-rw-r--r-- 1 hadoop hadoop  906 Jul  7  2017 connect-console-sink.properties
-rw-r--r-- 1 hadoop hadoop  909 Jul  7  2017 connect-console-source.properties
-rw-r--r-- 1 hadoop hadoop 2760 Jul  7  2017 connect-distributed.properties
-rw-r--r-- 1 hadoop hadoop  883 Jul  7  2017 connect-file-sink.properties
-rw-r--r-- 1 hadoop hadoop  881 Jul  7  2017 connect-file-source.properties
-rw-r--r-- 1 hadoop hadoop 1074 Jul  7  2017 connect-log4j.properties
-rw-r--r-- 1 hadoop hadoop 2061 Jul  7  2017 connect-standalone.properties
-rw-r--r-- 1 hadoop hadoop 4369 Jul  7  2017 log4j.properties
-rw-r--r-- 1 hadoop hadoop 5679 Jun  1 01:24 server.properties
-rw-r--r-- 1 hadoop hadoop 1032 Jul  7  2017 tools-log4j.properties

###     kafka功能目录
[[email protected] kafka]$ ll lib/kafka/
total 112
drwxr-xr-x 2 hadoop hadoop  4096 Jul  7  2017 bin
drwxr-xr-x 2 hadoop hadoop  4096 Jul  7  2017 cloudera
lrwxrwxrwx 1 hadoop hadoop    43 Jun  1 02:11 config -> /etc/kafka/conf  #注意这是红色
-rw-rw-r-- 1 hadoop hadoop 48428 Jun  1 02:17 KAFKA-2.2.0-1.2.2.0.p0.68-el6.parcel
drwxr-xr-x 2 hadoop hadoop 12288 Jul  7  2017 libs
-rwxr-xr-x 1 hadoop hadoop 28824 Jul  7  2017 LICENSE
drwxrwxr-x 2 hadoop hadoop  4096 Jun  1 01:39 logs
-rwxr-xr-x 1 hadoop hadoop   336 Jul  7  2017 NOTICE
drwxr-xr-x 2 hadoop hadoop  4096 Jul  7  2017 site-docs
### config软连接此时默认链接的getaway的配置文件,也就是CM客户端的配置文件,因为我们没有使用cm,所以也就没有自动生成/etc/kafka/conf 故报错闪烁红色
###     bin目录下是kafka的相关脚本,例如server启动关闭&&consumer&&producer的启动脚本

五、修改配置文件

# 第一步:
[[email protected] kafka] cd etc/kafka/conf.dist

# 第二步:

vim ?server.properties

# 第三步:(主要修改其中的6个参数)

broker.id=0 ?#标示符

log.dirs=/home/hadoop/app/kafka/logs ?#数据保存的位置

log.retention.hours=168 ?#数据的保留时间(168 hours=7天)

zookeeper.connect=hadoop001:2181,hadoop002:2181,hadoop003:2181/kafka
# zookeeper存储kafka数据的位置
delete.topic.enable=true?#可以删除已创建主题

六、启动kafka

[[email protected] kafka]$ lib/kafka/bin/kafka-server-start.sh /home/hadoop/app/kafka/etc/kafka/conf.dist/server.properties 
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/hadoop/app/KAFKA-2.2.0-1.2.2.0.p0.68/lib/kafka/libs/slf4j-log4j12-1.7.21.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/hadoop/app/KAFKA-2.2.0-1.2.2.0.p0.68/lib/kafka/libs/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
log4j:ERROR Could not read configuration file from URL [file:lib/kafka/bin/../config/log4j.properties].
java.io.FileNotFoundException: lib/kafka/bin/../config/log4j.properties (No such file or directory)
    at java.io.FileInputStream.open0(Native Method)
    at java.io.FileInputStream.open(FileInputStream.java:195)
    at java.io.FileInputStream.<init>(FileInputStream.java:138)
    at java.io.FileInputStream.<init>(FileInputStream.java:93)
    at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
    at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
    at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:557)
    at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:526)
    at org.apache.log4j.LogManager.<clinit>(LogManager.java:127)
    at org.slf4j.impl.Log4jLoggerFactory.<init>(Log4jLoggerFactory.java:66)
    at org.slf4j.impl.StaticLoggerBinder.<init>(StaticLoggerBinder.java:72)
    at org.slf4j.impl.StaticLoggerBinder.<clinit>(StaticLoggerBinder.java:45)
    at org.slf4j.LoggerFactory.bind(LoggerFactory.java:150)
    at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:124)
    at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:412)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:357)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383)
    at org.apache.kafka.common.utils.Utils.<clinit>(Utils.java:59)
    at kafka.Kafka$.getPropsFromArgs(Kafka.scala:41)
    at com.cloudera.kafka.wrap.Kafka$.main(Kafka.scala:72)
    at com.cloudera.kafka.wrap.Kafka.main(Kafka.scala)
log4j:ERROR Ignoring configuration file [file:lib/kafka/bin/../config/log4j.properties].
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
log4j:WARN No appenders could be found for logger (kafka.server.KafkaConfig).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

出现了bug找不到配置文件

java.io.FileNotFoundException: lib/kafka/bin/../config/log4j.properties

由于 lrwxrwxrwx 1 hadoop hadoop 43 Jun 1 02:11 config -> /etc/kafka/conf 找不到,所以要指定成etc/kafka/conf.dist/

[[email protected] kafka]$ rm lib/kafka/config
[[email protected] kafka]$ ln -s  /home/hadoop/app/kafka/etc/kafka/conf.dist/ /home/hadoop/app/kafka/lib/kafka/config

技术图片

重新启动

[[email protected] kafka]$ lib/kafka/bin/kafka-server-start.sh /home/hadoop/app/kafka/etc/kafka/conf.dist/server.properties 

没有报错信息了。。。

以上是关于基于cdh的Kafka配置及部署(详细,成功运行)的主要内容,如果未能解决你的问题,请参考以下文章

hue/ oozie/ sqoop/ kafka/ zookeeper/ flume 简介及cdh安装简介

Sqoop-1.4.6安装部署及详细使用介绍

Kafka 认证三:添加 Kerberos 认证详细流程

Kafka 认证三:添加 Kerberos 认证详细流程

Kafka 认证三:添加 Kerberos 认证详细流程

关于删除CDH 中 Kafka 的Topic 实战