我注意到zookeeper和kafka的视频教程总是跳过了环境配置这个地方,自己去安装虚拟机遇上一些坑,浪费很多时间,因此写一篇从虚拟机安装-jdk安装-zk安装-kfk安装的流程化教程。
CentOS-7-x86_64-DVD-1908:
链接:https://pan.baidu.com/s/1ukk6L8i7aOynyMO2WdIuXA?pwd=2viv
提取码:2viv
Vmware WorkStation Pro + Xshell
链接:https://pan.baidu.com/s/1AiaijdP1YibjlrBiITDgng?pwd=fcp3
提取码:fcp3
Zookeeper JDK kafka 安装包
链接:https://pan.baidu.com/s/1y6PyXqd0kEdtsEBN44i1nQ?pwd=8b18
提取码:8b18
以上你可以用我的,也可以自己下载。
目录
Linux虚拟机安装
虚拟机安装向导-打开Vmware创建新的虚拟机
虚拟机安装向导-选典型
虚拟机安装向导-选择CentOS7的安装路径
虚拟机安装向导-选择虚拟机的安装路径
虚拟机安装向导 - 选择虚拟机的磁盘大小,
虚拟机安装向导 - 选择自定义硬件
虚拟机安装向导 - 主要修改的是内存和处理器两项,内存也尽可能大一点
虚拟机安装向导 - 处理器这里给1 个处理器的数量,2个核。
虚拟机安装向导 - 到这一步完成虚拟机的向导
虚拟机安装 - 调一下虚拟机展示大小
虚拟机安装 - 点击
虚拟机安装 - 选择语言
虚拟机安装 - 主要设置项
虚拟机安装 - 设置INSTALLLATION DESTINATION
虚拟机安装 - 设置NETWORK & HOSTNAME
虚拟机安装 - 设置SOFTWARE SELECTION
虚拟机安装 - CONFIGURATION-USER SETTINGS
虚拟机安装 - 重启后设置LICENSING
启动Linux虚拟机
Linux虚拟机启动设置
Linux虚拟机启动-打开命令行
测试虚拟机与本机通讯
使用Xshell连上虚拟机
使用Xshell连上虚拟机-新建会话
使用Xshell连上虚拟机-新建会话-填入虚拟机ip地址
在Linux上安装JDK(安装Zookeeper的前提)
配置JDK环境变量
在Linux上安装Zookeeper
在/opt/software文件夹中上传zookeeper的安装包
解压zookeeper
启动zookeeper
去/apache-zookeeper-3.7.0-bin/conf配置zoo.cfg
在Linux上安装Kafka
将kafka安装文件上传至linux服务器
解压kafka安装包
至/kafka_2.11-2.4.0/bin目录下启动kafka
安装VMware-workstation(不演示VM安装)
下载 CentOS 7 镜像文件 (你可以自己下,也可以用我准备的)
因为kafka和zookeeper我都要安装所以我选了40G,看自己需要。
点击进去不设置也可以,直接点done
设置Ethernet为On,HostName随便设置设置
选择 Server with GUI,这是图形化界面,只有命令行的那种是Minimal Install
以上都设置好以后,选择Begin Installation
设置密码,如果太简单的话,第一次点done会提示过于简单,但咱就是要简单,继续点Done就完成了。
还有一个CREATE USER的选项,本来想使用自己的名字,但发现这样只是多个puppyCoding的用户,进去以后是没有权限的。
所以这里可以不用设置,直接用root账号就可以。
安装完成后重启一下
重启以后会来到这里,点击设置一下。
虚拟机安装 - 完成虚拟机的安装
然后点击FINISH CONFIGURATION完成虚拟机的安装
选择语言,我这里选英语。
然后一路Next到用户设置,填写用户名,好像不能填root用户名,先填的自己。
设置密码
命令行打开
注意用户,如果这里是你自己创建的用户,会有权限的问题,因此用su命令切换到root用户,这样才能进行对文件的增删改,否则设置权限蛮麻烦,我就用root用户了。
查看虚拟机ip
查看本机ip
互通测试-本机ping虚拟机
互通测试-虚拟机ping本机
Ok,两个机器能互相通讯了。
连入刚刚创建的会话。
zookeeper基于JDK环境,因此安装JDK是首要的。
找一个地方创建文件夹存放JDK文件,我这里在/opt 目录下 创建了一个software的文件夹,我会把JDK文件放在这里,你要用什么目录,随你。
命令行:
-- 去 opt目录
cd /opt
-- 创建 software文件夹存放软件安装包
mkdir software
-- 安装lrzsz命令便于Linux的上传和下载
yum install -y lrzsz
-- 去software目录
/opt/software
-- 使用rz命令上传软件安装包
rz
使用rz命令上传jdk安装包至linux (必须先执行 yum install -y lrzsz)
然后创建一个目录用于软件安装位置,我在/opt 目录下创建了一个install文件夹用于存放安装的软件。
命令行:
-- 创建install文件夹
mkdir /opt/install
-- 将文件解压至install文件夹
tar -zxvf jdk-8u181-linux-x64.tar.gz -C ../install
JDK已安装
把jdk目录地址复制上,然后去 /etc/profile中配置环境变量
命令行:
[root@localhost jdk1.8.0_181]# pwd
/opt/install/jdk1.8.0_181
[root@localhost jdk1.8.0_181]# vi /etc/profile
profile 文件中需要添加的配置信息
## JAVA_HOME
export JAVA_HOME =/opt/install/jdk1.8.0_181
## PATH
export PATH=$PATH:$JAVA_HOME/bin
在profile文件夹中的最下方配置JAVA_HOME 和PATH
保存退出,使用java -verison命令可以看到JDK已安装成功
[root@localhost software]# tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz -C ../install
zookeeper安装完成
zookeeper的启动依赖于zoo.cfg,在conf文件夹里有个zoo_sample.cfg文件,它是一个配置样板,复制一份,命令为zoo.cfg,需要配置的话需要编辑此文件夹进行额外配置,如何配置本文不再说明,但暂时基于安装学习的目的,就可以使这个zoo_sample.cfg的配置。
命令:
[root@localhost conf]# cp zoo_sample.cfg zoo.cfg
去/apache-zookeeper-3.7.0-bin/bin目录,使用一下命令启动Zookeeper。
[root@localhost bin]# ./zkServer.sh start
zookeeper启动成功
我的版本是2.40
[root@localhost software]# tar -zxvf kafka_2.11-2.4.0.tgz -C ../install/
然后kafka就安装成功了 ,需要配置server.propertis
server.propertis里需要配置的地方:
Log Basics
log.dirs
Zookeeper
zookeeper.connect
Socket Server Settings ,填上虚拟机ip地址
zookeeper
因为kafka和zk都在同一台服务器上,就没有额外配置,使用默认配置。
顺便说一下为什么kafka要与zookeeper相连:
ZooKeeper 作为给分布式系统提供协调服务的工具被 kafka 所依赖。在分布式系统中,消费者需要知道有哪些生产者是可用的,而如果每次消费者都需要和生产者建立连接并测试是否成功连接,那效率也太低了,显然是不可取的。而通过使用 ZooKeeper 协调服务,Kafka 就能将 Producer,Consumer,Broker 等结合在一起,同时借助 ZooKeeper,Kafka 就能够将所有组件在无状态的条件下建立起生产者和消费者的订阅关系,实现负载均衡。
修改完成后保存退出
命令:
./kafka-server-start.sh -daemon ../config/server.properties
以-daemon 守护线程的命令启动kafka,避免启动日志堆积刷屏,首次启动可以不加,用以下命令启动kafka。
kafka-server-start.sh config/server.properties &
可以用ps -ef|grep kafka 看看kafka启动成功没有。
至此,安装教程完毕。