Cassandra - 安裝



Cassandra可以使用cqlsh以及不同語言的驅動程式訪問。本章解釋如何設定cqlsh和Java環境以與Cassandra一起工作。

安裝前設定

在Linux環境中安裝Cassandra之前,我們需要使用ssh(安全Shell)設定Linux。請按照以下步驟設定Linux環境。

建立使用者

首先,建議為Hadoop建立一個單獨的使用者,以隔離Hadoop檔案系統和Unix檔案系統。請按照以下步驟建立使用者。

  • 使用命令“su”開啟root。

  • 使用命令“useradd 使用者名稱”從root帳戶建立使用者。

  • 現在,您可以使用命令“su 使用者名稱”開啟現有的使用者帳戶。

開啟Linux終端,並鍵入以下命令以建立使用者。

$ su
password:
# useradd hadoop
# passwd hadoop
New passwd:
Retype new passwd

SSH設定和金鑰生成

SSH設定是執行叢集上不同操作(例如啟動、停止和分散式守護程式shell操作)所必需的。為了驗證Hadoop的不同使用者,需要為Hadoop使用者提供公鑰/私鑰對,並與不同的使用者共享。

以下命令用於使用SSH生成金鑰值對:

  • 將公鑰從id_rsa.pub複製到authorized_keys,
  • 並提供所有者,
  • 分別為authorized_keys檔案提供讀寫許可權。
$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
  • 驗證ssh
ssh localhost

安裝Java

Java是Cassandra的主要前提條件。首先,您應該使用以下命令驗證系統中Java的存在:

$ java -version

如果一切正常,它將為您提供以下輸出。

java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b13)
Java HotSpot(TM) Client VM (build 25.0-b02, mixed mode)

如果您的系統中沒有Java,請按照以下步驟安裝Java。

步驟1

從以下連結下載java(JDK <最新版本>-X64.tar.gz):

然後jdk-7u71-linux-x64.tar.gz將下載到您的系統上。

步驟2

通常您會在“下載”資料夾中找到下載的java檔案。驗證它並使用以下命令解壓縮jdk-7u71-linux-x64.gz檔案。

$ cd Downloads/
$ ls
jdk-7u71-linux-x64.gz
$ tar zxf jdk-7u71-linux-x64.gz
$ ls
jdk1.7.0_71 jdk-7u71-linux-x64.gz

步驟3

要使所有使用者都能使用Java,您必須將其移動到“/usr/local/”位置。開啟root,然後鍵入以下命令。

$ su
password:
# mv jdk1.7.0_71 /usr/local/
# exit

步驟4

要設定PATHJAVA_HOME變數,請將以下命令新增到~/.bashrc檔案中。

export JAVA_HOME = /usr/local/jdk1.7.0_71
export PATH = $PATH:$JAVA_HOME/bin

現在將所有更改應用到當前執行的系統中。

$ source ~/.bashrc

步驟5

使用以下命令配置java替代項。

# alternatives --install /usr/bin/java java usr/local/java/bin/java 2
# alternatives --install /usr/bin/javac javac usr/local/java/bin/javac 2
# alternatives --install /usr/bin/jar jar usr/local/java/bin/jar 2

# alternatives --set java usr/local/java/bin/java
# alternatives --set javac usr/local/java/bin/javac
# alternatives --set jar usr/local/java/bin/jar

現在如上所述從終端使用java -version命令。

設定路徑

如下所示,在“/.bashrc”中設定Cassandra路徑。

[hadoop@linux ~]$ gedit ~/.bashrc

export CASSANDRA_HOME = ~/cassandra
export PATH = $PATH:$CASSANDRA_HOME/bin

下載Cassandra

Apache Cassandra可在下載連結使用以下命令下載Cassandra。

$ wget http://supergsego.com/apache/cassandra/2.1.2/apache-cassandra-2.1.2-bin.tar.gz

使用如下所示的zxvf命令解壓縮Cassandra。

$ tar zxvf apache-cassandra-2.1.2-bin.tar.gz.

建立一個名為cassandra的新目錄,並將下載檔案的內容移動到該目錄中,如下所示。

$ mkdir Cassandra
$ mv apache-cassandra-2.1.2/* cassandra.

配置Cassandra

開啟cassandra.yaml:檔案,該檔案位於Cassandra的bin目錄中。

$ gedit cassandra.yaml

注意-如果您從deb或rpm包安裝了Cassandra,則配置檔案將位於Cassandra的/etc/cassandra目錄中。

上述命令開啟cassandra.yaml檔案。驗證以下配置。預設情況下,這些值將設定為指定的目錄。

  • data_file_directories “/var/lib/cassandra/data”

  • commitlog_directory “/var/lib/cassandra/commitlog”

  • saved_caches_directory “/var/lib/cassandra/saved_caches”

確保這些目錄存在並且可以寫入,如下所示。

建立目錄

以超級使用者身份建立兩個目錄/var/lib/cassandra/var./log/cassandra,Cassandra將資料寫入其中。

[root@linux cassandra]# mkdir /var/lib/cassandra
[root@linux cassandra]# mkdir /var/log/cassandra

向資料夾授予許可權

如下所示,向新建立的資料夾授予讀寫許可權。

[root@linux /]# chmod 777 /var/lib/cassandra
[root@linux /]# chmod 777 /var/log/cassandra

啟動Cassandra

要啟動Cassandra,請開啟終端視窗,導航到Cassandra主目錄/home(您在其中解壓縮Cassandra的位置),然後執行以下命令以啟動您的Cassandra伺服器。

$ cd $CASSANDRA_HOME
$./bin/cassandra -f 

使用–f選項告訴Cassandra保持在前臺執行,而不是作為後臺程序執行。如果一切順利,您可以看到Cassandra伺服器正在啟動。

程式設計環境

要以程式設計方式設定Cassandra,請下載以下jar檔案:

  • slf4j-api-1.7.5.jar
  • cassandra-driver-core-2.0.2.jar
  • guava-16.0.1.jar
  • metrics-core-3.0.2.jar
  • netty-3.9.0.Final.jar

將它們放在一個單獨的資料夾中。例如,我們將這些jar下載到名為“Cassandra_jars”的資料夾中。

如下所示,在“.bashrc”檔案中設定此資料夾的類路徑。

[hadoop@linux ~]$ gedit ~/.bashrc

//Set the following class path in the .bashrc file.

export CLASSPATH = $CLASSPATH:/home/hadoop/Cassandra_jars/*

Eclipse環境

開啟Eclipse並建立一個名為Cassandra_Examples的新專案。

右鍵單擊該專案,選擇構建路徑→配置構建路徑,如下所示。

Cassandra Build Path

它將開啟屬性視窗。在“庫”選項卡下,選擇新增外部JAR。導航到儲存jar檔案的目錄。選擇所有五個jar檔案,然後單擊“確定”,如下所示。

Cassandra External JARs

在“參考庫”下,您可以看到新增的所有必需jar,如下所示:

Eclipse3

Maven依賴項

以下是使用maven構建Cassandra專案的pom.xml。

<project xmlns = "http://maven.apache.org/POM/4.0.0" 
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"  
   xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <build>
      <sourceDirectory>src</sourceDirectory>
      <plugins>
         <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
				
               <configuration>
                  <source>1.7</source>
                  <target>1.7</target>
               </configuration>
					
         </plugin>
      </plugins>
   </build> 

   <dependencies>
      <dependency>
         <groupId>org.slf4j</groupId>
         <artifactId>slf4j-api</artifactId>
         <version>1.7.5</version>
      </dependency>
 
      <dependency>
         <groupId>com.datastax.cassandra</groupId>
         <artifactId>cassandra-driver-core</artifactId>
         <version>2.0.2</version>
      </dependency>
 
      <dependency>
         <groupId>com.google.guava</groupId>
         <artifactId>guava</artifactId>
         <version>16.0.1</version>
      </dependency>
 
      <dependency>
         <groupId>com.codahale.metrics</groupId>
         <artifactId>metrics-core</artifactId>
         <version>3.0.2</version>
      </dependency>
 
      <dependency>
         <groupId>io.netty</groupId>
         <artifactId>netty</artifactId>
         <version>3.9.0.Final</version>
      </dependency>
   </dependencies>

</project>
廣告
© . All rights reserved.