因为目前手里只有一台win10操作系统的笔记本,需要部署一套kafka环境进行调试,所以考虑使用virtualbox安装centos来部署kafka。
windows下载安装virtualbox很简单,不清楚的可以从网上查询相关资料。
centos是前两年下载的一个mini版本,考虑部署一个轻量级的服务器,所以用这个mini版本装一个虚拟机。
virtualbox装centos虚拟机网络上有很多相关资料,也比较容易检索到,有需要的自行查询,不再重点说明。
注意,我装的是一个mini版本默认是没有提供一个可视化界面的。
在安装centos的过程中,是可以设置网络的,但是在安装的时候我直接忽略了。
所以,安装完成之后,我这里遇到两个问题:
下面是我的解决方案:
可以在虚拟机里访问外网,但是默认这个设置可能还没有用,需要设置启动的时候启用,文件位置: /etc/sysconfig/network-scripts/ifcfg-enp0s3
使用root权限进行编辑,如果onboot是no的时候,修改为yes,如下:
然后重启网络设置:
service network restart
此时,可以ping一下百度,是通的。
此时宿主机到虚拟机的网络是通的。
可以看到有两个网卡:
在宿主机上ping 192.168.56.101,是通的:
网卡配置结束。
不需要设置端口转发,我用的这个版本22端口是可以访问的,我在宿主机上使用secureCRT直接就连接上了:
我装的是centos-mini版本,没有GUI,所以安装完成后,发现这个版本的命令行上是没有光标的,也不能使用鼠标复制粘贴,安装如下工具解决:
- yum install gpm*
- service gpm start
- systemctl enable gpm
但是感觉装这个意义不大,因为这个命令行操作起来体验确实不太好,默认的配置下,命令窗口翻页还是快捷键shift+pageup、pagedown,也不支持鼠标滚动,和宿主机的复制粘贴还要安装其它工具和相关配置。
我嫌麻烦,就直接在宿主机上使用ssh连接上进行操作,体验是相当的好。
kafka的部署参考官网或查找相关资料,不是本文重点。
但是部署启动后,我是想要在宿主机可以直接访问的,所以需要注意listener这里的配置,配置这个网卡的IP:
但是配置完成启动后,我发现在宿主机上访问这个端口是不通的。
我尝试了配置virtualbox的端口转发,然后发现不是这个问题,问题在于centos中的防火墙。
我为了省事,直接把虚拟机centos中的防火墙关闭并禁用了:
- # 查看确实运行中
- systemctl status firewalld.service
- # 停止
- systemctl stop firewalld.service
- # 禁用
- systemctl disable firewalld.service
然后OK,外部可以直接访问了,如下:
在宿主机上部署的kafka控制台可以直接连接虚拟机中的kafka服务: