須要在 CentOS 7.4 服務器上安裝 Cassandra,因而作個筆記,記錄一下過程。apache
Cassandra 依賴 OracleJDK 1.8
以及 Python 2.7
,請檢查是否有安裝。vim
若是你喜歡一鍵安裝,你能夠參考 Cassandra 官方安裝教程,但有必要告訴你的是,官方教程會同時下載 OpenJDK、Python 等依賴,但願你不會所以後悔。服務器
我準備使用我本身的安裝方式,這和官方教程一樣簡單。網站
首先建立 /usr/local/cassandra
目錄:spa
sudo mkdir /usr/local/cassandra cd /usr/local/cassandra
而後進入 Cassandra 官方網站:3d
點擊 Download Cassandra
:code
選擇 3.11.2
版本:blog
直接複製,或使用右鍵 複製連接地址,運行命令:教程
sudo wget http://mirrors.hust.edu.cn/apache/cassandra/3.11.2/apache-cassandra-3.11.2-bin.tar.gz
下載完畢:圖片
解壓到當前目錄:
sudo tar xvzf apache-cassandra-3.11.2-bin.tar.gz
解壓完畢,若是進入 apache-cassandra-3.11.2/bin
目錄輸入 cassandra
的話,能夠啓動它,可是請暫時不要這樣作。
在啓動以前,先配置一下 conf/cassandra.yaml
文件:
cluster_name: 'Smith Cluster' hints_directory: /var/data/cassandra/hints data_file_directories: - /var/data/cassandra/data commitlog_directory: /var/data/cassandra/commitlog cdc_raw_directory: /var/data/cassandra/cdc_raw saved_caches_directory: /var/data/cassandra/saved_caches
將集羣名字修改成 Smith Cluster
,這樣作是不但願被動加入其餘 Cassandra 實例的集羣,咱們須要保持單機狀態。
而其餘目錄相關的路徑,咱們但願在升級 Cassandra 版本時,不至於丟失任何之前的數據。
建立 /var/data
和 /var/data/cassandra
目錄,並將 data
目錄權限修改成 773
策略:
sudo mkdir /var/data sudo mkdir /var/data/cassandra sudo chmod -R 773 /var/data
Cassandra 並不但願以 root
身份啓動,可若是沒有 sudo
的話,又無法啓動成功,因而作了這樣一個折中方案,可能有點危險:授予了其餘用戶寫入和執行權限。但目前沒找到(其實沒認真找)更好的方法,但願有大神前來指點一二。
啓動 Cassandra:
cd /usr/local/cassandra/apache-cassandra-3.11.2/bin ./cassandra
從 ps -ef | grep cassandra
能夠得知它啓動了,可是並不清楚是否能夠鏈接。
那麼經過如下命令來檢查狀態:
./cqlsh
如圖:
爲了更好地使用這些命令,應該像配置 JDK
那樣創建:
sudo vim /etc/profile.d/cassandra.sh
輸入內容:
export CASSANDRA_HOME=/usr/local/cassandra/apache-cassandra-3.11.2 export PATH=$CASSANDRA_HOME/bin:$PATH
重載一下環境變量,再檢查一下狀態:
cd .. source profile cqlsh
完美:
Cassandra 存在不少坑人的地方,這裏因爲是 CentOS 7.4 系統,內置了 Python 2.7,所以不會在 cqlsh
命令上遭遇挫折。對於集羣名字,若是從一開始沒有設置好,後面再創建集羣的時候,須要作不少事情。而文件目錄不手動修改的話,它會在 Cassandra 的 ./data
目錄下默認建立那些文件,一旦須要升級版本,數據遷移將變得很是棘手。