由于本人机器有限,只有虚拟机的centOS和windows7操作系统,所以这次我们就以这两台机器作为搭建Cassandra集群的节点。
首先我们将Cassandra解压包拷贝至linux系统的usr下
然后修改/apahce-cassandra-1.2.5下面的conf目录下的cassandra.yaml文件
主要修改以下几点,我的windows的IP地址是192.168.1.3,虚拟机的IP是192.168.192.128。所以我们选取linux作为seeds节点。
那么linux上的cassandra.yaml的配置如下:
1.cluster默认为Test-Cluster
cluster_name: 'Test Cluster'
2.seeds: "192.168.192.128"
3.listen_address: 192.168.192.128
4.broadcast_address: 192.168.192.128,这个可以配置,也可以留空
5.rpc_address: 0.0.0.0(Thrift监听的客户端的IP,这里意思是监听所有的客户端IP)
OK,再修改cassandra-topology.properties文件,修改如下
# Cassandra Node IP=Data Center:Rack 192.168.192.128=DC1:RAC1 192.168.1.3=DC2:RAC2 # default for unknown nodes default=DC1:r1 # Native IPv6 is supported, however you must escape the colon in the IPv6 Address # Also be sure to comment out JVM_OPTS="$JVM_OPTS -Djava.net.preferIPv4Stack=true" # in cassandra-env.sh fe80\:0\:0\:0\:202\:b3ff\:fe1e\:8329=DC1:RAC1
到此linux上的配置就配置好了。我们启动Cassandra,结果报错
真是恼火,搜了下google,发现这个解释
http://shellyli.iteye.com/blog/706455
于是打开/etc/hosts文件
加上bogon这个机器名,这个名字有点怪,像是商洛的一种鸟类,叫蚌岗。
# Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1bogonlocalhost.localdomainlocalhost ::1localhost6.localdomain6localhost6
不开玩笑了,我们看一下启动的cassandra-cli
我们再看看windows7上的配置cassandra.yaml的配置
1.cluster_name: 'Test Cluster'
2.seeds: "192.168.192.128"
3.listen_address: 192.168.1.3
4.broadcast_address: 192.168.1.3
5.rpc_address: 0.0.0.0
OK,再修改cassandra-topology.properties文件,修改如下
# Cassandra Node IP=Data Center:Rack 192.168.192.128=DC1:RAC1 192.168.1.3=DC2:RAC2 # default for unknown nodes default=DC1:r1 # Native IPv6 is supported, however you must escape the colon in the IPv6 Address # Also be sure to comment out JVM_OPTS="$JVM_OPTS -Djava.net.preferIPv4Stack=true" # in cassandra-env.sh fe80\:0\:0\:0\:202\:b3ff\:fe1e\:8329=DC1:RAC1
OK,好了,我们先启动Cassandra,再启动cassandra-cli
windows上和linux上的cassandra都已经启动起来了。我们看一下环是否已经成功
看到了吧,有两台机器,都在机架1上,状态是正常运行状态。
至此,我们的cassandra集群就搭建好了,我们再在cli下用describe cluster,命令查看集群信息
也是没有问题的,包含两台机器。OK,好了我们cassandra集群搭建到此结束