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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 免费数据集下载网站【dataset】

    免费数据集下载网站【dataset】https://github.com/awesomedata/awesome-public-datasets转载于:https://www.cnblogs.com/jerrybaby/p/9293319.html

    2022年8月31日
    8
  • 30 个重要数据结构和算法完整介绍建议保存

    30 个重要数据结构和算法完整介绍建议保存数据结构和算法(DSA)通常被认为是一个令人生畏的话题——一种常见的误解。它们是技术领域最具创新性概念的基础,对于工作/实习申请者和有经验的程序员的职业发展都至关重要。话虽如此,我决定在CSDN新星计划挑战期间将我所了解的数据结构和算法集中起来。本文旨在使DSA看起来不像人们认为的那样令人生畏。它包括15个最有用的数据结构和15个最重要的算法,可以帮助您在学习中和面试中取得好成绩并提高您的编程竞争力。后面等我还会继续对这些数据结构和算法进行进一步详细地研究讲解。

    2022年5月23日
    32
  • Java异常Error和Exception的区别「建议收藏」

    Java异常Error和Exception的区别「建议收藏」异常发生的原因有很多,通常包含以下几大类:用户输入了非法数据。要打开的文件不存在。网络通信时连接中断,或者JVM内存溢出。这些异常有的是因为用户错误引起,有的是程序错误引起的,还有其它一些是因为物理错误引起的。-要理解Java异常处理是如何工作的,你需要掌握以下三种类型的异常:检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个

    2022年7月13日
    15
  • webstorm 永久激活码【2021.8最新】[通俗易懂]

    (webstorm 永久激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1S…

    2022年3月27日
    76
  • DHCP协议解析

    DHCP协议解析DHCP(DynamicHostConfigurationProtocol,动态主机配置协议)是IETF为实现IP的自动配置而设计的协议,它可以为客户机自动分配IP地址、子网掩码以及缺省网关、DNS服务器的IP地址等TCP/IP参数。了解DHCP工作过程可以帮助我们排除有关DHCP服务遇到的问题。DHCP协议是基于UDP层之上的应用,本文结合抓报所得数据分析DHCP协议实现原理一、

    2022年5月23日
    49
  • 客观赋权法——变异系数法

    客观赋权法——变异系数法一、变异系数法的概念变异系数法是根据统计学方法计算得出系统各指标变化程度的方法,是一种客观赋权法。根据该方法变化差异较大的指标权重较大,变化差异较小的指标权重较小,从而根据指标的统计学规律确定其重要程度。变异系数法是一种较为客观的方法,能够客观的反应指标数据的变化信息,该方法能够比较客观的求出各指标的权重。根据各评价指标当前值与目标值的变异程度来对各指标进行赋权,当各指标现有值与目标值差距较大时,说明该指标较难实现目标值,应该赋予较大的权重,反之则应该赋予较小的权重。二、变异系数法的步骤(1)原

    2022年4月28日
    84

发表回复

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

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