Cassandra<一>安装配置及常用命令

安装

  • 下载
    URL:http://archive.apache.org/dist/cassandra/
  • 解压
    tar -xf /home/zhangjian/tools/cassandra-2.2.4.tar.gz
  • 配置环境变量
    vim /etc/profile
    export CASSANDRA_HOME=/home/zhangjian/tools/cassandra-2.2.4
    export PATH= PATH: CASSANDRA_HOME/bin
  • 修改配置文件
    listen_address: localhost
    start_native_transport: true
  • 启动服务端
    cassandra
  • 启动客户端
    cqlsh

cassandra常用命令

  • 查看表空间
    describe keyspaces;

  • 查看已有表
    describe tables;

  • 查看表结构
    describe table table_name;

  • 创建keyspace
    create keyspace keyspace_name;

  • 删除keyspace
    drop keyspace keyspace_name;

  • 切换keyspace
    use keyspace_name;

  • 创建表
    create table table_name;

cassandra自带的命令工具

  • sstableloader
    Usage:sstableloader -d directIP(目标IP) sstableFilePath
    sstableloader是Cassandra自带的数据迁移工具,可以将外部数据(sstable文件)导入到Cassandra中,sstable文件就是Cassandra表数据从内存持久化到磁盘上的数据文件;
    说明:-d是指定数据要导入到的cassandra新集群的入口ip,sstableFilePath是指定sstable文件在本地文件系统的存储路径;

  • nodetool status
    提供有关群集的信息,如状态、负载和IDS。
    用法:nodetool < options > status ( -r | –resolve-ip ) - - < keyspace >

这里写图片描述

结果描述
- Status - U (up) or D (down)
指示节点是否正常运行。
特别的:如果显示“?N”,则很有可能节点之间不通,请检查网络问题或者防火墙。

  • State - N (normal), L (leaving), J (joining), M (moving)
    与群集有关的节点的状态。

  • Address
    node的地址

  • Load - updates every 90 seconds
    不包括子目录的所有内容的快照后Cassandra的数据目录下的文件系统的数据量。因为所有的SSTable数据文件包含,不清理任何数据,像TTL过期的单元或设置了墓碑的数据)数。

  • Tokens
    每个节点(node)设置的tokens的数量

  • Owns
    每个数据中心节点所拥有的数据的百分比*复制因子。
    例如,一个节点可以拥有33%的环,但显示100%,如果复制因子为3。
    注意:如果您的群集使用具有不同的复制策略和复制的因素是keyspaces,
    指定一个密钥空间当你运行nodetool状况得到有意义的所有权信息。

  • Host ID
    node的network ID

  • Rack
    机架ID

此外,cassandra自带的常用工具还有:
cassandra-stress 用于Cassandra的压力测试
sstablescrub 删除集群中的冗余数据
sstablesplit 将大的sstable 分割成小的文件
sstablekeys 列出sstable中包含的关键字
sstable2json 以Json形式显示sstable中的内容

Cassandra数据迁移
cassandra数据迁移有好多种方法,只要你的sstable文件没有丢失,这里只讲述两种常见易用的方式:

  • 第一种方式:copy命令

使用方法:适用于数据量小的情况下。

使用方式:
copy mykeyspace.mytable to ‘/home/db.csv’

这样就成功的把表mytable以csv的格式导出到了db.csv文件。
然后再另外一个集群中,建一个一模一样的表,然后使用
copy app12345.mytable from ‘/home/db.csv’
就把数据导入到了新的库中。
不过以上方式仅限于小数据量,当数据量一大,这个过程会持续很久,而且文件也会很大。

  • 第二种方式:sstableloader工具。
    在cassandra的bin目录下提供了一个sstableloader工具,这个工具专门用于把一个表的sstable文件导入到一个新的集群中。
    假设你的表是mykeyspace.mytable。你的数据存一个10个节点组成的集群中,每个几点的数据都存在/disk/data1和/disk/data2目录下。
    假设你的新集群的一个访问地址是192.168.2.1, 先在新集群建离相同名字的keyspace和表结构。
    接下来只要在老集群的每个节点执行下面的命令:
    bin/sstableloader -d 192.168.2.1 -u cassandra -pw cassandra -t 100 /disk/data1/mykeyspace/mytable
    bin/sstableloader -d 192.168.2.1 -u cassandra -pw cassandra -t 100 /disk/data2/mykeyspace/mytable
    其中-u是 用户名 -pw是密码 -t是限制流量100M/bps
    等所有节点执行完毕,你的表数据就成功导入到了新的集群中,当然只要你的机器io和网络条件允许,你可以多个节点并发执行。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值