问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在windows上搭建cassandra

发布网友 发布时间:2023-03-05 05:11

我来回答

1个回答

热心网友 时间:2023-04-22 10:36

一、安装
1、安装cassandra
1.1 下载安装程序
下载Cassandra的安装程序;
1.2 安装配置
1)解压下载后的程序apache-cassandra-0.7.3-bin.tar.gz到某个目录,如d:\cassandra;

2)修改conf目录下配置文件
A)使用记事本打开cassandra.yaml文件,修改如下参数:
data_file_directories:
- /var/lib/cassandra/data
为 - d:\cassandra\data
注意:-后面需要有空格
commitlog_directory: /var/lib/cassandra/commitlog
为:commitlog_directory: d:\cassandra\commitlog
saved_caches_directory: /var/lib/cassandra/saved_caches
为:saved_caches_directory: d:\cassandra\saved_caches
B)使用记事本打开log4j-server.properties文件,修改如下参数:
log4j.appender.R.File=/var/log/cassandra/system.log
为:log4j.appender.R.File=D:\Cassandra\logs
2、安装JRE

2.1 下载安装程序
在http://www.oracle.com/technetwork/java/javase/downloads/index.html上下载jre的安装程序;
jre和jdk区别:jre只是java环境,jdk包含了开发工具和jre;
2.2 直接双击执行jre-6u25-windows-i586.exe进行安装,默认安装在C:\Program Files\Java\jre6目录即可;
3、配置环境变量
3.1 打开windows的环境变量配置窗口

鼠标右键点击我的电脑,选择属性,在弹出界面点击【高级】页签,再点击【环境变量】按钮;
3.2 配置JAVA_HOME环境变量
在“系统变量”添加JAVA_HOME,点击【系统变量】下方的【新建】按钮,输入
变量名:JAVA_HOME
变量值:C:\Program Files\Java\jre6
3.3 配置Cassandra_HOME环境变量
在“系统变量”添加Cassandra_HOME,点击【系统变量】下方的【新建】按钮,输入
变量名:Cassandra_HOME
变量值:D:\Cassandra\apache-cassandra-0.7.3
4、启动Cassandra
开始运行中敲入cmd回车打开命令窗口,敲入cd D:\Cassandra\apache-cassandra-0.7.3\bin回车,敲入d:回车,转到D:\Cassandra\apache-cassandra-0.7.3\bin目录后,直接敲入cassandra就可以启动cassandra服务了,如下:
D:\Cassandra\apache-cassandra-0.7.3\bin>cassandra
Starting Cassandra Server
INFO 09:33:34,375 Logging initialized
INFO 09:33:34,390 Heap size: 1070399488/1070399488
INFO 09:33:34,390 JNA not found. Native methods will be disabled.
INFO 09:33:34,406 Loading settings from file:/D:/Cassandra/apache-cassandra-0.7.3/conf/cassandra.yaml
INFO 09:33:34,562 DiskAccessMode 'auto' determined to be standard, indexAccessMode is standard
INFO 09:33:34,765 Creating new commitlog segment d:\cassandra\commitlog\CommitLog-1306200814765.log
INFO 09:33:34,781 Couldn't detect any schema definitions in local storage.
INFO 09:33:34,781 Found table data in data directories. Consider using JMX to call org.apache.cassandra.service.StorageService.loadSchemaFromYaml().
INFO 09:33:34,796 No commitlog files found; skipping replay
INFO 09:33:34,828 Upgrading to 0.7. Purging hints if there are any. Old hints will be snapshotted.
INFO 09:33:34,828 Cassandra version: 0.7.3
INFO 09:33:34,828 Thrift API version: 19.4.0
INFO 09:33:34,843 Loading persisted ring state
INFO 09:33:34,843 Starting up server gossip
INFO 09:33:34,843 switching in a fresh Memtable for LocationInfo at CommitLogContext(file='d:\cassandra\commitlog\CommitLog-1306200814765.log', position=700)
INFO 09:33:34,859 Enqueuing flush of Memtable-LocationInfo@31556811(227 bytes,4 operations)
INFO 09:33:34,859 Writing Memtable-LocationInfo@31556811(227 bytes, 4 operations)
INFO 09:33:35,656 Completed flushing d:\cassandra\data\system\LocationInfo-f-1-Data.db (335 bytes)
WARN 09:33:35,718 Generated random token 152144483071909207899303400696660552068. Random tokens will result in an unbalanced ring; see http://wiki.apache.org/cassandra/Operations
INFO 09:33:35,718 switching in a fresh Memtable for LocationInfo at CommitLogContext(file='d:\cassandra\commitlog\CommitLog-1306200814765.log', position=996)
INFO 09:33:35,718 Enqueuing flush of Memtable-LocationInfo@22975191(53 bytes, 2operations)
INFO 09:33:35,734 Writing Memtable-LocationInfo@22975191(53 bytes, 2 operations)
INFO 09:33:35,828 Completed flushing d:\cassandra\data\system\LocationInfo-f-2-Data.db (163 bytes)
INFO 09:33:35,843 Will not load MX4J, mx4j-tools.jar is not in the classpath
INFO 09:33:35,890 Binding thrift service to localhost/127.0.0.1:9160
INFO 09:33:35,890 Using TFastFramedTransport with a max frame size of 15728640bytes.
INFO 09:33:35,890 Listening for thrift clients...
二、使用
1、连接Cassandra服务
开始运行中敲入cmd回车进入命令窗口,敲入cd D:\Cassandra\apache-cassandra-0.7.3\bin后,在敲入d:回车转到bin目录中
敲入cassandra-cli命令回车,直接敲入如下命令可以连接到本机已经启动的cassandra数据库
--cassandra默认为9160端口,注意后面需要有;结束
connect localhost/9160;
2、创建keyspace
create keyspace keyspace1;
use keyspace1;
3、创建column family
create column family Standard1 with column_type = 'Standard' and comparator = 'BytesType';
describe keyspace keyspace1;
list standard1;
drop column family standard1;
--必须指定column_type和comparator
create column family cf1 with column_type = 'Standard' and comparator = 'BytesType';
create column family cf2 with column_type = 'Standard' and comparator = 'UTF8Type' and rows_cached = 10000;
create column family Super1 with column_type=Super and comparator=BytesType;
--设置列值
set cf1['key_1']['column_1']='value_1';
set cf1['key_1']['column_2']='value_2';
set cf1['key_2']['column_1']='value_3';
set cf1['key_2']['column_2']='value_4';
--设置列值
set cf2['key_1']['column_1']='value_1';
set cf2['key_1']['column_2']='value_2';
set cf2['key_2']['column_1']='value_3';
set cf2['key_2']['column_2']='value_4';
set super1['key_1']['column_1']='value_1';
get cf2['key_2']['column_2']; --提示错误Column family Super1 may only contain SuperColumns
--取列值
get cf1['key_1'];
--计数
count cf1['key_1'];
count cf1['key_2'];
--取列值
get cf1['key_1']['column_1'];
--删除列值
del cf1['key_1']['column_1'];
list cf2[key_1:];
---二级索引的使用
1、定义:在Cassandra中,对列值(column values)的索引叫做"二级索引",它与列簇(column families)中对key的
索引不同。二级索引允许我们对列值进行查询,并且在读取和写入的时候不会引起操作阻塞。
2、使用方法:
create keyspace demo;
use demo;
--注意大小写,索引birth_date
create column family users with comparator=UTF8Type and column_metadata=
[{column_name:full_name,validation_class:UTF8Type},
{column_name:birth_date,validation_class:LongType,index_type:KEYS}];
--插入数据:
set users[a][full_name]='a';
set users[a][birth_date]=1977;
set users[b][full_name]='b';
set users[b][birth_date]=1978;
set users[c][full_name]='c';
set users[c][birth_date]=1979;
set users[d][full_name]='d';
set users[d][birth_date]=1977;
--查询birth_date=1977的数据:
get users where birth_date=1977;
--查询结果如下:
[default@demo] get users where birth_date=1977;
-------------------
RowKey: a
=> (column=birth_date, value=1977, timestamp=1306733443578000)
=> (column=full_name, value=a, timestamp=1306733438406000)
-------------------
RowKey: d
=> (column=birth_date, value=1977, timestamp=1306733577125000)
=> (column=full_name, value=d, timestamp=1306733572687000)
2 Rows Returned.
--多个二级索引使用
set users[a][card_no]='111';
--更新列簇users设置card_no和birth_date都索引
update column family users with comparator=UTF8Type and column_metadata=
[{column_name:full_name,validation_class:UTF8Type},
{column_name:birth_date,validation_class:LongType,index_type:KEYS},
{column_name:card_no,validation_class:UTF8Type,index_type:KEYS}];
--查询证件号码为111的列
get users where card_no='111';
get users where card_no='111' and birth_date=1977;
--虽然full_name没有索引,但是也能够查出结果
get users where card_no='111' and birth_date=1977 and full_name='a';
get users where card_no='111' and full_name='a';
get users where birth_date=1977 and full_name='a';
--如果仅仅通过full_name查询则出错
get users where full_name='a';
--结果如下:
[defualt@demo] get users where full_name='a';
No indexed columns present in index clause with operator EQ
--退出
quit;
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
四万元没开发票税务局发多少钱 不给开发票这个情节要罚多少钱? 广东乌龙茶的种类 银行什么时候拉征信 600795国电电力,为什么在2010年4,5月突然从8块跌到4块呢?涨幅-50%... 学习很差怎么逆袭 高考文科差生五十天冲刺计划!!! ...漂亮女人,那些不大漂亮的还很善良有点丑的怎么办?她们不是很可怜吗... CS1.6 AWP经典的FRAG视频 求链接 ...大家谁有AWP的视频或者DEMO,要个看看,学学,谢谢!~ 消防火灾自动报警及联动系统图,这个消火栓箱按钮需要接几根线,都是什 ... 邮箱格式一般是什么? 为什么scp机密站点登录不了 在哪个软件里更新scp机密站点 如何下载scp游戏下载视频 scp基金会的游戏在哪下 买房返现是什么套路 创新阅读文言文阅读训练八年级下册答案 笔记本电脑变压器上的电源线坏了,怎么办?用去售后换吗,大概多少钱... 莱茵春天 歌德学院 北外 德语培训 苹果手机怎么安装两个 亿田集成灶上电磁炉型号 平安保险为什么每年都有平安福 十堰出发自驾游去南方怎么走 女朋友熬夜关心她的话 盲人戴墨镜(打一四字成语) 苹果6s.手机流量打不开Store!4g网也不可以!无线网可以打开!!!是电信... 苹果腾讯游戏退款要提供账单吗 花呗风控每笔都要人脸吗 哈尔滨旅游必去十大景点推荐 科玄论战的影响 人生观(节选) 手机一个手机号注册了两个怎么找回第一个? 一个号码注册了两个,两个都没了怎么找回? 一个手机号码注册了两个之前那个微信怎么找回来 我用一个手机号注册了两个,但是我第一个微信不见了,我在怎样找回... 一个手机号码注册了两个之前那个微信怎么找回来? 同一个手机号绑定了两个,其中一个找不到,怎么办,那个号里还有钱... 一个手机号码注册了两个之前那个微信找不到了怎么办? 怎样设置电脑,能够禁止安装软件和屏蔽购物网站(XP系统和win7系统) 哪两种气体混合时会爆炸 O2与空气混合后会发生爆炸吗~? 为什么会写数字化档案管理的论文题目 苹果手机装两个,怎么弄? 苹果手机怎么安装两个 苹果手机如何直接登录两个 苹果手机如何上2个 苹果怎么登陆两个啊? 苹果手机怎么微信分身同时登陆两个 ...是分期付款的,我现在想把钱全部还了!支付宝支持吗?