虚拟机版本:ubuntu
jdk:1.8
kafka版本:2.11(提示:去官网下载,下载时选择二进制版本,Binary downloads,二进制版本是编译好的,下载源版本需要自己编译,无法直接解压(安装))
zookeeper:kafka需要zookeeper的支持,但在高版本kafka中已集成zookeeper
一.jdk安装
首先官网下好jdk,接着将包复制到虚拟机中,博主复制到/usr/中新建的java目录中,然后解压,此时直接拖拽到虚拟机中会造成jdk包不完整,看了本地包大小和虚拟机内包大小才发现。因此使用filezilla进行传输。
使用ctrl+Alt+T打开虚拟机命令行,输入ifconfig查看虚拟机ip,使用这个ip进行连接,发现filezilla连接不上
试着ping了下虚拟机的ip,发现ping得通,就看了下防火墙,发现也没有开,很疑惑为什么连接不上(21,22端口都试过)
百度了很多种发现没有开启ssh服务,因此在虚拟机中安装ssh服务并且开启。
apt-get install openssh-server
/etc/init.d/ssh start
接着在filezilla使用22端口连接ip,成功连接。接下来的kafka包也使用filezilla传输。
在虚拟机中,cd到/usr/java目录中,解压jdk包
cd /usr/java
ls
tar -zxvf jdk-8u191-linux-x64.tar.gz
接着配置路径,此时不同系统可能配置文件不同,博主使用ubuntu需要修改/etc下profile,environment两个文件
sudo gedit /etc/environment
在environment修改PATH,添加CLASSPATH,JAVA_HOME。其中JAVA_HOME就是你自己的解压包路径,其他一样
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$JAVA_HOME/bin"
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export JAVA_HOME=/usr/java/jdk1.8.0_191
sudo gedit /etc/profile
接着修改profile,在后面添加
export JAVA_HOME=/usr/java/jdk1.8.0_191
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
接着使用source命令让修改生效。
重开终端输入java -version 出现版本则安装成功
二.kafka安装
复制kafka到虚拟机,使用tar命令解压即安装成功。
进入解压的目录,使用bin/zookeeper-server-start.sh config/zookeeper.properties 命令启动项目,此时出现一个错误:
Could not find or load main class org.apache.zookeeper.server.quorum.Quo...
百度网上都说虚拟机内可能有两个版本,但虚拟机内确实只装一个版本,也有说路径配置出错的问题,但路径配置也没出错,最后才发现是kafka包残缺,没用filezilla传输,直接拖拽进虚拟机的问题。
三.kafka测试
安装成功后仿照一篇博客进行简单的测试,在此直接贴上该博客
(https://www.cnblogs.com/hei12138/p/7805475.html)
四.一些小问题
安装过程中可能出现一些拒绝访问的问题,此时就设计到linux的权限问题,可能你使用的账户权限不高,此时就需要切换root用户对一些文件文件夹进行赋权