欢迎访问我的GitHub
https://github.com/zq2599/blog_demos
内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;
关于cassandra3集群部署通常情况下的cassandra3集群部署操作如下:
安装JDK;
设置JDK环境变量;
创建运行cassandra服务的群组和账号;
安装cassandra;
设置cassandra环境变量;
设置cassandra参数;
设置cassandra日志目录和文件目录;
上述操作要在每台机器执行,手动操作较为费时,因此用ansible来完成上述所有步骤,除了省事儿,还减少了操作失误的概览;
关于ansible部署ansible是常用的运维工具,可以大幅度简化整个部署过程;
接下来使用ansible完成部署工作,如果您想了解ansible,请参考《ansible2.4安装和体验》;
部署操作如下图所示,在一台安装了ansible的电脑上运行脚本,由ansible远程连接到三台CentOS7.7的服务器上,完成部署工作:
软件版本本次实战的软件版本信息如下:
ansible电脑操作系统:CentOS Linux release 7.7.1908
cassandra服务器操作系统:CentOS Linux release 7.7.1908
cassandra版本:3.11.6
jdk:1.8.0_191
材料准备ansible远程操作最重要的是提前把材料准备好,本次实战一共需要如下7文件(稍后有下载地址):
ansible.cfg:ansible配置文件;
hosts:保存了三台cassansra服务器信息;
cluster-3-nodes.yml:ansible脚本,即playbook文件,里面是整个安装部署的逻辑;
vars-cluster-3-nodes.yml:ansible脚本用到的变量配置信息,例如JDK文件名,cassandra文件名等;
cassandra.yaml:cassandra配置文件,我从安装包里取出来做了些修改(几个和目录有关的配置,被我从注释状态改成了生效状态)
apache-cassandra-3.11.6-bin.tar.gz:cassandra官方安装包;
jdk-8u191-linux-x64.tar.gz:jdk8的官方安装包;
所有材料的下载地址从1到5的内容可以在我的GitHub下载,仓库地址:https://github.com/zq2599/blog_demos ,在仓库的playbooks/cassandra3目录下,有个名为cluster-3-nodes文件夹,如下图红框所示,这里面有那五个文件:
apache-cassandra-3.11.6-bin.tar.gz:在官方下载:
jdk-8u191-linux-x64.tar.gz:Oracle官网可下,也可以在csdn下载(不用积分),地址:https://download.csdn.net/download/boling_cavalry/12098987
文件摆放位置登录ansible电脑,在家目录创建名为palybooks的目录,命令是:mkdir ~/playbooks
上面的七个文件中,1到4放入playbooks目录;
playbooks目录下新建名为files的目录,将5到7放进去;
最终七个文件的摆放位置如下图:
修改配置cassandra服务器的IP地址、账号、密码等需要修改成您自己那边的信息,请修改hosts文件中的相关内容,如下图:
cassandra集群的seed配置是其中两台机器的IP地址,这个信息在vars-cluster-3-nodes.yml,请您改成自己机器的IP地址,如下图黄框所示:
如果您的集群名称、jdk版本、cassandra版本和我这里不同,都可以在vars-cluster-3-nodes.yml中修改;
第一次ssh连接到cassandra机器时会有提示要求输入"Yes",为了避免这种情况出现在ansible连接cassandra机器的时候,建议先手动连接一次,这样后面就不再出现提示了,如下图:
准备完毕,可以开始部署了;
部署在playbooks目录下执行ansible-playbook cluster-3-nodes.yml
等待大约5分钟左右,如果控制台没有报错,整个安装过程完成;
如果有报错,请按照错误提示做好处理再重复执行ansible-playbook cluster-3-nodes.yml,该命令可以反复多次执行;
启动部署的时候会创建名为cassandra的群组,以及名为cassandra的账号;
以cassandra账号分别SSH登录三台cassandra机器,密码是888888
登录cassandra机器后,在任意位置执行命令cassandra,即可启动cassandra服务;