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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Handler和HandlerThread

    Handler和HandlerThread

  • java函数式编程Function(java函数式编程实战)

    JAVA函数式编程背景常见的编程范式函数式编程的优劣JAVA8中为函数式编程引入的变化JAVA函数式编程可以简单概括基本函数Lambda表达式方法引用Stream流API创建操作中间操作终止从操作并行流级联表达式与柯里化收集器(终止操作因为内容较多提出来说明)Stream特性工程地址背景JAVA版本最新的目前已经发布到11了,但目前市面上大多数公司依然在使用Java7之前版本的语法,然而这些编…

  • 物联网用什么系统(物联网技术)

    前言  操作系统是物联网时代的战略制高点,今天PC和手机时代的操作系统霸主未必能在物联网时代延续霸业。操作系统产业的规律是,当垄断已经形成,后来者就很难颠覆,只有等待下一次产业浪潮。如今,一个全新的、充满想象空间的操作系统市场机会正在开启。  如此关键的产业环节必然是兵家必争之地。ARM、谷歌、微软、华为、阿里、海尔等国内外著名的IT企业纷纷推出物联网操作系统,整个产业呈现出群雄逐鹿的壮

  • linux强制删除文件夹

    linux强制删除文件夹使用rm-rf目录名字命令即可-r就是向下递归,不管有多少级目录,一并删除-f就是直接强行删除,不作任何提示的意思eg删除文件夹实例:rm-rf/var/log/httpd/access将会删除/var/log/httpd/access目录以及其下所有文件、文件夹删除文件使用实例:rm-f/var/log/httpd/access.log将会强制删除/var/log…

  • simplescalar自动安装

    simplescalar自动安装1.在gedit(或其他的文本编辑器)中加入以下代码:NAME=SimplescalarPACKAGE=simplescalarTOOL=simpletools-2v0UTIL=simpleutilsSIM=simplesimsudoapt-getupdatesudoapt-getinstallflex-oldbisonbuild-essentia

  • CSS鼠标悬浮及其样式

    CSS鼠标悬浮及其样式hover鼠标悬浮的使用和定义用法示例选择鼠标指针浮动在其上的元素,并设置其样式:.box:hover{background-color:red;}定义和用法:hover选择器用于选择鼠标指针浮动在上面的元素。提示:hover选择器可用于所有元素:link选择器设置指向未被访问页面的链接的样式,:visited选择器用于设置指向已被访问的页面…

发表回复

您的电子邮箱地址不会被公开。

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