我这里安装的是Cassandra2.1.16,由于最开始时安装的是Cassandra3.0.9,但是由于解压二进制包之后,发现bin目录下没有cassandra-cli文件。所以弃用了3.0.9版本。
系统环境:centos6.7
1、下载Cassandra压缩包:
解压 压缩包:
tar -xzvf apache-cassandra-2.1.16-bin.tar.gz
修改文件名,方便操作:
mv apache-cassandra-2.1.16-bin.tar.gz cassandra2116
由于下载的是编译好的二进制包,所以不再需要编译;
2、安装java jdk,(cassandra2需要依赖jdk1.7及其以上版本)
这里我选择的是yum 安装java jdk
(1)、查看系统自带jdk是否已安装:
yum list installed |grep java
若有自带安装的jdk,如何卸载系统自带java环境:
yum -y remove java-1.7.0-openjdk*
yum -y remove tzdata-java.noarch
(2)、查看yum库中的java安装包
yum -y list java*
(3)、使用yum安装java环境(这里是安装的jdk-1.7.x)
yum -y install java-1.7.0-openjdk*
(4)、查看刚安装的java版本信息:
java -version
3、配置$JAVA_HOME(java环境变量 )和$CASSANDRA_HOME(cassandra环境变量)
一般来讲通过yum安装的jdk路径应该在/usr/lib/jvm/下(例如我这里的/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-0.b15.el6_8.x86_64)
(1)、打开环境变量配置文件:
vim /etc/profile
(2)、到最末行输入:
#java path
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-0.b15.el6_8.x86_64
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
#cassandra path
CASSANDRA_HOME=/root/cassandra2116
export CASSANDRA_HOME
这里的/root/cassandra2116 是我解压压缩包之后重命名之后的文件夹
保持文件并退出。
(3)、使配置生效:
source /etc/profile
(4)、在控制台输入echo $JAVA_HOME 和 echo $CASSANDRA_HOME 看是否输出所配置的路径
若没有生效,再检查,然后source
如果顺利到这里基本的安装和环境支持就搞定了。
----------------------------------------------------------
4、启动Cassandra:(本地单节点)
(1)、到 cassandra2116/bin目录下,执行cassandra文件:
./cassandra -f
(启动本地Cassandra服务,并且在前台打印日志。这里很像我们经常启动的本地mysql服务)
如果出现:
Cassandra x.0 and later require Java 8u40 or later 则说明jdk版本没有满足Cassandra的要求,需要重新安装尽量高的版本
如果启动之后,命令行报错,error ,则查看log文件排查错误(log文件位置和bin文件并列)
如果没有出现报错,在启动之后,命令行最后一行出现:
INFO 03:00:11 Starting listening for CQL clients on localhost/127.0.0.1:9042...
INFO 03:00:11 Binding thrift service to localhost/127.0.0.1:9160
INFO 03:00:11 Listening for thrift clients...
则说明一个监听本地端口9160的cassandra服务以及启动起来了。
5、通过客户端连接cassandra
(1)、到 cassandra2116/bin目录下,执行cassandra-cli文件:
./cassandra-cli
出现:
Connected to: "Test Cluster" on 127.0.0.1/9160
Welcome to Cassandra CLI version 2.1.16
The CLI is deprecated and will be removed in Cassandra 2.2. Consider migrating to cqlsh.
CQL is fully backwards compatible with Thrift data; see http://www.datastax.com/dev/blog/thrift-to-cql3
Type 'help;' or '?' for help.
Type 'quit;' or 'exit;' to quit.
则说明已经连接到本地了
(2)、查看集群:
show cluster name; (ps 每一条命令最后都需要加;号,不然会出现...,给新手一种停止执行的感觉)
未加 ; 如:
[default@unknown] show cluster name
...
正确方式:
[default@unknown] show cluster name;
Test Cluster
windows
将下载的文件解压,如:apache-cassandra-3.9。
配置环境变量(可选):
① CASSANDRA_HOME=D:\apache-cassandra-3.9;
② path=%CASSANDRA_HOME%\bin.
启动Cassandra服务和客户端
启动cmd(或者Power Shell),进入到cassandra的bin目录中执行cassandra.bat即可启动cassandra服务。
启动Cassandra客户端,在cassandra的bin目录下执行cassandra-cli启动客户端。
Cassandra启动过程遇到的错误
Windows PowerShell 内部错误。加载托管的 Windows PowerShell 失败,返回错误 80070002。
WARNING! Powershell script execution unavailable.
Please use 'powershell Set-ExecutionPolicy Unrestricted'
on this user-account to run cassandra with fully featured
functionality on this platform.
Starting with legacy startup options
Starting Cassandra Server
Error occurred during initialization of VM
Could not reserve enough space for 2097152KB object heap
解决方法:
1. 安装补丁Windows Management Framework 4.0 (KB2819745)可解决.
地址:http://www.microsoft.com/en-us/download/details.aspx?id=40855
2. 解决办法:
Could not reserve enough space for 2097152KB object heap
修改 cassandra.bat 中的JVM参数
set JAVA_OPTS=-ea^
-javaagent:”%CASSANDRA_HOME%\lib\jamm-0.2.8.jar”^
-Xms512m^
-Xmx512m^
Cassandra客户端初体验
1. help;
使用help命令查看Cassandra客户端的基本操作命令。
2. 创建keyspace
keyspace 对应关系数据库中的数据库。
命令: create keyspace geeker;
3. 使用创建的keyspace
use geeker;
如图可以看到,进入了geeker这个keyspace里面了。
创建列族 column family
列族 column family 就对应关系数据库中的表。
插入数据
set java[ascii(‘zhangsan’)][ascii(‘name’)]=ascii(‘zhangsan’);
查询数据
get java[ascii(‘zhangsan’)];