ansible快速部署cassandra3集群

欢迎访问我的GitHub

https://github.com/zq2599/blog_demos

内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;

关于cassandra3集群部署

通常情况下的cassandra3集群部署操作如下:

  1. 安装JDK;
  2. 设置JDK环境变量;
  3. 创建运行cassandra服务的群组和账号;
  4. 安装cassandra;
  5. 设置cassandra环境变量;
  6. 设置cassandra参数;
  7. 设置cassandra日志目录和文件目录;

上述操作要在每台机器执行,手动操作较为费时,因此用ansible来完成上述所有步骤,除了省事儿,还减少了操作失误的概览;

关于ansible部署

  1. ansible是常用的运维工具,可以大幅度简化整个部署过程;
  2. 接下来使用ansible完成部署工作,如果您想了解ansible,请参考《ansible2.4安装和体验》
  3. 部署操作如下图所示,在一台安装了ansible的电脑上运行脚本,由ansible远程连接到三台CentOS7.7的服务器上,完成部署工作:
在这里插入图片描述

软件版本

本次实战的软件版本信息如下:

  1. ansible电脑操作系统:CentOS Linux release 7.7.1908
  2. cassandra服务器操作系统:CentOS Linux release 7.7.1908
  3. cassandra版本:3.11.6
  4. jdk:1.8.0_191

材料准备

ansible远程操作最重要的是提前把材料准备好,本次实战一共需要如下7文件(稍后有下载地址):

  1. ansible.cfg:ansible配置文件;
  2. hosts:保存了三台cassansra服务器信息;
  3. cluster-3-nodes.yml:ansible脚本,即playbook文件,里面是整个安装部署的逻辑;
  4. vars-cluster-3-nodes.yml:ansible脚本用到的变量配置信息,例如JDK文件名,cassandra文件名等;
  5. cassandra.yaml:cassandra配置文件,我从安装包里取出来做了些修改(几个和目录有关的配置,被我从注释状态改成了生效状态)
  6. apache-cassandra-3.11.6-bin.tar.gz:cassandra官方安装包;
  7. jdk-8u191-linux-x64.tar.gz:jdk8的官方安装包;

所有材料的下载地址

  1. 从1到5的内容可以在我的GitHub下载,仓库地址:https://github.com/zq2599/blog_demos ,在仓库的<font color="blue">playbooks/cassandra3</font>目录下,有个名为<font color="blue">cluster-3-nodes</font>文件夹,如下图红框所示,这里面有那五个文件:
    在这里插入图片描述
  2. apache-cassandra-3.11.6-bin.tar.gz:在官方下载:http://ftp.kddilabs.jp/infosystems/apache/cassandra/3.11.6/apache-cassandra-3.11.6-bin.tar.gz
  3. jdk-8u191-linux-x64.tar.gz:Oracle官网可下,也可以在csdn下载(不用积分),地址:https://download.csdn.net/download/boling_cavalry/12098987

文件摆放位置

  1. 登录ansible电脑,在家目录创建名为palybooks的目录,命令是:mkdir ~/playbooks
  2. 上面的七个文件中,1到4放入playbooks目录;
  3. playbooks目录下新建名为files的目录,将5到7放进去;
  4. 最终七个文件的摆放位置如下图:
在这里插入图片描述

修改配置

  1. cassandra服务器的IP地址、账号、密码等需要修改成您自己那边的信息,请修改hosts文件中的相关内容,如下图:


    在这里插入图片描述
  2. cassandra集群的seed配置是其中两台机器的IP地址,这个信息在vars-cluster-3-nodes.yml,请您改成自己机器的IP地址,如下图黄框所示:


    在这里插入图片描述
  3. 如果您的集群名称、jdk版本、cassandra版本和我这里不同,都可以在<font color="red">vars-cluster-3-nodes.yml</font>中修改;
  4. 第一次ssh连接到cassandra机器时会有提示要求输入"Yes",为了避免这种情况出现在ansible连接cassandra机器的时候,建议先手动连接一次,这样后面就不再出现提示了,如下图:


    在这里插入图片描述

准备完毕,可以开始部署了;

部署

  1. 在playbooks目录下执行ansible-playbook cluster-3-nodes.yml
  2. 等待大约5分钟左右,如果控制台没有报错,整个安装过程完成;
  3. 如果有报错,请按照错误提示做好处理再重复执行ansible-playbook cluster-3-nodes.yml,该命令可以反复多次执行;

启动

  1. 部署的时候会创建名为<font color="blue">cassandra</font>的群组,以及名为<font color="blue">cassandra</font>的账号;
  2. 以cassandra账号分别SSH登录三台cassandra机器,密码是<font color="red">888888</font>
  3. 登录cassandra机器后,在任意位置执行命令<font color="blue">cassandra</font>,即可启动cassandra服务;
  4. 等待大约几分钟,服务初始化、构建集群成功:


    在这里插入图片描述
  5. 在三台机器的任意目录下执行命令<font color="blue">nodetool status</font>,查看集群情况:


    ansible快速部署cassandra3集群

验证

  1. 在任意一台cassandra机器上,cqlsh进入交互模式后,执行以下操作:


    在这里插入图片描述
  2. 创建一个springboot应用,访问上面新建的student表,如下图红框所示,应用启动时连接cassandra成功:


    在这里插入图片描述
  3. springboot应用中有个根据名称查找记录的web接口,如下图,可以查到数据库中的记录:


    在这里插入图片描述
  4. 上面的springboot应用源码已上传到GitHub,仓库地址:https://github.com/zq2599/blog_demos ,在仓库的<font color="blue">cassandrahelloworld</font>目录下,如下图红框所示:
    在这里插入图片描述

    至此,cassandra集群从部署到验证已经操作完成,希望能给您一些参考;

欢迎关注公众号:程序员欣宸

微信搜索「程序员欣宸」,我是欣宸,期待与您一同畅游Java世界...
https://github.com/zq2599/blog_demos

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容