- 准備運行環境
1.1 cassandra可以安裝在windows和linux下,本例子安裝在centos6.7的環境下。
1.2 關閉防火牆。或者開放9042(默認的CQL本地服務端口)、9160(默認的Cassandra服務端口)、7000(Cassand集群內節點間通訊端口)、7199端口(Cassandra JMX 監控端口)
關閉防火牆:1 service iptables stop 2 chkconfig iptables off
1 vi /etc/sysconfig/iptables 2 -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(仿照這個寫) 3 /etc/init.d/iptables restart
下載JDK:yum -y install wget //安裝wget插件 wget –P /usr http://download.oracle.com/otn/java/jdk/8u60-b15/jdk-8u60-linux-i586.rpm?AuthParam=1467614887_3fe640855a43a439fb5f5fec1f5045e2 rpm -ivh jdk-8u60-linux-i586.rpm
1 vi /etc/profile 2 JAVA_HOME=/usr/java/jdk1.8.0_60 3 JRE_HOME=/usr/java/jdk1.8.0_60/jre 4 PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin 5 CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib 6 export JAVA_HOME JRE_HOME PATH CLASSPAH 7 source /etc/profile
- 安裝
2.1 下載並解壓cassandra安裝包,本例子用的版本是2.1.14(這個鏡像不行的話去官網找別的鏡像)
1 wget http://mirrors.cnnic.cn/apache/cassandra/2.1.14/apache-cassandra-2.1.14-src.tar.gz 2 tar -zxvf apache-cassandra-2.1.14-bin.tar.gz -C /opt/cassandra
2.2 新建cassandra數據存放的文件夾(用安裝包的方式就需要這一步)。
1 //可以根據磁盤情況設置這3個文件夾,但是要和cassandra.yaml里的想對應 2 mkdir /var/lib/cassandra/data 3 mkdir /var/lib/cassandra/commitlog 4 mkdir /var/lib/cassandra/saved_caches
2.3 打開解壓后的/opt/apache-cassandra-2.1.14/cassandra/conf的目錄,修改其中的cassandra.yaml中的一些參數
1 cluster_name: 'xxx' //集群名稱。同一個集群要使用同一名稱 2 data_file_directories: 3 - /var/lib/cassandra/data //數據文件存放路徑。打開這個注釋,注意不要合並成一行,合並成一行好像會出問題,這里要與前面新建的文件夾對應。 4 commitlog_directory: /var/lib/cassandra/commitlog //操作日志文件存放路徑。打開注釋,與前面新建的文件夾對應。 5 saved_caches_directory: /var/lib/cassandra/saved_caches //緩存文件存放路徑。打開注釋,與前面新建的文件夾對應。 6 - seeds: "192.168.x.x" //集群種子節點ip,新加入集群的節點從種子節點中同步數據。可配置多個,中間用逗號隔開。 7 listen_address: 127.0.0.1 //需要監聽的IP或主機名。改成本機IP 8 rpc_address: 127.0.0.1 //用於監聽客戶端連接的地址。建議設置成IP或0.0.0.0。若設置0.0.0.0,則要放開broadcast_rpc_address: 1.2.3.4的注釋。
2.4 進入到bin目錄下
1 ./cassandra
如果提示沒有權限什么的
1 ./cassandra -R //用root用戶啟動
如果沒有報什么奇奇怪怪的ERROR然后看到 Node /x.x.x.x state jump to NORMAL,這樣cassandra就算安裝完成了,也可以在在bin目錄下使用./nodetool status 查看集群信息確認一下。
UN 表示的是該服務器的狀態,UN是運行中,DN是宕機。
Note: xxxxxxx 這個問題是因為同一個鍵空間里存在不同復制策略的表,不影響使用,但是最好建表和修改表的時候注意一下。