本安装步骤笔记是我一步一步实验成功,如果据此安装应该会成功的。

1> 下载并安装jdk:

     下载地址:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

     这里用的是:jdk-7u51-linux-x64.gz,存放到/home/soft/下然后解压:tar -zxvf jdk-7u51-linux-i586.tar.gz
     解压后移动到/usr/local下:mv jdk1.7.0_51 /usr/local/


2> 配置jdk环境变量

  vi /etc/profile

  在打开的文件的末尾,增加如下代码:

JAVA_HOME=/usr/local/jdk1.7.0_51

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME

export PATH

export CLASSPATH

  执行下如下命令 使配置生效:

source /etc/profile

  运行如下命令检查jdk是否安装成功:

    java -version 


3> 安装cassandra并启动和停止

  从http://cassandra.apache.org/download/下载,这里下载的是:apache-cassandra-2.0.7-bin.tar.gz,

  存放到/home/soft下然后解压:tar -zxvf apache-cassandra-2.0.7-bin.tar.gz

  解压后移动到/usr/local下:mv apache-cassandra-2.0.7 /usr/local/

  然后进入bin目录:cd /usr/local/apache-cassandra-2.0.7/bin

  后台方式启动: /usr/local/apache-cassandra-2.0.7/bin/cassandra

  后台方式终止: pkill -f CassandraDaemon (执行一次有时候不起作用,再次执行才行;通过该命令关闭监听端口:9042 9160 7199)

  如果在前台运行则:/usr/local/apache-cassandra-2.0.7/bin/cassandra -f,前台方式终止命令:按 "Control+C"


将命令加入到环境变量中

1

在/etc/profile的末尾增加:

$CASSANDRA_PATH=/usr/local/apache-cassandra-2.0.7/bin

export PATH=$PATH:$CASSANDRA_PATH

然后执行命令 source /etc/profile 使其修改生效

可通过echo $PATH命令查看结果


4> 更改cassandra配置并打开防火墙

更改监听地址

# Note that unlike ListenAddress above, it is allowed to specify 0.0.0.0

# here if you want to listen on all interfaces, but that will break clients

# that rely on node auto-discovery.

rpc_address: 172.16.100.33

针对端口打开防火墙:

执行 vi /etc/sysconfig/iptables

在最后一句话的上面增加:-A INPUT -m state --state NEW -m tcp -p tcp --dport 9160 -j ACCEPT

重启防火墙:service iptables restart

通过该命令验证是否可连接:telnet 172.16.100.33 9160


5> 测试cassandra

运行命令进入cql交互环境:cqlsh 172.16.100.33(如果没添加环境变量则需使用全路径)


1.创建键空间:

CREATE KEYSPACE mykeyspace

WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };

进入键空间:

USE mykeyspace;

2.创建表(列族)并插入数据:

CREATE TABLE tweet (

  id uuid PRIMARY KEY,

  userId text,

  message text,

  creationTime timestamp

);

INSERT INTO user (id, userId, message)

  VALUES (1743, '928141f2-156c-41dd-856c-0f59cdbc48c3', 'hello john',);

INSERT INTO user (id, userId, message, name)

  VALUES (1744, '928141f2-156c-41dd-856c-0f59cdbc48c3', 'hello peter');

INSERT INTO user (id, userId, message,  name)

  VALUES (1744, '928141f2-156c-41dd-856c-0f59cdbc48c3', 'hello smith');


3. 创建和删除索引

create index userid_key on tweet(userid);

drop index userid_key;


4. 按索引查找(没有索引的列是不能如此查询的)

select * from tweet where userid='928141f2-156c-41dd-856c-0f59cdbc48c3';