Kafka队列安装教程

来源:互联网 发布:js 读取数字证书 编辑:程序博客网 时间:2024/05/09 05:36

1.关闭防火墙!!!!

systemctl disableiptables.service

systemctl stopfirewalld.service

service iptablesstop

service firewalldstop

2.查看防火墙状态:

service iptablesstatus

 

配置Zookeeper

3.下载zookeeperhttp://zookeeper.apache.org/releases.html

4.解压

5.配置:

tickTime=2000

initLimit=10

syncLimit=5

dataDir=/usr/local/jx/data

dataLogDir=/usr/local/jx/logData

clientPort=2181

server.1=master:3888:4888

server.2=slave1:3888:4888

server.3=slave2:3888:4888

 

6.conf/zoo.cfg中配置的dataDir目录下创建myid文件,文件中添加server序号,如server.1即写1(关键,若不主动创建,则Zookeeper启动失败,出现java.net.ConnectException:拒绝连接,此时logmyid后为空)

7.依次启动三个server  ./bin/zkServer.sh start

8.测试Zookeeper是否正常:./bin/zkCli.sh -serverslave1:2181,或netstat -anp|grep 2181查看端口号

 

 

配置scala

1.下载scalahttp://www.scala-lang.org/download/2.10.2.html2.12版本以上需要java8版本)

2.解压

3.配置

Vim /etc/profiles添加:

exportSCALA_HOME=/usr/local/jx/scala

exportPATH=$PATH:$SCALA_HOME/bin

 

 

配置Kafka

1.下载Kafkahttp://kafka.apache.org/downloads.html

2.解压

3.配置

     broker.id=1 #每台主机不同 

     port=9091  #每台主机不同

    num.network.threads=2  

    num.io.threads=2  

    socket.send.buffer.bytes=1048576  

   socket.receive.buffer.bytes=1048576  

    socket.request.max.bytes=104857600  

   log.dir=./logs  

   num.partitions=2  

   log.flush.interval.messages=10000  

   log.flush.interval.ms=1000  

   log.retention.hours=168  

   #log.retention.bytes=1073741824  

   log.segment.bytes=536870912  

   num.replica.fetchers=2  

   log.cleanup.interval.mins=10  

  zookeeper.connect=192.168.0.1:2181,192.168.0.2:2182,192.168.0.3:2183  

   zookeeper.connection.timeout.ms=1000000  

   kafka.metrics.polling.interval.secs=5  

  kafka.metrics.reporters=kafka.metrics.KafkaCSVMetricsReporter  

   kafka.csv.metrics.dir=/tmp/kafka_metrics  

   kafka.csv.metrics.reporter.enabled=false

4.启动kafka:(三台机器都要启动)

./bin/kafka-server-start.sh ./config/server.properties

后台启动:nohup./bin/kafka-server-start.sh./config/server.properties 1>/dev/null 2>&1 &

命令解释:

nohup是永久执行

&是指在后台运行

来自 <http://blog.csdn.net/zhang_red/article/details/52789691>

0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出。

在一般使用时,默认的是标准输出,既1.当我们需要特殊用途时,可以使用其他标号。例如,将某个程序的错误信息输出到log文件中:./program2>log。这样标准输出还是在屏幕上,但是错误信息会输出到log文件中。

另外,也可以实现0,1,2之间的重定向。2>&1:将错误信息重定向到标准输出。

Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。

来自 <http://blog.csdn.net/geekster/article/details/6657620>

 

 

5.集群连通性测试

`创建topic:./bin/kafka-topics.sh --create --zookeeper master:2181--replication-factor 3 --partitions 3 --topic kafkaTopic

`查看所有topic./bin/kafka-topics.sh --list --zookeeper master:2181

`查看topic./bin/kafka-topics.sh --describe --zookeeper master:2181 --topickafkaTopic

`删除topic./bin/kafka-topics.sh --delete --zookeeper master:2181 --topickafkaTopic

`彻底删除topic

1.登录Zookeeper客户端:./zookeeper/bin/zkCli.sh

2.找到topic所在目录:ls /brokers/topics

3.彻底删除:rmr /brokers/topics/[topicName]

`创建生产者:./bin/kafka-console-producer.sh--broker-list 192.168.8.55:9091 --topic test

`创建消费者:./bin/kafka-console-consumer.sh --zookeeper 192.168.8.55:2181 --topic test --from-beginning 

6.java连接kafka

首先需要将java程序所在主机的hosts文件映射修改。(C:\Windows\System32\drivers\etc\hosts,否者会出现无法链接

 

7.注意查看kafka服务是否启动。(终端关闭后kafka关闭)

 

 

配置KafkaOffsetMonitor(界面管理)

1.下载KafkaOffsetMonitor jar包,

2.运行:

java -cpKafkaOffsetMonitor-assembly-0.2.1.jarcom.quantifind.kafka.offsetapp.OffsetGetterWeb --zkmaster:2181,slave1:2181,slave2:2181 --port 8080 --refresh 10.seconds --retain2.days

 

后台运行:

nohup java -cpKafkaOffsetMonitor-assembly-0.2.1.jarcom.quantifind.kafka.offsetapp.OffsetGetterWeb --zkmaster:2181,slave1:2181,slave2:2181 --port 8080 --refresh 10.seconds --retain2.days 1>/dev/null 2>&1 &

 

 

//存在bug,且部署较麻烦,不用

配置Kafkaweb console(界面管理)

  1. yum install sbt(scala构建工具),或下载tgzhttp://www.scala-sbt.org/download.html
  2. 解压
  3. sbt启动脚本:创建sbt文件,添加:

PTS="-Xms512M-Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"

java$SBT_OPTS -jar /usr/local/jx/sbt/bin/sbt-launch.jar "$@"

  1. 修改sbt文件权限:

chmod u+x sbt

  1. vim ~/.bashrc

export PATH=/usr/local/jx/sbt/:$PATH

Source ~/.bashrc

  1. 测试sbt是否安装成功

Sbtsbt-version

1.下载 Kafka Web Console

2.解压

3.cdkafka-web-console-master, vim build.sbt添加:

"mysql" % "mysql-connector-java" %"5.1.27",

4.配置mysql jdbc驱动,vim./conf/application.conf

添加:

db.default.driver=com.mysql.jdbc.Driver 

db.default.url="jdbc:mysql://192.168.8.47:3306/kafka?useUnicode=true&characterEncoding=UTF8&connectTimeout=5000&socketTimeout=10000" 

db.default.user=bluetech 

db.default.password=No.9332

5.创建数据库kafka

执行sql1,sql3更改后的sql8.55:/usr/local/jx/kafka-web-console-master/correctSQL

6.编译:sbt package

7.运行:sbt run

8.访问http://192.168.8.55:9000/