如果想通过eclipse来调试或者查看Cassandra的代码,将其project导入到eclipse之中不愧是个好选择。下面将讲述将2.0.8 版本导入elcipse的过程。

  该篇文章主要参考的官方文档为:http://wiki.apache.org/cassandra/RunningCassandraInEclipse

  为了快速访问,转载到这里:http://www.cnblogs.com/chang290/p/3837102.html

一、准备工作

  1、去官网下载Cassandra源码包:apache-cassandra-2.0.8-src.tar.gz。

  2、解压出来会有一个apache-cassandra-2.0.8-src目录,将该目录修改成自己想要的project名称(注意这个目录的名称与project名称一定要一致,因此在产生elipse文件时会使用该绝对目录名称),比如我这里叫做 cassandra-208-trunk。

  3、进入到cassandra-208-trunk目录,执行如下两个命令:  

ant build
ant generate-eclipse-files

  4、在ant build之中会需要下载一些文件,因此该步骤需要一些时间。

二、创建java project

  1、打开eclipse创建一个java project,project name叫做 cassandra-208-trunk (注意这个名称必须和目录名一致)

  2、点击新创建的cassandra-208-trunk,鼠标右键,进入Properties页面

    在左边栏选择Java Build Path,右边选择Source选项卡,设置好Source folders 与 output folder,如图所示:

    修改完成之后点击OK,保存。

  3、运行配置

  点击新创建的cassandra-208-trunk,鼠标右键,选择 Run as -> Run Configurations

  1)配置Main class,在Project框中选择Cassandra-208-trunk,在Main class框中选择 org.apache.cassandra.service.CassandraDaemon

  

  2)配置启动参数

  在Program arguments框中输入:

  -Dcassandra.config=file:XXXXXX/cassandra-208-trunk/conf/cassandra.yaml      ----其中的XXXXX为项目所在的路径
  -Dcassandra-foreground
  -ea -Xmx2G      ----配置堆内存,根据实际配置
  -Dlog4j.configuration=file:XXXXXX/cassandra-208-trunk/conf/log4j-server.properties   ----其中的XXXXX为项目所在的路径  

  

  在VM arguments之中输入如下内容:

  -Djava.rmi.server.hostname=127.0.0.1  ----为运行nodetool使用
  -Dcom.sun.management.jmxremote.port=7199     ----为运行nodetool使用的默认端口
  -Dcom.sun.management.jmxremote.ssl=false
  -Dcom.sun.management.jmxremote.authenticate=false

三、运行测试

  完成上述的配置之后,就可以启动项目了,输出如下:

// :: INFO db.Memtable: Completed flushing build/test/cassandra/data/system/local/system-local-jb--Data.db ( bytes) for commitlog position ReplayPosition(segmentId=, position=)
// :: INFO service.StorageService: Node /127.0.0.1 state jump to normal
// :: INFO compaction.CompactionTask: Compacted sstables to [build/test/cassandra/data/system/local/system-local-jb-,]. , bytes to (~% of original) in 16ms = .031650MB/s. total partitions merged to . Partition merge counts were {:, }

  然后进入到项目目录 cassandra-208-trunk/bin 运行 ./nodetool status 输出如下:

Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Owns (effective) Host ID Token Rack
UN 127.0.0.1 98.02 KB 100.0% 53e17e1a--43dc-b724-dd3188f1b822 43e797990015319dfe8cd742dbbe788d rack1

  

Cassandra2.0.8导入到eclipse运行的更多相关文章

  1. 5- 如何把MyEclipse中的web项目导入到Eclipse中运行

    from: 如何把MyEclipse中的web项目导入到Eclipse中运行 2016年09月12日 20:57:51 dancheren 阅读数:35329 标签: eclipse 更多 个人分类: ...

  2. 如何把MyEclipse中的web项目导入到Eclipse中运行

    有时我们需要将MyEclipse中的项目导入到Eclipse中运行,如果不注意到一些细节,会造成无法运行的后果.下面就说说具体操作: 如何导入到Eclipse就不在重述了,导入后出现如下错误: 与上面 ...

  3. eclipse运行错误提示 Failed to load D:\Android\sdk\build-tools\26.0.0-preview\lib\dx.jar

    前几天在ecplise上运行项目还好好,今天一运行就提示这个错误:Your project contains error(s), please fix them before running your ...

  4. MyEclipse中的项目导入到Eclipse中运行的错误解决

    之前用的myEclipse,后来把项目导入eclipse发现报错,将MyEclipse中的项目导入到Eclipse中运行,不注意一些细节,会造成无法运行的后果.下面就说说具体操作:导入后出现如下错误: ...

  5. Ejabberd导入到eclipse

    ejabberd 在eclipse(erlide)中的配置.调试.运行   最近在折腾ejabberd,将ejabberd项目配置到eclipse中进行编译.调试等,现在将过程记下来,希望能帮助到需要 ...

  6. Openfire3.9.1+jdk1.7导入到eclipse中

    Openfire3.9.1+jdk1.7导入到eclipse中 写这篇文章,也是记录一下自己几晚上的辛苦,因为作为新手在网上看了很多的资料,但是按照他们的我总是出不来,跟他们描述的不一致,可能是环境问 ...

  7. 新导入的eclipse项目报错,找不到java包,找不到web.xml文件报错。

    新导入的项目可能会出现报错,特别是web项目.我这里提供一种解决方法: 1.右击项目,选择“属性” 2.选择 Resource->java build path->libraries 图中 ...

  8. 使用Eclipse运行第一个Go程序

    Windows 10家庭中文版,go version go1.11 windows/amd64, Eclipse IDE for C/C++ Developers Photon Release (4. ...

  9. maven创建web工程,并导入到eclipse中

    maven版本:3.1.0,eclipse版本:4.3 JDK:1.7 创建工程名是sa的maven工程 mvn archetype:create -DgroupId=com.bing-Dartifa ...

随机推荐

  1. sql判断表是否已经存在

    if (object_id(N'td_VipExchangeCodeInfo',N'U') is not null)print '存在'else print '不存在'

  2. php判断一个数组是另一个数组的子集

    需求最少的时间复杂度判断$a数组是否是$b数组的子集 // 快速的判断$a数组是否是$b数组的子集$a = array(135,138);$b = array(135,138,137); 实现方法 这 ...

  3. Illegal mix of collations for operation 'like' while searching with Ignited-Datatables

    Stack Overflow Questions Developer Jobs Tags Users   Log In Sign Up Join Stack Overflow to learn, sh ...

  4. 使用tengine解决负载均衡的session问题

    事情的经过时这样的~~,我看了好多好多百度中nginx负载均衡中解决session问题的方式,我选择了研究url_hash的方式.经过一番配置之后,我越发觉得这百度搜出来的帖子也太过久远了吧,去htt ...

  5. Python中numpy.apply_along_axis()函数的用法

    numpy.apply_along_axis(func, axis, arr, *args, **kwargs): 必选参数:func,axis,arr.其中func是我们自定义的一个函数,函数fun ...

  6. Scheduling the Delivery of Local Notifications

    [Scheduling the Delivery of Local Notifications] Apps can use local notifications to display alerts, ...

  7. linux每天一小步---cat命令详解

    1 命令功能 cat命令是linux系统下的一个文本输出命令,通常用于查看文件的内容. 2 命令语法 cat  [选项参数]  文件名 3 命令参数 -n  由1开始对所有输出的内容行数编号 -b   ...

  8. polymer-developer guide-registration and lifecycle

    注册和声明周期 my = Polymer({ is: "proto-element", created: function() { this.innerHTML = 'create ...

  9. php 图像处理库ImageMagick windows下的安装

    http://blog.sina.com.cn/s/blog_966e43000101bgqj.html

  10. 执行计划--在存储过程中使用SET对执行计划的影响

    --如果在存储过程中定义变量,并为变量SET赋值,该变量的值无法为执行计划提供参考(即执行计划不考虑该变量),将会出现预估行数和实际行数相差过大导致执行计划不优的情况--如果在存储过程中使用SET为存 ...