为什么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相关推荐

  1. mysql8.0卸载出现问题,Windows环境下MySQL 8.0 的安装、配置与卸载

    软件版本 Windows:Windows10 MySQL:mysql-8.0.17-winx64.zip 安装步骤 1.配置环境变量 2.新建my.ini文件 文件位置:C:\Program File ...

  2. MYSQL 5.7 解压版 windows 环境下安装

    MYSQL 5.7 解压版 windows 环境下安装 1.下载MYSQL 2.下载完成后,放入要部署目录,解压. 3.新建 my.ini 文件 data 子文件夹千万不要自己建,否则后续启动会报错 ...

  3. Windows环境下安装Oracle11g客户端

    Windows环境下安装Oracle11g客户端 前言 假设你已经成功安装了Oracle11g,有一个本地的Oracle服务器,或者你有一个远程的Oracle服务器.注意保证客户端和服务器端体系结构的 ...

  4. windows环境下安装RabbitMQ(超详细)

    windows环境下安装RabbitMQ(超详细) 记录RabbitMQ安装过程,欢迎大家和我交流.(安装过程中遇到的问题也有总结哈,请查看) RabbitMq简介 安装准备工具 安装步骤(图文) 安 ...

  5. 在windows环境下安装pycocotools

    在windows环境下安装pycocotools  之前看过很多教程,不过始终没有找到适合自己的,因此记录一下,希望能帮助到小伙伴们.  首先,进入pycocotools的网址,然后下载对应的压缩包 ...

  6. Windows环境下安装HBase(Hadoop3.1.3、HBase2.2.5)与Linux环境下搭建HBase高可用集群

    Windows环境下安装HBase 下载HBase 官网: https://hbase.apache.org/downloads.html 不同版本集合:https://archive.apache. ...

  7. Windows环境下安装wdl文件

    网上有写介绍Windows环境下安装wdl文件的方法,有些方法非常麻烦,经过研究,个人觉得比较简单的方法如下: 安装pip 从https://pypi.python.org/pypi/pip#down ...

  8. 代码审查工具【Review Board】在Windows环境下安装与配置

    前言 Review Board是基于Web的代码审查工具. 官方网站:https://www.reviewboard.org/ Review Board在Windows环境下安装是一件比较困难的事情, ...

  9. 在没有网的windows环境下安装Python模块

    在安装python环境以及python的一些模块时,可能需要在没有网的windows环境下安装Python模块. python模块下载地址,几乎所有的模块都有:https://www.lfd.uci. ...

最新文章

  1. 用Redis实现微博关注关系
  2. [USACO1.3]混合牛奶 Mixing Milk
  3. 485. 最大连续1的个数 golang
  4. ASCII Unicode GBK UTF的联系
  5. 物联网入门学什么开发板_物联网入门:如何构建DIY Blynk板
  6. 一定质量的封闭气体被压缩后_单螺杆压缩机
  7. 比特币支付接口php,比特币支付php类
  8. 使用jquery判断及改变checkbox选中状态
  9. 循序渐进 OSPF的详细剖析(二)
  10. linux卸载java rpm_详解Linux中查看jdk安装目录、Linux卸载jdk、rpm命令、rm命令参数...
  11. 计算机专业英语1500词TXT,计算机专业英语词汇1500词(一)
  12. 客户需求分析工具-$APPEALS
  13. python中最大值函数,python中如何获取最大值函数
  14. 系统hosts文件进行域名解析
  15. Premiere 快捷键
  16. Linux(6)RedHat7 基本命令五-hwclock(clock)命令详解
  17. 解决docker拉取镜像Get https://registry-1.docker.io/v2/:(Client.Timeout exceeded while awaiting headers)报错
  18. 最新 955 不加班的公司名单(2022版)
  19. ubuntu18.04 台式机无线网卡TPLink WDN5200H2.0驱动安装
  20. win10:如何查看可用内存插槽

热门文章

  1. 《Visual Studio.NET Tips and Tricks》第一章的翻译
  2. python3 os模块相关方法
  3. Git Bash中npm配置,加速下载等作用
  4. python中正则表达式的默认匹配方式为_Python模式匹配与正则表达式
  5. html页面判断是否登录,egg(103)--egg之定义公共的中间件判断用户是否登录以及去结算页面制作...
  6. MySQL高级篇(事务视图存储过程与函数)
  7. 2021年香水品牌社媒营销分析报告
  8. 如何考核产品经理的绩效?
  9. 都是写需求,高手和菜鸟为何差别这么大?
  10. 一道腾讯的专业面试题