逖靖寒的世界

每天进步一点点

My Links

Blog Stats

如何安装和配置Cassandra

Cassandra属于最近比较流行的一款NoSQL数据库,http://nosql-database.org/中给NoSQL的定义如下:

下一代的数据库产品应该具备这几点:非关系型的,分布式的,开源的,可以线性扩展的。这类数据库最初的目的在于提供现代网站可扩展的数据库解决方案。这个运动开始于2009年初,目前正在迅速的发展。这种类型的数据库具有:自由的schema,数据多处备份,简单的编程API,数据的最终一致性保证等等。所以我们将这种类型的数据库称为NoSQL(不仅仅是SQL,全称为“not only sql”)。

下面我们一起来看看如果分别在Windows和Linux环境下安装和部署Cassandra。

在Windows上单机运行Cassandra

大多数人使用的OS都是Windows,所以如果只是想简单地测试一下Cassandra,我们可以直接在安装好JDK1.6的Windows系统上安装Cassandra,并进行简单的测试。

1 下载Cassandra

http://cassandra.apache.org/下载即可。目前最新的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,说明启动成功。

3 查看集群运行情况

当所有的节点都运行起来以后,我们可以通过JMX查看运行状况:

image

总结

在Windows环境和Linux环境下部署Cassandra基本都是类似的。只不过在Linux环境下bin目录中的脚本都能在Linux环境下运行,而Windows环境下只有2个脚本可以运行。

 

更多关于Cassandra的文章:http://www.cnblogs.com/gpcuster/tag/Cassandra/

posted on 2010-03-25 17:27 逖靖寒 阅读(...) 评论(...) 编辑 收藏