VirtualBox 虚拟机 Debian系统上安装Cassandra步骤及遇到的问题
本文记录一下我在VirtualBox 虚拟机 Debian系统上安装Cassandra步骤及遇到的问题。其它Linux系统碰到的问题应该大同小异。
一、网络问题
Sun的VirtualBox中文界面,而且开源,有什么理由不用呢?最近想看看各种Linux操作系统的差异,和RHEL系列的比,果然有很大的差别。下载Debian,第一张盘就行了,因为习惯自己编译了,不用本地源,常用的东西都是下载好了的。接下来,安装好Debian,无论是中文也好英文也罢。
下面就是配置网络的问题,由于Debian默认的网段是10.10.*.*的,我本机还访问不了,因此需要修改IP地址。修改了很多次才成功。记录下成功的这次。
安装完VirtualBox虚拟机后,会多一个网卡——VirtualBox Host-Only Network,默认IP是192.168.56.1。启动VirtualBox时,网络连接选择Host-only Adapter。这种模式是主机和虚拟机能够互相通信,但是虚拟机不能上网。对开发环境来说已经足够了。至于Nat和Bridged没有去尝试,Nat的要做端口映射,Bridged要占用主机网段IP,可能会抢同事的IP,就不尝试了。
下面是配置网络。Debian的网络设置和RHEL的不一样。设置网卡是在/etc/network/interfaces文件,设置DNS是在/etc/resolv.conf 文件。现在设置如下:
首先通过命令 # ifconfig -a 查看到当前外网网卡标识。我前几次操作错误,现在的标识是eth2。
在/etc/network/interfaces 文件加入:
auto eth2
iface eth2 inet dhcp
然后通过
#ifdown eth2
#ifup eth2
重新载入设置。现在网络就OK了。
二、Java安装
Cassandra是基于Java的程序,先去下载和Jre,我下载的Jre1.6 update18——“jre-6u18-linux-i586.bin”。把文件传过去,然后在虚拟机运行:
#cd ~ //我的是root帐号,我的文件就传到了/root目录
#chmod +x jre-6u18-linux-i586.bin
#./jre-6u18-linux-i586.bin
#cp jre1.6.0_18/ /usr/local/ -r
现在就把jre的文件拷贝到了/usr/local/jre1.6.0_18/目录。
现在要设置Java了,在RHEL使用alternatives命令,而在Debian使用update-alternatives命令,语法一样的。
Debian默认是没装Java的,现在开始设置:
#update-alternatives --install /usr/bin/java java /usr/local/jre1.6.0_18/bin/java 300
如果要是已经安装了java要换版本,可以用update-alternatives --display java查看当前安装的java,使用update-alternatives --config java进行版本切换。
现在输入
#java -version
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode)
OK了,一切正常。
三、安装和启动
先到http://incubator.apache.org/cassandra/页面下载Cassandra。
我下载的是 apache-cassandra-0.5.1-bin.tar.gz
然后传到虚拟机上。
执行命令
#tar zxvf apache-cassandra-0.5.1-bin.tar.gz //解压缩
#cd apache-cassandra-0.5.1/bin
#./cassandra
输出
Listening for transport dt_socket at address: 8888
INFO - Replaying /var/lib/cassandra/commitlog/CommitLog-1268246662083.log
INFO - LocationInfo has reached its threshold; switching in a fresh Memtable
INFO - Enqueuing flush of Memtable(LocationInfo)@19897293
INFO - Sorting Memtable(LocationInfo)@19897293
INFO - Writing Memtable(LocationInfo)@19897293
INFO - Completed flushing /var/lib/cassandra/data/system/LocationInfo-1-Data.db
INFO - Log replay complete
INFO - Saved Token found: 59927080841113489954773621748862915294
INFO - Starting up server gossip
成功了,呵呵。
当然,要用到生产环境的话可能还需要做很多工作。比如配置啊,开发啊什么的。自己弄来看看的话,这已经是第一步了,呵呵。