zoukankan      html  css  js  c++  java
  • Cassandra 之旅 (二) Getting Started

    一般来说学习某样东西, 我们都是找个范例照着范例先做一遍. 之后再可以通过资料, 自己使用积累去学习掌握它. 对于Cassandra, 我也不例外. 先按照官方文档部署一个简单的单节点服务出来玩一玩.

    Step 0: 安装JAVA环境, JDK 1.6或以上

    Step 1: 下载 Cassandra

    Step 2: 基本配置

    配置文件存放在<安装目录>/conf下面

    Step 2.1: 配置cassandra需要使用的文件夹, 打开conf/cassandra.yaml文件

    data_file_directories 修改成Windows下你想存放数据的路径, 如就存放到<安装目录>/data文件夹下. 注意前面的-是不能省略的

        data_file_directories:

        - C:\Program Files (x86)\apache-cassandra-1.2.3\data

    commitlog_directory 修改成Windows下你想存放Log的路径

    saved_caches_directory 修改成Windwos下你想存放cache的路径

    Step 2.2: 打开conf/log4j-server.properties

    log4j.appender.R.File=<安装目录>/system.log

    确保这些文件夹是存在的, 且有写入的权限.

    Step 2.3: 配置内存( 可选)

    cassandra默认分配内存是基于你物理内存大小的, 为物理内存的1/4到1/2. 如果你想自己配置内存使用大小, 可以打开 conf/cassandra-env.sh, 修改如下配置

    #MAX_HEAP_SIZE="4G"
    #HEAP_NEWSIZE="800M"

    一般经验来说, 你应该设置HEAP_NEWSIZE为MAX_HEAP_SIZE的1/4大小. 如果你遇到OutOfMemory的异常或者大量的GCs, 你可以尝试调大这两个值来解决这个问题.

    Step 3: 启动 cassandra

    到BIN目录下双击启动批处理文件cassandra.bat

    只要把窗口关掉就可以关闭cassandra服务了

    Step 4: 使用 cassandra-cli

    cassandra-cli是一个与cassandra服务交互的命令行的接口, 可以执行创建KEYSPACE, COLUMN FAMILY, 擦入数据, 查询数据等操作.

    运行在BIN目录下的cassandra-cli.bat就可以打开客户端了。cassanra-cli.bat是支持参数的,在命令行下,中转到BIN目录,运行

    cassandra-cli.bat help;

    可以查看如何传入参数,比如cassandra.yaml的默认配置的rpc的IP与端口分别是localhost, 9160。如果你把localhost改成本机的IP(非127.0.0.1),那你双击cassandra-cli.bat就无法连接到服务器了。这时你可以使用connect IP/PORT来连接到正确的IP与端口上。你也可以写一个批

    处理:

    cassandra-cli.bat -h 16.158.81.54 -u lewis -pw lewis

    启动后可以看到如下信息:

    注意cli的命令是以;为结束的.

    Connected to: "Test Cluster" on 127.0.0.1/9160
    Welcome to Cassandra CLI version 1.0.7
    
    Type 'help;' or '?' for help.
    Type 'quit;' or 'exit;' to quit.
    
    [default@unknown] 

    可以使用HELP;命令查看所有支持的命令, 以及命令的使用方法. 如:

    HELP GET;

    接下来我们就来操作一下cassandra数据库

    首先, 创建一个Keyspace:

    create keyspace DEMO; 回车执行

    第二步, 指名要操作的keyspace

    use DEMO; 回车执行

    第三步, 创建一个叫Users的列族

    [default@DEMO]create column family Users                
    ...     with key_validation_class = 'UTF8Type'    
    ...     and comparator = 'UTF8Type'               
    ...     and default_validation_class = 'UTF8Type';

    好了, 接下来你就可以往里面存数据了

    [default@DEMO] set Users[1234][name] = scott;
    Value inserted.
    Elapsed time: 10 msec(s).
    [default@DEMO] set Users[1234][password] = tiger;
    Value inserted.
    Elapsed time: 10 msec(s).

    取数据如下:

    [default@DEMO] get Users[1234];
    => (column=name, value=scott, timestamp=1350769161684000)
    => (column=password, value=tiger, timestamp=1350769245191000)
    
    Returned 2 results.
    Elapsed time: 67 msec(s).
    

    配置多节点集群

    刚才的步骤只是建立了一个单节点的cassandra. 其实也是一个cassandra集群, 但只包含一个节点而已. 通过添加更多的节点, 就可以让它成为一个多节点的集群了. 

    Note:

    http://www.datastax.com/download 可以下载DataStax Community Edition, 这个安装完成后, Cassandra都是默认帮你配好的。这个工具还包括CQL3的SHELL和一个WEB的管理工具。

  • 相关阅读:
    打砖块代码解析
    C语言拾遗(一):整型提升
    高性能分布式计算与存储系统设计概要——暨2012年工作3年半总结(下) <转>
    c10k测试:每连接新线程回显服务器(echo server) (转)
    高性能分布式计算与存储系统设计概要——暨2012年工作3年半总结(上) <转>
    java基础总结equals与==
    Java的运行机制概括
    Java 基础总结反射的基本操作
    python爬取基础网页图片
    px,dp,sp以及像素密度
  • 原文地址:https://www.cnblogs.com/modestmt/p/3051607.html
Copyright © 2011-2022 走看看