Windows环境下安装Cassandra1.0.2
为什么80%的码农都做不了架构师?>>>
以Cassandra 1.0.2为例。
1、 安装文件准备
下载Cassandra1.0.2、Jdk 1.7。(全部推荐最新版本)
Cassandra下载地址:http://cassandra.apache.org/download/
Jre下载地址:http://www.java.com/zh_CN/download/
2、安装JDK、Cassandra
(一)、安装Jdk的过程很简单,这里不做说明。
(二) 、解压缩后获得目录apache-cassandra-1.0.2
(三)、配置JDK、Cassandra系统环境变量
1、配置JDK系统环境变量
2、配置Cassandra系统环境变量
3、将cassandra系统环境变量添加到JDK环境变量中
3、配置Cassandra
(1)修改其它地址
打开文件:cassandra.yaml,修改:
data_file_directories: - D:\apache-cassandra-1.0.2\data
commitlog_directory: D:\apache-cassandra-1.0.2\commitlog
saved_caches_directory: D:\apache-cassandra-1.0.2\saved_caches
修改后的样子如下:
data_file_directories:
- F:\javadevelop\service\casssandra\apache-cassandra-1.0.2\data
commitlog_directory: F:\javadevelop\service\casssandra\apache-cassandra-1.0.2\commitlog
saved_caches_directory: F:\javadevelop\service\casssandra\apache-cassandra-1.0.2\saved_caches
4、启动
(1)在命令提示符工具中启动Cassandra:
(2)用nodetool工具确认Cassandra已经启动:
5、测试
(1)运行cassadnra-cli:
(2)创建keyspace、column family,插入数据:
(3)获取数据:
可以正常执行,说明安装成功。
6、Java客户端代码
(1)、创建java项目的过程很简单,这里不做说明。
(2)、将F:\javadevelop\service\casssandra\apache-cassandra-1.0.2\lib目录下的jar全部拷贝到WEB-INF/lib目录下;
(3)、创建客户端java类,code如下:
package com.tzdr.api.controller;
import org.apache.cassandra.thrift.*;
import org.apache.thrift.TException;
import org.apache.thrift.protocol.TBinaryProtocol;
import org.apache.thrift.protocol.TProtocol;
import org.apache.thrift.transport.TFramedTransport;
import org.apache.thrift.transport.TSocket;
import org.apache.thrift.transport.TTransport;
import java.io.UnsupportedEncodingException;
import java.nio.ByteBuffer;
import java.util.List;
public class CassandraExample {
public static void main(String[] args)
throws TException, InvalidRequestException, UnavailableException, UnsupportedEncodingException, NotFoundException, TimedOutException {
TTransport tr = new TFramedTransport(new TSocket("localhost", 9160));
TProtocol proto = new TBinaryProtocol(tr);
Cassandra.Client client = new Cassandra.Client(proto);
tr.open();
String key_user_id = "jsmith"; //row id
client.set_keyspace("tzdrdevelop"); //指定keyspace
ColumnParent parent = new ColumnParent("User");
ColumnPath path = new ColumnPath("User");
// 读取单列内容
path.setColumn(toByteBuffer("first"));
ColumnOrSuperColumn col = (client.get(toByteBuffer(key_user_id), path, ConsistencyLevel.ONE));
System.out.println(toString(col.column.name) + " -> " + toString(col.column.value));
// 读取全部列内容
SlicePredicate predicate = new SlicePredicate();
SliceRange sliceRange = new SliceRange(toByteBuffer(""), toByteBuffer(""), false, 10);
predicate.setSlice_range(sliceRange);
List<ColumnOrSuperColumn> results = client.get_slice(toByteBuffer(key_user_id), parent, predicate, ConsistencyLevel.ONE);
for (ColumnOrSuperColumn result : results) {
Column column = result.column;
System.out.println(toString(column.name) + " -> " + toString(column.value));
}
// 向数据库中插入数据
long currentTimeMillis = System.currentTimeMillis();
long nanoTime = System.nanoTime();
long currentTimeMicros = currentTimeMillis * 1000 + nanoTime / 1000 - (nanoTime > 1000000 ? (nanoTime / 1000000) * 1000 : 0);
//注意取microseconds,而不是milliseconds,因为其它客户机都是microseconds。
//如果使用System.currentTimeMillis()导致你的时间永远小于其它客户机的时间,使其操作会被忽略。
System.out.println(currentTimeMicros);
String new_key_user_id = "jsmith"; //row id
Column nameColumn = new Column(toByteBuffer("name"));
nameColumn.setValue(toByteBuffer("Chris Goffinet"));
nameColumn.setTimestamp(currentTimeMicros);
client.insert(toByteBuffer(new_key_user_id), parent, nameColumn, ConsistencyLevel.ONE);
Column pwdColumn = new Column(toByteBuffer("password"));
pwdColumn.setValue(toByteBuffer("12345678"));
pwdColumn.setTimestamp(currentTimeMicros);
client.insert(toByteBuffer(new_key_user_id), parent, pwdColumn, ConsistencyLevel.ONE);
tr.flush();
tr.close();
}
public static ByteBuffer toByteBuffer(String value)
throws UnsupportedEncodingException {
return ByteBuffer.wrap(value.getBytes("UTF-8"));
}
public static String toString(ByteBuffer buffer)
throws UnsupportedEncodingException {
byte[] bytes = new byte[buffer.remaining()];
buffer.get(bytes);
return new String(bytes, "UTF-8");
}
}
转载于:https://my.oschina.net/wpq/blog/674501
Windows环境下安装Cassandra1.0.2相关推荐
- mysql8.0卸载出现问题,Windows环境下MySQL 8.0 的安装、配置与卸载
软件版本 Windows:Windows10 MySQL:mysql-8.0.17-winx64.zip 安装步骤 1.配置环境变量 2.新建my.ini文件 文件位置:C:\Program File ...
- MYSQL 5.7 解压版 windows 环境下安装
MYSQL 5.7 解压版 windows 环境下安装 1.下载MYSQL 2.下载完成后,放入要部署目录,解压. 3.新建 my.ini 文件 data 子文件夹千万不要自己建,否则后续启动会报错 ...
- Windows环境下安装Oracle11g客户端
Windows环境下安装Oracle11g客户端 前言 假设你已经成功安装了Oracle11g,有一个本地的Oracle服务器,或者你有一个远程的Oracle服务器.注意保证客户端和服务器端体系结构的 ...
- windows环境下安装RabbitMQ(超详细)
windows环境下安装RabbitMQ(超详细) 记录RabbitMQ安装过程,欢迎大家和我交流.(安装过程中遇到的问题也有总结哈,请查看) RabbitMq简介 安装准备工具 安装步骤(图文) 安 ...
- 在windows环境下安装pycocotools
在windows环境下安装pycocotools 之前看过很多教程,不过始终没有找到适合自己的,因此记录一下,希望能帮助到小伙伴们. 首先,进入pycocotools的网址,然后下载对应的压缩包 ...
- Windows环境下安装HBase(Hadoop3.1.3、HBase2.2.5)与Linux环境下搭建HBase高可用集群
Windows环境下安装HBase 下载HBase 官网: https://hbase.apache.org/downloads.html 不同版本集合:https://archive.apache. ...
- Windows环境下安装wdl文件
网上有写介绍Windows环境下安装wdl文件的方法,有些方法非常麻烦,经过研究,个人觉得比较简单的方法如下: 安装pip 从https://pypi.python.org/pypi/pip#down ...
- 代码审查工具【Review Board】在Windows环境下安装与配置
前言 Review Board是基于Web的代码审查工具. 官方网站:https://www.reviewboard.org/ Review Board在Windows环境下安装是一件比较困难的事情, ...
- 在没有网的windows环境下安装Python模块
在安装python环境以及python的一些模块时,可能需要在没有网的windows环境下安装Python模块. python模块下载地址,几乎所有的模块都有:https://www.lfd.uci. ...
最新文章
- 用Redis实现微博关注关系
- [USACO1.3]混合牛奶 Mixing Milk
- 485. 最大连续1的个数 golang
- ASCII Unicode GBK UTF的联系
- 物联网入门学什么开发板_物联网入门:如何构建DIY Blynk板
- 一定质量的封闭气体被压缩后_单螺杆压缩机
- 比特币支付接口php,比特币支付php类
- 使用jquery判断及改变checkbox选中状态
- 循序渐进 OSPF的详细剖析(二)
- linux卸载java rpm_详解Linux中查看jdk安装目录、Linux卸载jdk、rpm命令、rm命令参数...
- 计算机专业英语1500词TXT,计算机专业英语词汇1500词(一)
- 客户需求分析工具-$APPEALS
- python中最大值函数,python中如何获取最大值函数
- 系统hosts文件进行域名解析
- Premiere 快捷键
- Linux(6)RedHat7 基本命令五-hwclock(clock)命令详解
- 解决docker拉取镜像Get https://registry-1.docker.io/v2/:(Client.Timeout exceeded while awaiting headers)报错
- 最新 955 不加班的公司名单(2022版)
- ubuntu18.04 台式机无线网卡TPLink WDN5200H2.0驱动安装
- win10:如何查看可用内存插槽
热门文章
- 《Visual Studio.NET Tips and Tricks》第一章的翻译
- python3 os模块相关方法
- Git Bash中npm配置,加速下载等作用
- python中正则表达式的默认匹配方式为_Python模式匹配与正则表达式
- html页面判断是否登录,egg(103)--egg之定义公共的中间件判断用户是否登录以及去结算页面制作...
- MySQL高级篇(事务视图存储过程与函数)
- 2021年香水品牌社媒营销分析报告
- 如何考核产品经理的绩效?
- 都是写需求,高手和菜鸟为何差别这么大?
- 一道腾讯的专业面试题