不多说,直接上干货!

   最近我开始在windows环境中使用Cassandra,虽然在Cassandra站点的安装命令非常清楚和精简,我仍然在环境配置上遇到一些问题。所以我想为后来者分享下我的经验。

  官网下载地址

http://cassandra.apache.org/

http://cassandra.apache.org/download/

http://www.apache.org/dyn/closer.lua/cassandra/3.11.1/apache-cassandra-3.11.1-bin.tar.gz

windows环境里下载且安装配置Cassandra(最新的3.11.1版本)

  第一步:安装JDK8.0以上的JDK版本,配置好相关的环境变量。8.0以下的JDK将无法正常启动Cassandra服务,造成不必要的麻烦。

  第二步安装python2.7版本或以上的版本用于启动cqlsh的shell命令

  第三步 : 在Cassandra官网上下载最新的Cassandra版本,本文使用的是apache-cassandra-3.11.1,解压到你想要的目录。在环境变量中设置CASSANDRA_HOME为你的Cassandra安装目录。

  第四步:修改cassandra.yaml文件中的配置参数。

    我这里是放在D:\SoftWare下

    接下来,对windows里的环境变量设置

   接下来是,修改cassandra里的conf目录下配置文件

    (1)使用Notepad++打开cassandra.yaml文件,修改如下参数:
 

data_file_directories:
- D:\SoftWare\apache-cassandra-3.11.\data
    注意:-后面需要有空格
 
 
 
 
 
 
 

  修改为

commitlog_directory: D:\SoftWare\apache-cassandra-3.11.\commitlog
 
 
 
 
 
 

 

   修改为

saved_caches_directory: D:\SoftWare\apache-cassandra-3.11.\saved_caches
 
 
 
  (2)使用Notepad++打开log4j-server.properties文件,修改如下参数:
    为:log4j.appender.R.File=D:\SoftWare\apache-cassandra-3.11.1\logs
 
 
 
 

   双击bin目录下的cassandra.bat启动cassandra服务

   
    出现下面的图后表示服务启动成功了,记住,这个cmd的窗口不要关闭,关闭了好像服务就被一起关闭了,接下来客端的连接好像就不行了。

    启动之后, 现在你需要cqlsh来与Cassandra数据库交互。这里会稍微有点曲折,因为它在cassandra下载的包中。因此在我们插入数据到cassandra中还需要做点变通

  (1)从http://www.python.org/download/releases/ 下载Python包。这里需注意一点。虽然python最新的版本是3x, 但是在这个版本上我们无法安装thrift库。 所以下载并 安装python2.7版本。

  (2)从http://pypi.python.org/pypi/thrift下载Thrift库。 通过执行以下命令安装thrift模块。python setup.py install

Step 4: 现在你可以安装cql模块,这个模块可以下你的cassandra下载包中找到。setup.py存在与 cassandra_home\pylib 中。 再次执行以下命令:python setup.py install

Step 5: 执行命令 python cqlsh localhost 9160,(9160是端口,你需要改成你自己的sassandra端口), 然后可以启动cql命令工具。

以下是执行的example:

CREATE KEYSPACE mykeyspace WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };

CREATE TABLE users (user_id int PRIMARY KEY,  fname text,  lname text);

INSERT INTO users (user_id,  fname, lname) VALUES (1745, 'john', 'smith');
INSERT INTO users (user_id,  fname, lname)  VALUES (1744, 'john', 'doe');
INSERT INTO users (user_id,  fname, lname)  VALUES (1746, 'john', 'smith');

    首先我将根据官方文档,向你介绍conf目录下cassandra.yaml这个配置文件中几个重要的参数,无论是搭建集群环境,还是未来使用cqlsh的shell命令,这些参数都显得十分重要:

cluster_name:集群名称,通常用于防止一个逻辑集群中的机器加入其他的集群,具有唯一标识性。 默认值:Test Cluster。 
我的建议:在生产环境不要使用默认的集群名,以免未来在扩展多数据中心,多集群时引起命名冲突,造成不必要的麻烦。此外,在启动服务前提前修改好此参数,否则服务一旦启动,将围绕此集群名建立一系列的系统表,到时想更换集群名字只能删除所有系统表,很麻烦。

seed_provider:-parameters:-seeds:集群中的种子节点,被视为联系不同节点的主机地址。节点通过该列表的主机来找到对方,并学习集群环中的拓扑结构,通过Gossip相互沟通。 
我的建议:种子实际上是一个逗号分隔的地址列表。如果你想要设置多个种子节点,你应该遵循这样的格式:Ex: “ip1,ip2,ip3”,在此处我填写 seeds:192.168.30.101。我仅设置一台主机。

listen_address: 通常用于通知其他节点通过此ip地址连接到你这台机器节点。 
我的建议:不要将监听地址设置为0.0.0.0,这样做通常是错误,而是设置成具体的本机ip,如此处我设置为 listen_address: 192.168.30.101。

rpc_address: 此ip地址将绑定 Thrift RPC 服务,本地的传输服务也将使用此ip。 
我的建议: 不要将监听地址设置为0.0.0.0或者localhost,这样做通常是错误,而是设置成具体的本机ip,如此处我设置为 rpc_address: 192.168.30.101。

data_file_directories: Cassandra通常在该磁盘目录下存储数据,进行均匀地分布数据, 这取决于你配置的压缩策略。 
我的建议: 你可以设置成你想要的任何目录地址,但是我建议你采用默认的方式,Cassandra将自动加载到如下目录$CASSANDRA_HOME/data/data,方便管理。

commitlog_directory: 日志存放目录,通常用于记录写入数据的日志,当发生意外无法写入到SSTable时,可以使用commitlog恢复数据,防止丢失。 
我的建议:你可以设置成你想要的任何目录地址,但是我建议你采用默认的方式,Cassandra将自动加载到如下目录$CASSANDRA_HOME/data/commitlog,方便管理。

saved_caches_directory: 缓存地址 
我的建议: 你可以设置成你想要的任何目录地址,但是我建议你采用默认的方式,Cassandra将自动加载到如下目录$CASSANDRA_HOME/data/saved_caches,方便管理。

logback.xml: 通常用于系统日志输出的地址配置。 
我的建议: 你可以设置成你想要的任何目录地址,但是我建议你采用默认的方式,Cassandra将自动加载到如下目录$CASSANDRA_HOME/logs目录下,方便管理。

Cassandra概念学习系列之Windows里下载且安装配置Cassandra(最新的3.11.1版本)(图文详解)的更多相关文章

  1. Windows下如何正确下载并安装可视化的Redis数据库管理工具(redis-desktop-manager)(图文详解)

    不多说,直接上干货! Redis Desktop Manager是一个可视化的Redis数据库管理工具,使用非常简单.       官网下载:https://redisdesktop.com/down ...

  2. 给ambari集群里的kafka安装基于web的kafka管理工具Kafka-manager(图文详解)

    不多说,直接上干货! 参考博客 基于Web的Kafka管理器工具之Kafka-manager的编译部署详细安装 (支持kafka0.8.0.9和0.10以后版本)(图文详解)(默认端口或任意自定义端口 ...

  3. 全网最详细的Windows系统里Oracle 11g R2 Database(64bit)的完全卸载(图文详解)

    不多说,直接上干货! 前期博客 全网最详细的Windows系统里Oracle 11g R2 Database(64bit)的下载与安装(图文详解) 若你不想用了,则可安全卸载. 完全卸载Oracle ...

  4. Git学习系列之如何正确且高效地将本地项目上传到Github(图文详解)

    不多说,直接上干货! 首先你需要一个Github账号,所以还没有的话先去注册吧! https://github.com/ 见 如何走上更高平台分享传递干货知识:(开通个人Github面向开源及私有软件 ...

  5. 【适合公司业务】全网最详细的IDEA里如何正确新建【普通或者Maven】的Java web项目并发布到Tomcat上运行成功【博主强烈推荐】(类似eclipse里同一个workspace下【多个子项目】并存)(图文详解)

    不多说,直接上干货! 首先,大家要明确,IDEA.Eclipse和MyEclipse等编辑器之间的新建和运行手法是不一样的. 如果是在Myeclipse里,则是File -> new -> ...

  6. Windows下的Jupyter Notebook 的介绍(写给新手)(图文详解)

    不多说,直接上干货! Windows下的Python 3.6.1的下载与安装(适合32bits和64bits)(图文详解) Windows下的Jupyter Notebook 安装与自定义启动(图文详 ...

  7. Scala IDEA for Eclipse里用maven来创建scala和java项目代码环境(图文详解)

    这篇博客 是在Scala IDEA for Eclipse里手动创建scala代码编写环境. Scala IDE for Eclipse的下载.安装和WordCount的初步使用(本地模式和集群模式) ...

  8. 全网最详细的Windows里下载与安装Sublime Text *(图文详解)

    不多说,直接上干货! 前言 这是代码编程软件,可以性感编程自己代码,有着非常丰富的插件,界面整洁清爽.第一次使用可能不习惯,当你使用一段时间之后,你就会爱上它. 下载与安装 1.下载:目前官方的正式版 ...

  9. Windows里下载并安装phpstudy(图文详解)

    不多说,直接上干货! 帮助站长快速搭建网站服务器平台! phpstudy软件简介 此是基于phpStudy 2016.01.01. 该程序包集成最新的Apache+Nginx+LightTPD+PHP ...

随机推荐

  1. UVALive - 6436 —(DFS+思维)

    题意:n个点连成的生成树(n个点,n-1条边,点与点之间都连通),如果某个点在两点之间的路径上,那这个点的繁荣度就+1,问你在所有点中,最大繁荣度是多少?就比如上面的图中的C点,在A-B,A-D,A- ...

  2. 试题 E: 迷宫 第十届蓝桥杯

    [问题描述]下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可以通行的地方.010000000100001001110000迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个 ...

  3. OpenSSL命令---crl2pkcs7

    用途: 本命令根据CRL或证书来生成pkcs#7消息. 用法: openssl crl2pkcs7 [-inform PEM|DER ] [-outform PEM|DER ] [-in filena ...

  4. JSP和servlet之间的传值(总结的很全面)

    转自:http://blog.csdn.net/ssy_shandong/article/details/9328985 1.从一个jsp页面跳转到另一个jsp页面时的参数传递     (1)使用re ...

  5. md1

    a b link to baidu 我不懂啊 这是什么意思 http://example.com/ 这里是一段代码' adsfasdf 你 你输得算好了 反正就这样吧,大概也值能这样了注 我想写一段引 ...

  6. 设置TeeChart的提示文本

    使用第三方Steema的TeeChart控件,设置鼠标放在某一线条点上,显示某一点的数据标签问题(虚线型十字光标基准线,放在线上显示对应点的二维坐标轴数据数据),调用InitTeeChartTipTo ...

  7. JSOI2008 Blue Mary开公司 | 李超线段树学习笔记

    题目链接:戳我 这相当于是一个李超线段树的模板qwqwq,题解就不多说了. 代码如下: #include<iostream> #include<cstdio> #include ...

  8. java中数组的插入

    package com.hxzy.demo; import java.util.Arrays;import java.util.Scanner; public class Demo1 { public ...

  9. python学习笔记-控制流(if for while break continue)

    if语句 if语句用以检查条件:如果条件为真(True),将运行一块语句(称作 if-block 或 if 块),否则将运行另一块语句(称作 else-block 或 else 块).其中else 从 ...

  10. lamp-linux3

    LAMP编程之Linux(3) 一.权限管理 1.权限介绍(重点) 在Linux中分别有读.写.执行权限: 读权限: 对于文件夹来说,读权限影响用户是否能够列出目录结构 对于文件来说,读权限影响用户是 ...