本安装步骤笔记是我一步一步实验成功,如果据此安装应该会成功的。
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';