Mac 安装kafka踩过的坑
2019-01-09 09:57
190 查看
安装
[code]brew install kafka
使用此命令一键安装
运行
启动zookeeper
三种运行方式
[code]brew services start zookeeper zkServer start zookeeper-server-start /usr/local/etc/kafka/zookeeper.properties
官方解释,第一种表示后台运行,后两个是前台运行。个人倾向于使用第三种,因为如果用第一种可能出现假启动,此问题后面再描述。
在我启动过程中,发现有个问题,就是现实2181端口被占用,而抛异常,所以我把zookeeper和kafka里面的zookeeper服务器端口全部修改为2080,对应的配置文件在
[code]/usr/local/etc/kafka/server.properties /usr/local/etc/kafka/zookeeper.properties
在此基础上,使用zkServer start命令启动zk,当出现
[code][2019-01-09 09:16:53,636] INFO Server environment:java.io.tmpdir=/var/folders/r_/8dt5ykzj02xg5rjhsyfgsvz40000gn/T/ (org.apache.zookeeper.server.ZooKeeperServer) [2019-01-09 09:16:53,636] INFO Server environment:java.compiler=<NA> (org.apache.zookeeper.server.ZooKeeperServer) [2019-01-09 09:16:53,636] INFO Server environment:os.name=Mac OS X (org.apache.zookeeper.server.ZooKeeperServer) [2019-01-09 09:16:53,636] INFO Server environment:os.arch=x86_64 (org.apache.zookeeper.server.ZooKeeperServer) [2019-01-09 09:16:53,637] INFO Server environment:os.version=10.14 (org.apache.zookeeper.server.ZooKeeperServer) [2019-01-09 09:16:53,637] INFO Server environment:user.name=dp (org.apache.zookeeper.server.ZooKeeperServer) [2019-01-09 09:16:53,637] INFO Server environment:user.home=/Users/qinfendexiaoxiannv (org.apache.zookeeper.server.ZooKeeperServer) [2019-01-09 09:16:53,637] INFO Server environment:user.dir=/usr/local/etc/kafka (org.apache.zookeeper.server.ZooKeeperServer) [2019-01-09 09:16:53,647] INFO tickTime set to 3000 (org.apache.zookeeper.server.ZooKeeperServer) [2019-01-09 09:16:53,647] INFO minSessionTimeout set to -1 (org.apache.zookeeper.server.ZooKeeperServer) [2019-01-09 09:16:53,647] INFO maxSessionTimeout set to -1 (org.apache.zookeeper.server.ZooKeeperServer) [2019-01-09 09:16:53,661] INFO Using org.apache.zookeeper.server.NIOServerCnxnFactory as server connection factory (org.apache.zookeeper.server.ServerCnxnFactory) [2019-01-09 09:16:53,678] INFO binding to port 0.0.0.0/0.0.0.0:2080 (org.apache.zookeeper.server.NIOServerCnxnFactory)
表示zk启动成功,注意最后一句。
启动kafka
想启动kafka,首先得保证zookeeper已经成功启动
新建终端
同样,kafka也有两种方式
[code]brew services start kafka kafka-server-start /usr/local/etc/kafka/server.properties
同样,建议第二种。
当出现
[code][2019-01-09 09:41:24,100] INFO Logs loading complete in 644 ms. (kafka.log.LogManager) [2019-01-09 09:41:24,121] INFO Starting log cleanup with a period of 300000 ms. (kafka.log.LogManager) [2019-01-09 09:41:24,122] INFO Starting log flusher with a default period of 9223372036854775807 ms. (kafka.log.LogManager) [2019-01-09 09:41:24,444] INFO Awaiting socket connections on 0.0.0.0:9092. (kafka.network.Acceptor) [2019-01-09 09:41:24,472] INFO [SocketServer brokerId=0] Started 1 acceptor threads (kafka.network.SocketServer) [2019-01-09 09:41:24,504] INFO [ExpirationReaper-0-Produce]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper) [2019-01-09 09:41:24,505] INFO [ExpirationReaper-0-Fetch]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper) [2019-01-09 09:41:24,506] INFO [ExpirationReaper-0-DeleteRecords]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper) [2019-01-09 09:41:24,519] INFO [LogDirFailureHandler]: Starting (kafka.server.ReplicaManager$LogDirFailureHandler) [2019-01-09 09:41:24,590] INFO Creating /brokers/ids/0 (is it secure? false) (kafka.zk.KafkaZkClient) [2019-01-09 09:41:24,593] INFO Result of znode creation at /brokers/ids/0 is: OK (kafka.zk.KafkaZkClient) [2019-01-09 09:41:24,595] INFO Registered broker 0 at path /brokers/ids/0 with addresses: ArrayBuffer(EndPoint(10.175.119.178,9092,ListenerName(PLAINTEXT),PLAINTEXT)) (kafka.zk.KafkaZkClient) [2019-01-09 09:41:24,658] INFO [ExpirationReaper-0-topic]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper) [2019-01-09 09:41:24,664] INFO [ExpirationReaper-0-Heartbeat]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper) [2019-01-09 09:41:24,670] INFO [ExpirationReaper-0-Rebalance]: Starting (kafka.server.DelayedOperationPurgatory$ExpiredOperationReaper) [2019-01-09 09:41:24,707] INFO [GroupCoordinator 0]: Starting up. (kafka.coordinator.group.GroupCoordinator) [2019-01-09 09:41:24,709] INFO [GroupCoordinator 0]: Startup complete. (kafka.coordinator.group.GroupCoordinator) [2019-01-09 09:41:24,720] INFO [GroupMetadataManager brokerId=0] Removed 0 expired offsets in 12 milliseconds. (kafka.coordinator.group.GroupMetadataManager) [2019-01-09 09:41:24,746] INFO [ProducerId Manager 0]: Acquired new producerId block (brokerId:0,blockStartProducerId:4000,blockEndProducerId:4999) by writing to Zk with path version 5 (kafka.coordinator.transaction.ProducerIdManager) [2019-01-09 09:41:24,796] INFO [TransactionCoordinator id=0] Starting up. (kafka.coordinator.transaction.TransactionCoordinator) [2019-01-09 09:41:24,806] INFO [Transaction Marker Channel Manager 0]: Starting (kafka.coordinator.transaction.TransactionMarkerChannelManager) [2019-01-09 09:41:24,812] INFO [TransactionCoordinator id=0] Startup complete. (kafka.coordinator.transaction.TransactionCoordinator) [2019-01-09 09:41:24,900] INFO [/config/changes-event-process-thread]: Starting (kafka.common.ZkNodeChangeNotificationListener$ChangeEventProcessThread) [2019-01-09 09:41:24,955] INFO [SocketServer brokerId=0] Started processors for 1 acceptors (kafka.network.SocketServer) [2019-01-09 09:41:24,974] INFO Kafka version : 2.1.0 (org.apache.kafka.common.utils.AppInfoParser) [2019-01-09 09:41:24,977] INFO Kafka commitId : 809be928f1ae004e (org.apache.kafka.common.utils.AppInfoParser) [2019-01-09 09:41:24,985] INFO [KafkaServer id=0] started (kafka.server.KafkaServer)
表示启动成功,注意最后一句。
如果出现与zk连接超时的异常很可能表示zk没有成功启动。
创建主题,收发消息
创建主题
新建终端,执行
[code]kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
创建一个名为test的主题
[code]Created topic "test".
查看已有主题
[code]kafka-topics --list --zookeeper localhost:2181
创建生产者消费者
在两个终端中执行
[code]kafka-console-producer --broker-list localhost:9092 --topic test kafka-console-consumer --bootstrap-server localhost:9092 --topic test --from-beginning
分别创建生产者和消费者,主题是test
之后在生产者终端输入,消费者终端会对应输出
假启动问题
如果在创建主题过程中出现错误
[code]kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test Error while executing topic command : Replication factor: 1 larger than available brokers: 0. [2019-01-09 09:18:31,246] ERROR org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 1 larger than available brokers: 0.
参考stackoverflow
[code]https://stackoverflow.com/questions/33098366/error-creating-kafka-topics-replication-factor-larger-than-available-brokers
可能表示kafka根本没有启动起来,这时如果启动发现有一个log文件被占用,我的解决办法是使用命令
[code]brew services stop kafka
关闭假启动的kafka服务,然后使用上面的第二个命令重新启动即可。
相关文章推荐
- Mac 安装使用kafka
- mac(Linux)安装配置kafka环境
- kafka 安装和使用测试(mac版)
- mac/linux 下kafka安装
- Mac下安装Kafka
- kafka(2):kafaka mac/linux 安装
- kafka mac下载安装
- 2.mac下kafka的安装
- [集群配置]macOS Flume+kafka单机安装连接
- mac包安装kafka
- Mac OS X 10.6.4上安装oracle10g的经过
- kafka管理器kafka-manager部署安装
- RF环境安装-mac-osx10.10-基础环境-安装指南
- mac 环境安装Libpng
- mac上源码安装mosquitto
- MAC系统安装Numpy,scipy,matplotlib的方法
- 【hadoop入门实战】Mac上安装hadoop,并运行程序(1)
- Mac下安装JDK 6
- mac版本navicat安装与汉化教程
- Mac下安装及配置Eclipse