Cassandra可以使用cqlsh以及不同語言的驅(qū)動程序訪問。本章介紹如何設(shè)置cqlsh和java環(huán)境以使用Cassandra。
在Linux環(huán)境中安裝Cassandra之前,我們需要使用ssh(安全Shell)設(shè)置Linux。按照以下步驟設(shè)置Linux環(huán)境。
在開始時,建議為Hadoop創(chuàng)建一個單獨的用戶,以便將Hadoop文件系統(tǒng)與Unix文件系統(tǒng)隔離。 按照以下步驟創(chuàng)建用戶。
使用命令“su”打開根。
使用命令“useradd username”從root帳戶創(chuàng)建用戶。
現(xiàn)在您可以使用命令“su username”打開現(xiàn)有的用戶帳戶。
打開Linux終端并鍵入以下命令以創(chuàng)建用戶。
$ su password: # useradd hadoop # passwd hadoop New passwd: Retype new passwd
需要SSH設(shè)置才能在集群上執(zhí)行不同的操作,例如啟動,停止和分布式守護(hù)程序shell操作。要對Hadoop的不同用戶進(jìn)行身份驗證,需要為Hadoop用戶提供公鑰/私鑰對,并與不同的用戶共享。
以下命令用于使用SSH生成鍵值對:
$ ssh-keygen -t rsa $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 0600 ~/.ssh/authorized_keys
ssh localhost
Java是Cassandra的主要先決條件。 首先,您應(yīng)該使用以下命令驗證系統(tǒng)中是否存在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)
如果您的系統(tǒng)中沒有Java,請按照以下步驟安裝Java。
從以下鏈接下載java(JDK <latest version> - X64.tar.gz):鏈接
然后jdk-7u71-linux-x64.tar.gz將下載到您的系統(tǒng)上。
通常你會在下載文件夾中找到下載的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
要使Java對所有用戶可用,您必須將其移動到位置“/ usr / local /”。 打開root,然后鍵入以下命令。
$ su password: # mv jdk1.7.0_71 /usr/local/ # exit
要設(shè)置PATH和JAVA_HOME變量,請將以下命令添加到?/ .bashrc文件。
export JAVA_HOME = /usr/local/jdk1.7.0_71 export PATH = $PATH:$JAVA_HOME/bin
現(xiàn)在,將所有更改應(yīng)用到當(dāng)前運行的系統(tǒng)。
$ source ~/.bashrc
使用以下命令配置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
現(xiàn)在如上所述從終端使用java -version命令。
在“/.bashrc”中設(shè)置Cassandra路徑的路徑,如下所示。
[hadoop@linux ~]$ gedit ~/.bashrc export CASSANDRA_HOME = ~/cassandra export PATH = $PATH:$CASSANDRA_HOME/bin
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.
創(chuàng)建一個名為cassandra的新目錄,并將下載的文件的內(nèi)容移動到它,如下所示。
$ mkdir Cassandra $ mv apache-cassandra-2.1.2/* cassandra.
打開cassandra.yaml:文件,它將在Cassandra的bin目錄中。
$ gedit cassandra.yaml
注意:如果您從deb或rpm包安裝了Cassandra,配置文件將位于Cassandra的/ etc / cassandra目錄中。
以上命令打開cassandra.yaml文件。驗證以下配置。 默認(rèn)情況下,這些值將設(shè)置為指定的目錄。
data_file_directories“/ var / lib / cassandra / data”
commitlog_directory “/var/lib/cassandra/commitlog”
saved_caches_directory “/var/lib/cassandra/saved_caches”
確保這些目錄存在并且可以寫入,如下所示。
作為超級用戶,創(chuàng)建兩個目錄/ var / lib / cassandra和/var./lib/cassandra,Cassandra將其數(shù)據(jù)寫入其中。
[root@linux cassandra]# mkdir /var/lib/cassandra [root@linux cassandra]# mkdir /var/log/cassandra
給新創(chuàng)建的文件夾授予讀寫權(quán)限,如下所示。
[root@linux /]# chmod 777 /var/lib/cassandra [root@linux /]# chmod 777 /var/log/cassandra
要啟動Cassandra,請打開終端窗口,導(dǎo)航到Cassandra主目錄/ home,解壓縮Cassandra,然后運行以下命令啟動Cassandra服務(wù)器。
$ cd $CASSANDRA_HOME $./bin/cassandra -f
使用-f選項告訴Cassandra保留在前臺,而不是作為后臺進(jìn)程運行。如果一切順利,您可以看到Cassandra服務(wù)器啟動。
要以編程方式設(shè)置Cassandra,請下載以下jar文件:
將它們放在單獨的文件夾中。例如,我們正在將這些jar下載到名為“Cassandra_jars”的文件夾。
在“.bashrc”文件中設(shè)置此文件夾的類路徑,如下所示。
[hadoop@linux ~]$ gedit ~/.bashrc //Set the following class path in the .bashrc file. export CLASSPATH = $CLASSPATH:/home/hadoop/Cassandra_jars/*
打開Eclipse并創(chuàng)建一個名為Cassandra Examples的新項目。
右鍵單擊項目,選擇構(gòu)建路徑→配置構(gòu)建路徑,如下所示。
它將打開屬性窗口。在庫選項卡下,選擇添加外部JAR。導(dǎo)航到您保存您的jar文件的目錄。選擇所有五個jar文件,然后單擊確定,如下所示。
在參考庫下,您可以看到添加了所有必需的jar,如下所示:
下面給出了使用maven構(gòu)建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>
更多建議: