Cassandra 简明教程
Cassandra - Installation
可以使用 cqlsh 访问 Cassandra,也可以使用不同语言的驱动程序。本节将说明如何设置 cqlsh 和 java 环境以使用 Cassandra。
Pre-Installation Setup
在 Linux 环境中安装 Cassandra 之前,我们需要使用 ssh (安全 Shell)设置 Linux。请按照以下步骤设置 Linux 环境。
Create a User
开始时,建议为 Hadoop 创建一个单独的用户,以便将 Hadoop 文件系统与 Unix 文件系统隔离开。请按照以下步骤创建用户。
-
使用命令 “su” 打开 root。
-
使用命令 “useradd username” 从 root 帐户创建用户。
-
现在,您可以使用命令 “su username” 打开现有用户帐户。
打开 Linux 终端并输入以下命令以创建用户。
$ su
password:
# useradd hadoop
# passwd hadoop
New passwd:
Retype new passwd
SSH Setup and Key Generation
执行群集上的不同操作(如启动、停止和分布式守护程序 shell 操作)需要进行 SSH 设置。为了对 Hadoop 的不同用户进行身份验证,需要为 Hadoop 用户提供公钥/私钥对并将其与不同的用户共享。
以下命令用于使用 SSH 生成一个键值对 −
-
将公共密钥表从 id_rsa.pub 复制到 authorized_keys,
-
and provide owner,
-
分别读取和写入 authorized_keys 文件的权限。
$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
-
Verify ssh:
ssh localhost
Installing 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。
Step 1
从以下链接下载 java (JDK <最新版本> - X64.tar.gz):http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html[ link:]
Then jdk-7u71-linux-x64.tar.gz will be downloaded onto your system.
Step 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
Step 3
为了让所有用户都可以使用 Java,您必须将其移动到“/usr/local/”位置。打开 root 并输入以下命令。
$ su
password:
# mv jdk1.7.0_71 /usr/local/
# exit
Step 4
为设置 PATH 和 JAVA_HOME 变量,将以下命令添加到 ~/.bashrc 文件。
export JAVA_HOME = /usr/local/jdk1.7.0_71
export PATH = $PATH:$JAVA_HOME/bin
现在将所有更改应用到当前正在运行的系统中。
$ source ~/.bashrc
Step 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 命令,如上所述。
Download Cassandra
Apache Cassandra 可在 Download Link 上使用以下命令使用 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.
Configure Cassandra
打开 cassandra.yaml: 文件,该文件将在 Cassandra 的 bin 目录中。
$ gedit cassandra.yaml
Note − 如果你从 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”
确保这些目录存在且可以写入,如下所示。
Start Cassandra
要启动 Cassandra,打开终端窗口,导航到 Cassandra 主目录/主目录,在其中解压 Cassandra,并运行以下命令启动你的 Cassandra 服务器。
$ cd $CASSANDRA_HOME
$./bin/cassandra -f
使用 –f 选项告诉 Cassandra 驻留在前台,而不是作为后台进程运行。如果一切都正常,你可以看到 Cassandra 服务器启动。
Programming Environment
要以编程方式设置 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 Environment
打开 Eclipse,并创建一个名为 Cassandra_Examples 的新项目。
右击项目,选择 Build Path→Configure Build Path ,如下所示。
它将打开属性窗口。在库选项卡下,选择 Add External JARs 。导航到你保存 jar 文件的目录。选择这五个 jar 文件并单击确定,如下所示。
在引用库下,你可以看到所有附加的要求 jar,如下所示 −
Maven Dependencies
下面给出的是使用 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>