关闭

cassandra自带例子portfolio安装调试问题

标签: cassandrasocket虚拟机doseclipsejava
326人阅读 评论(0) 收藏 举报
分类:

  前两天 装了个cassandra的服务端,cli下运行,建立keysapce,clomun family,再show 一切都正常。看似可以了,也就没有怎么在意它的配置,比如conf/cassandra.yaml文件。


   今天想利用它提供的一个客户端程序做一个简单的增删改操作。先不管具体的表关联怎么实现,先跑起来一个客户端demo吧。

    

     结果一上来就出现一个socket错误,这个肯定是没有连上服务端(虚拟机)里面的cassandra。

dos下ping ip,能通。不解其中原因,上网查了一下,有个外国网站上说如果想远程调用 conf/cassandra.yaml文件需要修改,

 具体的就是把listen_address: localhost改为本地ip.具体原因也没有说清楚。

改完果然ok.

  

   在去运行cassandra自带的例子,地址栏输入http://10.1.54.2:8983/portfolio/(注:10.1.54.2是装cassandra的机器,也就是我的虚拟机),

也报socket错误,内容和之前的一模一样,很可能是连接数据库问题、。很可能是demo中连接地址,写的是localhost.  。

  

      在下载的例子中找portfolio的源码,找不到,反编译,搜索。果然在com.datastax.demo.portfolio.controller.PortfolioMgrHandler中有一处localhost.

还有另一处PortfolioMgrHandler也出现一个localhost连接服务器的代码、

   

    很显然这个地方处理的不好,地址硬编码了,想修改地址很麻烦。

    不清楚为什么有两个包下出现.PortfolioMgrHandler类。这个明天继续看下————今天还要一些手头任务。

    第一想到的解决办法 就是反编译修改代码中的ip即"localhost"

  

    修改代码,改读取property文件中的配置。下面是编译写的文件,dos下javac,出现一大堆找不到类的错误。这个麻烦,好像需要在编译路径下添加java类库。

    想要eclipse帮我编译,可以根据提示导入相应包。可惜gui的错误率实在太高,错误多到没法去手动修改。

   

    哎。还是修改ip映射吧,即localhost和我的地址(10.1.54.2)对应起来,查了一下是在、etc/hosts里面修改。改完,http://10.1.54.2:8983/portfolio/可以出现数据。


  总结一下,为了跑通这个例子portfolio,前后走了不少弯路,也是在弯路中学到了很多东西,比如熟悉了linux系统内部文件,复习了java的编译,学习了cassandra的客户端



 





0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:21618次
    • 积分:297
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:22篇
    • 译文:0篇
    • 评论:0条
    文章分类