只需要一种选项:在CentOS6.5上安装Cassandra2系列
考虑到Cassandra小姐的动物书也一直被搁置着,我准备了手头上的版本是1.x的书籍,但暂时为了情感上的原因,我会准备最新的2.0.9版本。
CentOS 6.5 是一个32位的操作系统。
下载Cassandra
$ cd /usr/local
执行以下命令:
$ wget http://ftp.meisei-u.ac.jp/mirror/apache/dist/cassandra/2.0.9/apache-cassandra-2.0.9-bin.tar.gz
$ tar zxvf apache-cassandra-2.0.9-bin.tar.gz
创建一个可重复创建的/var/log/cassandra目录。
创建一个可重复创建的/var/lib/cassandra目录。
结束。
请根据需要适当更改解答文件夹名称。
$ mv -f apache-cassandra-2.0.9 cassandra
执行
$ /usr/local/cassandra/bin/cassandra -f
Cassandra 2.0及更高版本需要Java 7或更高版本。
由于被告知要升级至Java7,所以我会遵循该建议。
参考网址:http://tecadmin.net/steps-to-install-java-on-centos-5-6-or-rhel-5-6/
看上面的可能会更快些。
使用wget命令从指定链接下载jdk-7u65-linux-i586.tar.gz文件。
$ tar xzf jdk-7u60-linux-i586.tar.gz
$ cd /opt/jdk1.7.0_65/
$ alternatives –install /usr/bin/java java /opt/jdk1.7.0_65/bin/java 2
$ alternatives –config java
解压缩jdk-7u60-linux-i586.tar.gz文件
切换目录至/opt/jdk1.7.0_65/
安装java的替代版本为/opt/jdk1.7.0_65/bin/java,设置优先级为2
配置java的替代版本
有两种程序可以提供’java’。
选择命令
1. /usr/lib/jvm/jre-1.6.0-openjdk/bin/java = 在路径”/usr/lib/jvm/jre-1.6.0-openjdk/bin/java”下的Java文件
2. /opt/jdk1.7.0_65/bin/java = 在路径”/opt/jdk1.7.0_65/bin/java”下的Java文件
按下Enter键以保留当前选择[+],或输入选择编号:2
以下是其中一种汉语翻译选项:
$ alternatives –install /usr/bin/jar jar /opt/jdk1.7.0_65/bin/jar 2
$ alternatives –install /usr/bin/javac javac /opt/jdk1.7.0_65/bin/javac 2
$ alternatives –set jar /opt/jdk1.7.0_65/bin/jar
$ alternatives –set javac /opt/jdk1.7.0_65/bin/javac
$ java -version
替代方案 –install /usr/bin/jar jar /opt/jdk1.7.0_65/bin/jar 2
替代方案 –install /usr/bin/javac javac /opt/jdk1.7.0_65/bin/javac 2
替代方案 –set jar /opt/jdk1.7.0_65/bin/jar
替代方案 –set javac /opt/jdk1.7.0_65/bin/javac
java -version
Java版本号为”1.7.0_65″;
Java(TM) SE运行时环境版本号为1.7.0_65-b17;
Java HotSpot(TM) Client虚拟机版本号为24.65-b04,运行在混合模式下。
请注意,如果您下载的是64位版本,则无法执行以下命令:
$ java -version
-bash: /usr/bin/java: 无法执行二进制文件。
将以下内容用中文进行改写:
$ export JAVA_HOME=/opt/jdk1.7.0_65
$ export JRE_HOME=/opt/jdk1.7.0_65/jre
$ export PATH=$PATH:/opt/jdk1.7.0_65/bin:/opt/jdk1.7.0_65/jre/bin
将JAVA_HOME导出为/opt/jdk1.7.0_65
将JRE_HOME导出为/opt/jdk1.7.0_65/jre
将PATH导出为$PATH:/opt/jdk1.7.0_65/bin:/opt/jdk1.7.0_65/jre/bin
Cassandra再次启动,
$ bin/cassandra -f
Cassandra 2.0及以上版本要求使用Java 7或更高版本。
我还是被要求使用Java 7。
为了以防万一,我会再次执行上述的导出过程。
再次挑战:
$ bin/cassandra -f
错误:代理人抛出异常: java.lang.NullPointerException
我不再被生气了,但是还会被生气。
还有一些调整需要做。
cassandra.bat的Xms和Xmx如果設定為1G的話可能無法運作,所以我們將它們編輯成512M。
$ vi cassandra/bin/cassandra.bat
REM ***** JAVA選項 *****
set JAVA_OPTS=-ea^
-javaagent:”%CASSANDRA_HOME%\lib\jamm-0.2.5.jar”^
-Xms512M^
-Xmx512M^
因为还会被训斥,所以我会编辑cassandra.in.sh。
$ echo $JAVA_HOME
记下这个输出结果
$ vi apache-cassandra-2.0.9/bin/cassandra.in.sh
可以在这里选择是否设置JAVA_HOME变量
JAVA_HOME=「输入通过 echo $JAVA_HOME 命令输出的路径」
用这个方法就不会被生气了。
如果在echo $JAVA_HOME后没有任何输出的话,那么尝试重新执行上面的export命令。
运行Cassandra:
$ ./bin/cassandra-cli
连接127.0.0.1/9160出现异常。原因:被拒绝的连接。
欢迎使用Cassandra CLI 2.0.9版本。
我被拒绝了。
我先试着调整一下类似防火墙的东西。
$ vi /etc/sysconfig/iptables
添加如下内容:
-A INPUT -p tcp -m tcp –dport 9160 -j ACCEPT
重启iptables:$ /etc/init.d/iptables。
还在被拒绝。
因为好像需要添加什么PID之类的,所以请执行以下操作:
$ ./bin/cassandra -p /var/run/cassandra.pid
Cassandra重新启动
$ ./bin/cassandra-cli
从/root/.cassandra/assumptions.json读取的列族假设
已连接到127.0.0.1/9160上的”Test Cluster”
欢迎使用Cassandra CLI 2.0.9版本
CLI 已被弃用并将在 Cassandra 3.0 中移除。考虑迁移到 cqlsh。
CQL 与 Thrift 数据完全向后兼容,请参考 http://www.datastax.com/dev/blog/thrift-to-cql3。
输入’help;’或’?’获取帮助。
输入’quit;’或’exit;’退出。
请提供要求的具体内容,以便我为您提供中文的合适翻译。
我平安出来了。只要我能行动,就不会在乎细节的事情。