A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© yqw_gz_java 中级黑马   /  2020-6-3 21:35  /  3190 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 yqw_gz_java 于 2020-6-12 13:55 编辑

Cassandra 简介Apache Cassandra是一个高度可扩展的高性能分布式数据库,用于处理大量商用服务器上的大量数据,提供高可用性,无单点故障。这是一种NoSQL类型的数据库。 让我们先了解一下NoSQL数据库。
NoSQL 数据库
NoSQL数据库(有时称为“不是唯一的SQL”)是一种数据库,它提供一种机制来存储和检索数据,而不是关系数据库中使用的表格关系。这些数据库是无架构的,支持简单的复制,具有简单的API,最终一致,并且可以处理大量的数据。
NoSQL数据库的主要目的在于:
  • 设计简单
  • 水平缩放
  • 更好地控制可用性
与关系数据库相比,NoSql数据库使用不同的数据结构。它使NoSQL中的一些操作更快。给定NoSQL数据库的适用性取决于它必须解决的问题。
NoSQL数据库与关系数据库
下表列出了区分从NoSQL的数据库关系数据库的各点。
关系数据库NoSQL数据库
支持强大的查询语言。支持非常简单的查询语言。
它具有固定的模式。无固定模式。
遵循ACID(原子性,一致性,隔离性和持久性)。只有“最终一致”。
支持事务。不支持事务。
除了Cassandra,我们有以下NoSQL数据库是相当受欢迎:
  • Apache的HBase的 - HBase是一个开放源代码,非关系型,分布式数据库,以Google的BigTable为模型,用Java编写。它作为Apache Hadoop项目的一部分开发,在HDFS之上运行,为Hadoop提供类似于BigTable的功能。
  • MongoDB的 - MongoDB是一个跨平台的面向文档的数据库系统,避免使用传统的基于表的关系数据库结构,使用动态模式的类似JSON的文档,使得在某些类型的应用程序中的数据集成更容易和更快。
  • 什么是Apache Cassandra?
    Apache Cassandra是一个开源,分布式和分散式/分布式存储系统(数据库),用于管理遍布世界各地的大量结构化数据。它提供高可用性的服务,没有单点故障。
    下面列出了Apache Cassandra的一些值得注意的地方:

    • 它是可扩展,容错和一致的。
    • 它是一个面向列的数据库。
    • 它的分布设计基于Amazon的Dynamo及其在Google的Bigtable上的数据模型。
    • 创建在Facebook,它与关系数据库管理系统有很大的不同。
    • Cassandra实现了一个没有单点故障的Dynamo风格的复制模型,但增加了一个更强大的“列族”数据模型。
    • Cassandra被一些最大的公司使用,如Facebook,Twitter,Cisco,Rackspace,ebay,Netflix等。

    Cassandra的特点
    Cassandra因其卓越的技术特性而变得如此受欢迎。下面给出了Cassandra的一些特性:
    • 弹性可扩展性 - Cassandra是高度可扩展的; 它允许添加更多的硬件以适应更多的客户和更多的数据根据要求。
    • 始终基于架构 - Cassandra没有单点故障,它可以连续用于不能承担故障的关键业务应用程序。
    • 快速线性性能 - Cassandra是线性可扩展性的,即它为你增加集群中的节点数量增加你的吞吐量。因此,保持一个快速的响应时间。
    • 灵活的数据存储 - Cassandra适应所有可能的数据格式,包括:结构化,半结构化和非结构化。它可以根据您的需要动态地适应变化的数据结构。
    • 便捷的数据分发 - Cassandra通过在多个数据中心之间复制数据,可以灵活地在需要时分发数据。
    • 事务支持 - Cassandra支持属性,如原子性,一致性,隔离和持久性(ACID)。
    • 快速写入 - Cassandra被设计为在廉价的商品硬件上运行。 它执行快速写入,并可以存储数百TB的数据,而不牺牲读取效率。

    Cassandra的历史
    • Cassandra在Facebook上开发了收件箱搜索。
    • 它是由Facebook在2008年7月开放了源代码。
    • Cassandra于2009年3月被纳入Apache孵化器。
    • 它自2010年2月以来成为一个Apache顶级项目。
      Cassandra的使用场景

           待处理的数据量大
           数据量超过关系型数据库的承载能力
           大量集群
       Cassandra的安装             第一步安装jdk
             第二步下载Cassandra  https://cassandra.apache.org/
            第三步:解压运行
2.1 下载并解压cassandra安装包,本例子用的版本是2.1.14(这个镜像不行的话去官网找别的镜像)
1 wget http://mirrors.cnnic.cn/apache/cassandra/2.1.14/apache-cassandra-2.1.14-src.tar.gz2 tar -zxvf apache-cassandra-2.1.14-bin.tar.gz  -C /opt/cassandra
2.2 新建cassandra数据存放的文件夹(用安装包的方式就需要这一步)。
1 //可以根据磁盘情况设置这3个文件夹,但是要和cassandra.yaml里的想对应2 mkdir /var/lib/cassandra/data3 mkdir /var/lib/cassandra/commitlog4 mkdir /var/lib/cassandra/saved_caches
2.3 打开解压后的/opt/apache-cassandra-2.1.14/cassandra/conf的目录,修改其中的cassandra.yaml中的一些参数
[url=][/url]
1 cluster_name: 'xxx'  //集群名称。同一个集群要使用同一名称2 data_file_directories:3     - /var/lib/cassandra/data  //数据文件存放路径。打开这个注释,注意不要合并成一行,合并成一行好像会出问题,这里要与前面新建的文件夹对应。4 commitlog_directory: /var/lib/cassandra/commitlog //操作日志文件存放路径。打开注释,与前面新建的文件夹对应。5 saved_caches_directory: /var/lib/cassandra/saved_caches  //缓存文件存放路径。打开注释,与前面新建的文件夹对应。6 - seeds: "192.168.x.x"  //集群种子节点ip,新加入集群的节点从种子节点中同步数据。可配置多个,中间用逗号隔开。7 listen_address: 127.0.0.1  //需要监听的IP或主机名。改成本机IP8 rpc_address: 127.0.0.1  //用于监听客户端连接的地址。建议设置成IP或0.0.0.0。若设置0.0.0.0,则要放开broadcast_rpc_address: 1.2.3.4的注释。[url=][/url]

2.4 进入到bin目录下
1 ./cassandra
如果提示没有权限什么的
1 ./cassandra -R //用root用户启动
























0 个回复

您需要登录后才可以回帖 登录 | 加入黑马