搭建环境:

  • JDK: java version 1.8.0_221
  • zookeeper:zookeeper-3.5.2
  • kafka: kafka-2.11-1.1.0

一、安装JDK

由于需要java环境,所以我们需先安装JDK

1、下载JDK并解压

mkdir /usr/java     //在usr下创建java
cp jdk-8u221-linux-x64.tar.gz /usr/java/     //将下载好的JDK文件copy到/usr/java目录
cd /usr/java
tar -xzvf jdk-8u221-linux-x64.tar.gz    //解压到当前目录

2、配置环境变量

vi /etc/profile

将下面内容添加到文件最后:

JAVA_HOME=/usr/java/jdk1..0_221
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

保存后退出,并执行

source /etc/profile  //使环境变量生效

3、查看安装情况

java -version

有时会遇到:

每次打开一个终端,都要输入source /etc/profile 环境变量才会生效!

解决方法:

vi ~/.bashrc
将  source /etc/profile 添加到bashrc文件中

 

 二、安装kafka 1.1.0

kafka下载地址:http://kafka.apache.org/downloads

1、(这个安装是真滴难受,各种报错...)

下载好后,解压压缩包,并进入其目录

tar -xzvf kafka_2.11-1.1.0.tgz
cd kafka_2.-1.1.

2、这里,需先在一个终端启动zookeeper服务

bin/zookeeper-server-start.sh config/zookeeper.properties &  //

我用的kafka自带的zookeeper-server-start.sh启动zookeeper服务,然后就各种报错启动不来kafka,最后我直接去官网上下载zookeeper,重新自己安装

安装方法可以参考文章:https://www.jianshu.com/p/7dcec9758614

3、然后打开另一个终端,再启动kafka服务

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

4、测试一下

创建名为“test”的 topic,并查看

linux-ym54:/usr/local/kafka/kafka_2.11-1.1.0 # bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
Created topic "test".
linux-ym54:/usr/local/kafka/kafka_2.11-1.1.0 # bin/kafka-topics.sh --list --zookeeper localhost:2181
test

发送消息:

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

接收消息:

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

有时会遇到:

  • 在启动zookeeper服务时,会出现
INFO Closed socket connection for client /127.0.0.1: which had sessionid 0x15698f5ac360001 (org.apache.zookeeper.server.NIOServerCnxn)

That is not an error. The topic details are fetched from Zookeeper. Hence the client (invoked by kafka-topics.sh) first connects to Zookeeper, then establishes a session, gets the data and then disconnects at the end. This is the expected behavior of any clients that will get some data from Zookeeper.

  • 在启动kafka服务时,会出现
[2019-08-10 09:59:58,527] ERROR [KafkaServer id=0] Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
java.net.UnknownHostException: linux-ym54: linux-ym54: Name or service not known
    at java.net.InetAddress.getLocalHost(InetAddress.java:1506)
    at kafka.server.KafkaServer$$anonfun$3.apply(KafkaServer.scala:387)
    at kafka.server.KafkaServer$$anonfun$3.apply(KafkaServer.scala:385)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
    at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
    at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
    at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
    at scala.collection.AbstractTraversable.map(Traversable.scala:104)
    at kafka.server.KafkaServer.createBrokerInfo(KafkaServer.scala:385)
    at kafka.server.KafkaServer.startup(KafkaServer.scala:253)
    at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:38)
    at kafka.Kafka$.main(Kafka.scala:92)
    at kafka.Kafka.main(Kafka.scala)
Caused by: java.net.UnknownHostException: linux-ym54: Name or service not known
    at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
    at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:929)
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1324)
    at java.net.InetAddress.getLocalHost(InetAddress.java:1501)
    ... 13 more

修改 /etc/hosts文件,

把 “ your ip     localhost ” 添加进去

三、kafka在windows中的安装

可以参考文章:https://blog.csdn.net/u012050154/article/details/76270655

有时会遇到:

xshell连接不上的问题!

  • 检查ssh是否开启
service sshd status   
  • 检查22端口是否开放
  • 最后检查发现是防火墙导致的

关闭防火墙,然后重启。

linux-ym54:/home/ilk/Desktop # systemctl list-dependencies |grep firewall
● ├─SuSEfirewall2.service
● ├─SuSEfirewall2_init.service
linux-ym54:/home/ilk/Desktop # chkconfig SuSEfirewall2 off
Removed symlink /etc/systemd/system/multi-user.target.wants/SuSEfirewall2.service.
Removed symlink /etc/systemd/system/multi-user.target.wants/SuSEfirewall2_init.service.
Removed symlink /etc/systemd/system/SuSEfirewall2_setup.serv

SUSE中搭建kafka的更多相关文章

  1. 【Azure Developer】在Azure VM (Windows) 中搭建 kafka服务,并且通过本地以及远程验证 发送+消费 消息

    问题描述 查看了 "How to Install and Run Apache Kafka on Windows? " 一文后,成功安装了Kafka服务,但是如何使用呢?如何在其他 ...

  2. docker容器中搭建kafka集群环境

    Kafka集群管理.状态保存是通过zookeeper实现,所以先要搭建zookeeper集群 zookeeper集群搭建 一.软件环境: zookeeper集群需要超过半数的的node存活才能对外服务 ...

  3. 搭建Kafka集群(3-broker)

    Apache Kafka是一个分布式消息发布订阅系统,而Kafka环境往往是在集群中配置的.本篇就对配置3个broker的Kafka集群进行介绍. Zookeeper集群 Kafka本身提供了启动了z ...

  4. 漫游kafka实战篇之搭建Kafka开发环境

    上篇文章中我们搭建了kafka的服务器,并可以使用Kafka的命令行工具创建topic,发送和接收消息.下面我们来搭建kafka的开发环境.   添加依赖   搭建开发环境需要引入kafka的jar包 ...

  5. 漫游Kafka实战篇之搭建Kafka运行环境

    接下来一步一步搭建Kafka运行环境. Step 1: 下载Kafka 点击下载最新的版本并解压. > tar -xzf kafka_2.9.2-0.8.1.1.tgz > cd kafk ...

  6. 大数据平台搭建-kafka集群的搭建

    本系列文章主要阐述大数据计算平台相关框架的搭建,包括如下内容: 基础环境安装 zookeeper集群的搭建 kafka集群的搭建 hadoop/hbase集群的搭建 spark集群的搭建 flink集 ...

  7. (转)Windows上搭建Kafka运行环境

    转自:<Windows上搭建Kafka运行环境> 完整解决方案请参考: Setting Up and Running Apache Kafka on Windows OS   在环境搭建过 ...

  8. centos7搭建kafka集群-第二篇

    好了,本篇开始部署kafka集群 Zookeeper集群搭建 注:Kafka集群是把状态保存在Zookeeper中的,首先要搭建Zookeeper集群(也可以用kafka自带的ZK,但不推荐) 1.软 ...

  9. windows下IntelliJ IDEA搭建kafka源码环境

    于kafka核心原理的资料,网上有很多,但是如果不自己研究其源码,永远是知其然而不知所以然.下面就来演示如何在windows环境下来编译kafka源码,并通过IntelliJ IDEA开发工具搭建ka ...

随机推荐

  1. Chapter3数学与简单DP

    Chapter 3 数学与简单DP 上取整: a / b //下取整 (a + b - 1) / b //上取整 +++ 数学 1.买不到的数目 1205 //如果不知道公式,可以暴搜打表找规律(★) ...

  2. Java 【Math】

    一.Math类的使用方法 public class demo{ public static void main(String[] args){ double pi = Math.PI; //Math函 ...

  3. MySQL第六课

    SELECT [DISTINCT]     * /{字段名1,字段名2,字段名3,.........} FROM 表名 [WHERE 条件表达式1] [GROUP BY 字段名[HAVING 条件表达 ...

  4. docker - 如何清理硬盘中无关占用

    背景 在使用docker进行容器化管理后会发现本次硬盘文件占用量在不断上升,并且即使是删除掉容器或者镜像也并不能释放掉对应的硬盘空间.本文将提供对应的docker命令用于真正释放掉该部分应被删除释放的 ...

  5. 吴裕雄--天生自然 python开发学习笔记:Git安装配置流程

  6. 吴裕雄--天生自然 R语言开发学习:模块\包的安装命令

    install.packages('模块包名称') 或者 install.packages('模块包名称',repos='http://cran.us.r-project.org')

  7. java课后作业10.14

    一.简单总结一下java中类的初始化的规律: 1.类的构造函数优先 2.初始化块儿和定义时候的赋值,这俩个初始化方法优先级是一样的,在程序中谁最后执行,那么程序就采用谁的初始化值. 二.在java中想 ...

  8. 3.3 Zabbix容器安装

    课程资料:https://github.com/findsec-cn/zabbix 1. yum install docker-latest    :安装最新的docker   ,选择 y  ,等待自 ...

  9. laravel手动数组分页

    laravel文档中已经有写如何自己使用分页类去分页了,但没有详细说明. 如果你想手动创建分页实例并且最终得到一个数组类型的结果,可以根据需求来创建 IlluminatePaginationPagin ...

  10. PhpCms V9调用指定栏目子栏目文章的方法

    PhpCms V9调用指定栏目子栏目文章的方法 第一种,直接写父类id {pc:content action="lists" catid="父类id" num= ...