美文网首页cassandra数据库入门到熟悉
Cassandra 介绍以及安装使用

Cassandra 介绍以及安装使用

作者: maxwellguo | 来源:发表于2019-01-12 13:55 被阅读0次

    一、Cassandra 介绍

    Cassandra简短介绍: ​ Apache Cassandra是一个开源的分布式数据库,它具有高可用、弹性可伸缩、强容错、可调节的一致性等特点。Cassandra 基于Amazon'Dynamo 的分布式架构设计以及它的数据模型是基于Google的Bigtable进行开发。现在被广泛应用于web站点。 ​

    二、Cassandra安装

    安装的话一般分2种:1.下载可执行的安装包;2.源码编译;第一种我们先不用介绍,直接从下载页面下载需要的可执行文件即可;我们主要来介绍源码编译得到我们需要的过程,这里以最新release版本进行演示,在进行源码编译安装前本机上面需要执行一些预操作包括:jdk安装,这里建议jdk1.8以及以上的版本进行安装,安装可以参考相关谷歌文档进行;ant 安装,因为cassandra使用ant编译工具;作者的jdk 以及ant的版本信息如下:
    ➜ cassandra git:(3.11) java -version
    java version "1.8.0_144"
    Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
    Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

    ➜ cassandra git:(3.11) ant -version
    Apache Ant(TM) version 1.10.1 compiled on February 2 2017

    上面的预先准备完成以后,那么我们开始执行正确的源码编译安装:

    2.1.源码编译流程
    • 从github 下载对应的源码:git clone https://github.com/apache/cassandra.git

    • 切换到release的分支:git checkout -b 3.11 origin/cassandra-3.11

    • cd 到cassandra的目录下面,在这个目录下面一定要有一个build.xml 这个类似的文件,因为cassandra使用ant 做编译软件,该文件不可缺少;

    • 编译&打包为可执行的文件: ant clean build release

      我们在build 目录下面可以看到如下的一些内容:

    build git:(3.11) ✗ ls
    apache-cassandra-3.11.3-SNAPSHOT-bin.rat.txt apache-cassandra-thrift-3.11.3- SNAPSHOT.pom
    apache-cassandra-3.11.3-SNAPSHOT-bin.tar.gz build-dependencies-sources.xml
    apache-cassandra-3.11.3-SNAPSHOT-bin.tar.gz.md5 build-dependencies.xml
    apache-cassandra-3.11.3-SNAPSHOT-bin.tar.gz.sha classes
    apache-cassandra-3.11.3-SNAPSHOT-dist.pom dist
    apache-cassandra-3.11.3-SNAPSHOT-parent.pom ecj
    apache-cassandra-3.11.3-SNAPSHOT-src.rat.txt jacoco
    apache-cassandra-3.11.3-SNAPSHOT-src.tar.gz javadoc
    apache-cassandra-3.11.3-SNAPSHOT-src.tar.gz.md5 lib
    apache-cassandra-3.11.3-SNAPSHOT-src.tar.gz.sha maven-ant-tasks-2.1.3.jar
    apache-cassandra-3.11.3-SNAPSHOT.jar test
    apache-cassandra-3.11.3-SNAPSHOT.pom tools
    apache-cassandra-thrift-3.11.3-SNAPSHOT.jar
    这些就是我们打编译打出来的release包;当然这里version给的是snapshot版本,我们可以基于实际情况在build.xml里面进行修改

    • 我们选择上面5种build目录下的apache-cassandra-3.11.3-SNAPSHOT-bin.tar.gz 作为我们的安装版本

    • 到第这一步和第一种所说的下载可执行包的结果就一样了,那么我们可以做的事情就是,解压编译得到的tar包(下载的可执行包)

      cd到解压的包里面,然后主要有下面几类文件夹:

    ➜ apache-cassandra-3.11.3-SNAPSHOT git:(3.11) ✗ ll|grep dr |awk '{print $NF}'|tr -s '\n' ' '
    bin conf doc interface javadoc lib pylib tools

    分别介绍下这几个文件夹的意义:
    bin
    这个目录包括了很多可执行的文件,包括执行query语言的shell(cqlsh)客户端,以及命令行接口(CLI)的客户端,nodetool脚本(nodetool脚本是一个用于观测集群状态以及进行集群级别操作的工具脚本)此外还包含了一些用于在SSTable上面进行操作的脚本文件,比如:列出sstable包含的key的功能可执行文件(sstablekeys),大量读取以及恢复sstable内容的可执行文件(sstableloader)以及把cassandra的SSTable进行版本更新的可执行文件(sstableupgrade)。
    conf
    这个目录包含了cassandra实列的一些配置文件。那么久要求这个配置文件包含:cassandra.yaml(这个是cassandra可以运行的最主要的配置文件)、logback.xml(这个文件可以配置cassandra的打log的一些信息)、一些附加的可以选择性的做配置,比如可以使用配置修改网络拓扑结构(network topology)、trigger等;
    interface
    这个文件夹只包含了cassandra.thrift这个文件,这个文件基于thrift协议定义了一个RPC的接口。我们可以使用这个接口文件开发出多语言的接口。但是这个thrift接口后续不会支持,在4.0就直接被删除。
    javadoc
    这个文件夹里面主要是web化的一些cassandra的java api的展示;
    lib
    包含cassandra实列需要运行的一些lib 包;
    pylib
    包含cassandra的实列运行的时候cqlsh能够运行的python包;
    tools
    一些工具,包含了cassandra的压测工具,cassandra-stress等;

    2.2.启动cassandra实列

    分别介绍下在Linux/Mac os 以及windows上如何启动cassandra的实列:

    windows

    windows环境下你遵循如下操作即可:

    • 设置下JAVA_HOME,设置方式可以参考百度、谷歌

    • 设置下我们的CASSANDRA_HOME,在环境变量里设置下;

    • 默认情况下数据存储目录,cache目录,log目录这里使用默认的,也就是在CASSANDRA_HOME

      目录下面会有data(存放数据),logs(存放生成的log)

      完成上述操作,我们后续启动下进程,启动相关参考后续和Linux一样的操作

    Linux/Mac os

    在Linux环境下 设置完成JAVA_HOME以后,直接cd 到解压的tar包目录下面的bin目录下;

    在这个目录下会有cassandra这个可执行文件,为了让我们的运行足够的简单,在Linux环境下,我们自己可以编写一个start脚本,命名为start-server.sh,脚本的内容是:

    nohup ./cassandra -f > log 2>&1 &

    然后直接在bin 目录下面运行 sh start-server.sh 即可启动该机器的cassandra进程。当然在start-server.sh 脚本里面我们可以做其他操作比如预调整进程的nice值等;

    验证成功启动

    我们可以通过jps 或者ps ef |grep cassandra 查看是否启动进程,或者netstat 查找9042端口是否处于listen状态来判断是否成功启动;

    停止进程

    bin目录下面有stop-server 可以处理这件事

    执行cql验证

    在bin目录下面可以执行cassandra-cli(3.0版本前)或者是cqlsh脚本进而输入胡cql语句直接访问数据库

    但是如果需要通过cqlsh 运行cql语句的话,需要本机安装python2.7以及以上版本。

    后续接下来的文章会系统介绍cassandra软件的配置、调优、使用、监控搭建、生产环境下的部署、cql的使用以及语句模型、到深入的代码研究和分析等一系列的文章,敬请期待。

    相关文章

      网友评论

        本文标题:Cassandra 介绍以及安装使用

        本文链接:https://www.haomeiwen.com/subject/ywxcdqtx.html