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