ansible快速部署cassandra3集群

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 ,在仓库的playbooks/cassandra3目录下,有个名为cluster-3-nodes文件夹,如下图红框所示,这里面有那五个文件:
    在这里插入图片描述
  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版本和我这里不同,都可以在vars-cluster-3-nodes.yml中修改;
  4. 第一次ssh连接到cassandra机器时会有提示要求输入”Yes”,为了避免这种情况出现在ansible连接cassandra机器的时候,建议先手动连接一次,这样后面就不再出现提示了,如下图:
    在这里插入图片描述

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

部署

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

启动

  1. 部署的时候会创建名为cassandra的群组,以及名为cassandra的账号;
  2. 以cassandra账号分别SSH登录三台cassandra机器,密码是888888
  3. 登录cassandra机器后,在任意位置执行命令cassandra,即可启动cassandra服务;
  4. 等待大约几分钟,服务初始化、构建集群成功:
    在这里插入图片描述
  5. 在三台机器的任意目录下执行命令nodetool status,查看集群情况:
    ansible快速部署cassandra3集群

验证

  1. 在任意一台cassandra机器上,cqlsh进入交互模式后,执行以下操作:
    在这里插入图片描述
  2. 创建一个springboot应用,访问上面新建的student表,如下图红框所示,应用启动时连接cassandra成功:
    在这里插入图片描述
  3. springboot应用中有个根据名称查找记录的web接口,如下图,可以查到数据库中的记录:
    在这里插入图片描述
  4. 上面的springboot应用源码已上传到GitHub,仓库地址:https://github.com/zq2599/blog_demos ,在仓库的cassandrahelloworld目录下,如下图红框所示:
    在这里插入图片描述
    至此,cassandra集群从部署到验证已经操作完成,希望能给您一些参考;

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/2629.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • opencv滤波、图像形运算、Sober算子

    opencv滤波、图像形运算、Sober算子1.opencv中滤波操作:ksize必须是奇数1.均值操作:选定图像上的行数和列数,求出总和,除以总个数,然后将这个数放到这个选定区的中间区域中。数学表达式:4上的值=(5+6+6+7+4+…..+55)/25;函数:result=cv2.blur(src,ksize)importcv2o=cv2.imread(‘D:\cc1\lenacolor.png’)#进行图片的读取s1=cv2.blur(o,(10,10))#进行均值操作cv2.imshow(‘oringle’,o)#进行

    2022年7月14日
    18
  • oracle存储过程语法与使用

    oracle存储过程语法与使用oracle存储过程的基本语法1.基本结构  1CREATEORREPLACEPROCEDURE存储过程名  2IS  3BEGIN  4NULL;  5END;行1:CREATEORREPLACEPROCEDURE是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程,如果存在就覆盖它;行2:  IS关键词表明后面

    2022年7月17日
    17
  • datax(19):源码解读内置Transformer「建议收藏」

    datax(19):源码解读内置Transformer「建议收藏」通过datax(18)已经对transformer有了初步了解,继续撸代码,看datax已经内置的5种简单类型transformer;一、概述目前datax内置了5种常用的transformer,分别如下截取SubstrTransformer填充PadTransformer替换ReplaceTransformer过滤FilterTransformerGroovy类型GroovyTransformer二、SubstrTransformer主要是对record中的column的值进.

    2022年5月17日
    122
  • C++异常处理建议收藏

    一C++异常处理机制异常处理基本思想:执行一个函数的过程中发现异常,可以不用再本函数内立即进行处理,而是抛出该异常,让函数的调用者直接或间接的处理这个问题。C++异常处理进制由三个模块组成:tr

    2021年12月19日
    44
  • 关于MAC安装Pycharm的总结「建议收藏」

    关于MAC安装Pycharm的总结「建议收藏」关于MAC安装Pycharm的总结昨天,我根据微信公众号里的Mac软件管家下载安装一个Pycharm,我下载的是最新版本的(2019那款),是简体中文版。下载链接:pan.baidu.com/s/1R7j0tQ5EEqAWZjP_tmz5VQ提取码:cixh大家也可以自行关注那个公众号下载你所要滴!但是我在最后激活的时候遇到了一点小麻烦,如下图所示:然后我找到了一些方法去解决,希望…

    2022年8月26日
    8
  • nonzero函数_python 类方法

    nonzero函数_python 类方法类的nonzero方法用于将类转换为布尔值。通常在用类进行判断和将类转换成布尔值时调用。比如语句ifA:print'foo'中就会调用A.nonzero()来判断。下面这个程序应

    2022年8月6日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号