如何安装和配置Cassandra

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何安装和配置Cassandra相关的知识,希望对你有一定的参考价值。

Cassandra属于最近比较流行的一款NoSQL数据库 中给NoSQL的定义如下:
下一代的数据库产品应该具备这几点:非关系型的,分布式的,开源的,可以线性扩展的。这类数据库最初的目的在于提供现代网站可扩展的数据库解决方案。这个运动开始于2009年初,目前正在迅速的发展。这种类型的数据库具有:自由的schema,数据多处备份,简单的编程API,数据的最终一致性保证等等。所以我们将这种类型的数据库称为NoSQL(不仅仅是SQL,全称为“not only sql”)。
下面我们一起来看看如果分别在Windows和Linux环境下安装和部署Cassandra。
在WINDOWS上单机运行CASSANDRA
大多数人使用的OS都是Windows,所以如果只是想简单地测试一下Cassandra,我们可以直接在安装好JDK1.6的Windows系统上安装Cassandra,并进行简单的测试。
1 下载Cassandra
下载即可。目前最新的beta版本是0.6.0 b3,但是我们安装使用的最新的Release版本0.5.1。
2 安装Cassandra
将下载的压缩包解压,假设解压的位置是D:\\apache-cassandra-0.5.1。
1 修改conf目录下的log4j.properties文件:
log4j.appender.R.File=D:\\apache-cassandra-0.5.1\\logs
2 修改conf目录下的storage-conf.xml文件:
<CommitLogDirectory>D:\\apache-cassandra-0.5.1\\commitlog</CommitLogDirectory>
<DataFileDirectories>
<DataFileDirectory>D:\\apache-cassandra-0.5.1\\data</DataFileDirectory>
</DataFileDirectories>
<CalloutLocation>D:\\apache-cassandra-0.5.1\\callouts</CalloutLocation>
<StagingFileDirectory>D:\\apache-cassandra-0.5.1\\staging</StagingFileDirectory>
3 设置系统的环境变量:
CASSANDRA_HOME=D:\\apache-cassandra-0.5.1
3 启动Cassandra
运行bin目录下的cassandra.bat。如果看到:INFO - Starting up server gossip,那么恭喜你,Cassandra已经在你的本机启动起来了。
4 使用命令行进行简单的测试
运行bin目录下的cassandra-cli.bat。输入:connect localhost 9160,连接成功后可以看到下面的提示。
cassandra> connect localhost 9160
line 1:18 missing SLASH at \'9160\'
Connected to localhost/9160
然后,我们可以参考README.txt文件中提供的范例进行测试:
cassandra> set Keyspace1.Standard1[\'jsmith\'][\'first\'] = \'John\'
Value inserted.
cassandra> set Keyspace1.Standard1[\'jsmith\'][\'last\'] = \'Smith\'
Value inserted.
cassandra> set Keyspace1.Standard1[\'jsmith\'][\'age\'] = \'42\'
Value inserted.
cassandra> get Keyspace1.Standard1[\'jsmith\']
(column=age, value=42; timestamp=1249930062801)
(column=first, value=John; timestamp=1249930053103)
(column=last, value=Smith; timestamp=1249930058345)
Returned 3 rows.
cassandra>
你也可以根据这篇文章《谈谈Cassandra的客户端》中的内容测试一下如何使用Java编写简单的程序和Cassandra交互。
在LINUX上运行CASSANDRA集群
如果需要真正在生产环境中使用Cassandra,我们需要搭建一个Cassandra集群,这样才能真正发挥出它作为NoSQL数据所应该具备的特性。
在Linux部署Cassandra的步骤基本与Windows上部署的类似,我们需要在每一台机器上安装JDK1.6,然后下载Cassandra,并修改log4j.properties和storage-conf.xml的配置文件和设置环境变量。不同的是,我们需要在storage-conf.xml文件中配置集群的信息:
1 配置集群
1 配置集群节点信息
<Seeds>
<Seed>hadoop2</Seed>
<Seed>hadoop3</Seed>
<Seed>hadoop4</Seed>
<Seed>hadoop5</Seed>
<Seed>hadoop6</Seed>
<Seed>hadoop7</Seed>
<Seed>hadoop8</Seed>
<Seed>hadoop9</Seed>
<Seed>hadoop10</Seed>
</Seeds>
2 配置集群节点之间交互的监听地址
直接留空即可:
<ListenAddress></ListenAddress>
3 配置Thrift Server监听的地址
直接留空即可:
<ThriftAddress></ThriftAddress>
4 配置集群的名称
每一个集群的名称都应该是不用的
<ClusterName>gpcuster.cnblogs.com</ClusterName>
5 开启节点自动加入集群的功能
<AutoBootstrap>true</AutoBootstrap>
6 配置数据的备份数
<ReplicationFactor>3</ReplicationFactor>
7 调节Memory和Disk的性能
需要根据实际的情况来配置,可以参考Wiki。
2 运行Cassandra
在每一台节点上,运行bin/cassandra。如果看到:INFO - Starting up server gossip,说明启动成功。
参考技术A Cassandra安装方法:
首先确保安装了JDK。
然后,修改配置文件,cassandra-0.7.6-2的conf下有以下几个配置文件:
(1) access.properties:设置每个数据库或者表的访问权限
(2) cassandra.yaml:主配置文件,包括日志路径,数据存放路径,各种参数配置等
(3) cassandra-topology.properties:配置网络的拓扑结构
(4) log4j-server.properties:log4j的配置选项
(5) passwd.properties:配置用户密码,与access.properties配合使用
对于简单的使用,只需配置cassandra.yaml文件:
(1) 集群名称cluster_name:同一个集群中的集群名称应该一样。
(2) 数据存放路径data_file_directories:可以根据情况配置一个有写权限的路径
(3) commit log路径commitlog_directory:同上
(4) saved cache路径saved_caches_directory:同上
(5) 日志文件路径log4j.appender.R.File:同上(这个选项在log4j-server.properties文件中)
此外,还需要修改服务监听的地址和thrift访问地址,即ListenAddress和ThriftAddress,配置文件默认监听的都是localhost:
<!-- Cassandra节点之间通信的监听地址,这里设置所在节点的ip-->
<ListenAddress>100.200.3.1</ListenAddress>
<!-- 这个是Thrift监听的地址,建议设置为0.0.0.0 -->
<ThriftAddress>0.0.0.0</ThriftAddress>
经过上面的配置就可以启动节点了:

进入bin目录,直接执行:./cassandra。
安装完成。
参考技术B Cassandra安装方法:
首先确保安装了JDK。
然后,修改配置文件,cassandra-0.7.6-2的conf下有以下几个配置文件:
(1) access.properties:设置每个数据库或者表的访问权限
(2) cassandra.yaml:主配置文件,包括日志路径,数据存放路径,各种参数配置等
(3) cassandra-topology.properties:配置网络的拓扑结构
(4) log4j-server.properties:log4j的配置选项
(5) passwd.properties:配置用户密码,与access.properties配合使用
对于简单的使用,只需配置cassandra.yaml文件:
(1) 集群名称cluster_name:同一个集群中的集群名称应该一样。
(2) 数据存放路径data_file_directories:可以根据情况配置一个有写权限的路径
(3) commit log路径commitlog_directory:同上
(4) saved cache路径saved_caches_directory:同上
(5) 日志文件路径log4j.appender.R.File:同上(这个选项在log4j-server.properties文件中)
此外,还需要修改服务监听的地址和thrift访问地址,即ListenAddress和ThriftAddress,配置文件默认监听的都是localhost:
<!-- Cassandra节点之间通信的监听地址,这里设置所在节点的ip-->
<ListenAddress>100.200.3.1</ListenAddress>
<!-- 这个是Thrift监听的地址,建议设置为0.0.0.0 -->
<ThriftAddress>0.0.0.0</ThriftAddress>
经过上面的配置就可以启动节点了:

进入bin目录,直接执行:./cassandra。
安装完成。
参考技术C Cassandra属于最近比较流行的一款NoSQL数据库 中给NoSQL的定义如下:
下一代的数据库产品应该具备这几点:非关系型的,分布式的,开源的,可以线性扩展的。这类数据库最初的目的在于提供现代网站可扩展的数据库解决方案。这个运动开始于2009年初,目前正在迅速的发展。这种类型的数据库具有:自由的schema,数据多处备份,简单的编程API,数据的最终一致性保证等等。所以我们将这种类型的数据库称为NoSQL(不仅仅是SQL,全称为“not only sql”)。
下面我们一起来看看如果分别在Windows和Linux环境下安装和部署Cassandra。
在WINDOWS上单机运行CASSANDRA
大多数人使用的OS都是Windows,所以如果只是想简单地测试一下Cassandra,我们可以直接在安装好JDK1.6的Windows系统上安装Cassandra,并进行简单的测试。
1 下载Cassandra
下载即可。目前最新的beta版本是0.6.0 b3,但是我们安装使用的最新的Release版本0.5.1。
2 安装Cassandra
将下载的压缩包解压,假设解压的位置是D:\apache-cassandra-0.5.1。
1 修改conf目录下的log4j.properties文件:
log4j.appender.R.File=D:\apache-cassandra-0.5.1\logs
2 修改conf目录下的storage-conf.xml文件:
<CommitLogDirectory>D:\apache-cassandra-0.5.1\commitlog</CommitLogDirectory>
<DataFileDirectories>
<DataFileDirectory>D:\apache-cassandra-0.5.1\data</DataFileDirectory>
</DataFileDirectories>
<CalloutLocation>D:\apache-cassandra-0.5.1\callouts</CalloutLocation>
<StagingFileDirectory>D:\apache-cassandra-0.5.1\staging</StagingFileDirectory>
3 设置系统的环境变量:
CASSANDRA_HOME=D:\apache-cassandra-0.5.1
3 启动Cassandra
运行bin目录下的cassandra.bat。如果看到:INFO - Starting up server gossip,那么恭喜你,Cassandra已经在你的本机启动起来了。
4 使用命令行进行简单的测试
运行bin目录下的cassandra-cli.bat。输入:connect localhost 9160,连接成功后可以看到下面的提示。
cassandra> connect localhost 9160
line 1:18 missing SLASH at '9160'
Connected to localhost/9160
然后,我们可以参考README.txt文件中提供的范例进行测试:
cassandra> set Keyspace1.Standard1['jsmith']['first'] = 'John'
Value inserted.
cassandra> set Keyspace1.Standard1['jsmith']['last'] = 'Smith'
Value inserted.
cassandra> set Keyspace1.Standard1['jsmith']['age'] = '42'
Value inserted.
cassandra> get Keyspace1.Standard1['jsmith']
(column=age, value=42; timestamp=1249930062801)
(column=first, value=John; timestamp=1249930053103)
(column=last, value=Smith; timestamp=1249930058345)
Returned 3 rows.
cassandra>
你也可以根据这篇文章《谈谈Cassandra的客户端》中的内容测试一下如何使用Java编写简单的程序和Cassandra交互。
在LINUX上运行CASSANDRA集群
如果需要真正在生产环境中使用Cassandra,我们需要搭建一个Cassandra集群,这样才能真正发挥出它作为NoSQL数据所应该具备的特性。
在Linux部署Cassandra的步骤基本与Windows上部署的类似,我们需要在每一台机器上安装JDK1.6,然后下载Cassandra,并修改log4j.properties和storage-conf.xml的配置文件和设置环境变量。不同的是,我们需要在storage-conf.xml文件中配置集群的信息:
1 配置集群
1 配置集群节点信息
<Seeds>
<Seed>hadoop2</Seed>
<Seed>hadoop3</Seed>
<Seed>hadoop4</Seed>
<Seed>hadoop5</Seed>
<Seed>hadoop6</Seed>
<Seed>hadoop7</Seed>
<Seed>hadoop8</Seed>
<Seed>hadoop9</Seed>
<Seed>hadoop10</Seed>
</Seeds>
2 配置集群节点之间交互的监听地址
直接留空即可:
<ListenAddress></ListenAddress>
3 配置Thrift Server监听的地址
直接留空即可:
<ThriftAddress></ThriftAddress>
4 配置集群的名称
每一个集群的名称都应该是不用的
<ClusterName>gpcuster.cnblogs.com</ClusterName>
5 开启节点自动加入集群的功能
<AutoBootstrap>true</AutoBootstrap>
6 配置数据的备份数
<ReplicationFactor>3</ReplicationFactor>
7 调节Memory和Disk的性能
需要根据实际的情况来配置,可以参考Wiki。
2 运行Cassandra
在每一台节点上,运行bin/cassandra。如果看到:INFO - Starting up server gossip,说明启动成功。本回答被提问者和网友采纳

cassandra安装配置

  1. 准备运行环境
    1.1 cassandra可以安装在windows和linux下,本例子安装在centos6.7的环境下。
    1.2 关闭防火墙。或者开放9042(默认的CQL本地服务端口)、9160(默认的Cassandra服务端口)、7000(Cassand集群内节点间通讯端口)、7199端口(Cassandra JMX 监控端口)
      关闭防火墙:
    1 service iptables stop
    2 chkconfig iptables off
          开放端口:  
    1 vi /etc/sysconfig/iptables
    2 -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(仿照这个写)
    3 /etc/init.d/iptables restart
    1.3 安装JDK,配置环境变量
          下载JDK:
    yum -y install wget     //安装wget插件
    wget –P /usr http://download.oracle.com/otn/java/jdk/8u60-b15/jdk-8u60-linux-i586.rpm?AuthParam=1467614887_3fe640855a43a439fb5f5fec1f5045e2
    rpm -ivh jdk-8u60-linux-i586.rpm
          配置环境变量:
    1 vi /etc/profile
    2     JAVA_HOME=/usr/java/jdk1.8.0_60
    3     JRE_HOME=/usr/java/jdk1.8.0_60/jre
    4     PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    5     CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    6     export JAVA_HOME JRE_HOME PATH CLASSPAH
    7 source /etc/profile
  2. 安装
    2.1 下载并解压cassandra安装包,本例子用的版本是2.1.14(这个镜像不行的话去官网找别的镜像)
    1 wget http://mirrors.cnnic.cn/apache/cassandra/2.1.14/apache-cassandra-2.1.14-src.tar.gz
    2 tar -zxvf apache-cassandra-2.1.14-bin.tar.gz  -C /opt/cassandra

    2.2 新建cassandra数据存放的文件夹(用安装包的方式就需要这一步)。

    1 //可以根据磁盘情况设置这3个文件夹,但是要和cassandra.yaml里的想对应
    2 mkdir /var/lib/cassandra/data
    3 mkdir /var/lib/cassandra/commitlog
    4 mkdir /var/lib/cassandra/saved_caches

     2.3 打开解压后的/opt/apache-cassandra-2.1.14/cassandra/conf的目录,修改其中的cassandra.yaml中的一些参数

    1 cluster_name: \'xxx\'  //集群名称。同一个集群要使用同一名称
    2 data_file_directories:
    3     - /var/lib/cassandra/data  //数据文件存放路径。打开这个注释,注意不要合并成一行,合并成一行好像会出问题,这里要与前面新建的文件夹对应。
    4 commitlog_directory: /var/lib/cassandra/commitlog //操作日志文件存放路径。打开注释,与前面新建的文件夹对应。
    5 saved_caches_directory: /var/lib/cassandra/saved_caches  //缓存文件存放路径。打开注释,与前面新建的文件夹对应。
    6 - seeds: "192.168.x.x"  //集群种子节点ip,新加入集群的节点从种子节点中同步数据。可配置多个,中间用逗号隔开。
    7 listen_address: 127.0.0.1  //需要监听的IP或主机名。改成本机IP
    8 rpc_address: 127.0.0.1  //用于监听客户端连接的地址。建议设置成IP或0.0.0.0。若设置0.0.0.0,则要放开broadcast_rpc_address: 1.2.3.4的注释。

    2.4 进入到bin目录下

    1 ./cassandra

    如果提示没有权限什么的

    1 ./cassandra -R //用root用户启动

    如果没有报什么奇奇怪怪的ERROR然后看到 Node /x.x.x.x state jump to NORMAL,这样cassandra就算安装完成了,也可以在在bin目录下使用./nodetool status 查看集群信息确认一下。

    UN 表示的是该服务器的状态,UN是运行中,DN是宕机。
    Note: xxxxxxx  这个问题是因为同一个键空间里存在不同复制策略的表,不影响使用,但是最好建表和修改表的时候注意一下。

以上是关于如何安装和配置Cassandra的主要内容,如果未能解决你的问题,请参考以下文章

如何设置cassandra用户名和密码

cassandra安装配置

Cassandra入门指南--安装及配置

如何在 Linux Ubuntu 上配置 Cassandra 的访问权限

Cassandra 数据库安装部署

cassandra安装