Difference between revisions of "Cassandra"

From Dogtag
Jump to: navigation, search
m (Authentication)
m (Tables)
Line 170: Line 170:
 
<pre>
 
<pre>
 
cqlsh> CREATE TABLE users (user_name varchar, password varchar, gender varchar, PRIMARY KEY (user_name));
 
cqlsh> CREATE TABLE users (user_name varchar, password varchar, gender varchar, PRIMARY KEY (user_name));
 +
</pre>
 +
 +
= Views =
 +
 +
== Listing Views ==
 +
 +
<pre>
 +
cqlsh> SELECT * FROM system_schema.views;
 
</pre>
 
</pre>
  

Revision as of 03:11, 1 August 2020

Installation

Installing from Fedora Repository

To install from Fedora repository:

$ dnf install cassandra cassandra-server cassandra-java-driver

Installing from Upstream Repository

To enable upstream repository:

$ cat > /etc/yum.repos.d/cassandra.repo << EOF
[cassandra]
name=Apache Cassandra
baseurl=https://downloads.apache.org/cassandra/redhat/40x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
EOF

To install from upstream repository:

$ dnf install cassandra

To download tarball from a mirror:

$ wget http://www.trieuvan.com/apache/cassandra/4.0-alpha4/apache-cassandra-4.0-alpha4-bin.tar.gz
$ tar xzvf apache-cassandra-4.0-alpha4-bin.tar.gz
$ cp apache-cassandra-4.0-alpha4/lib/apache-cassandra-4.0-alpha4.jar /usr/share/cassandra/apache-cassandra-4.0~alpha4.jar

Starting Cassandra Service

Starting Fedora Service

To start the service:

$ systemctl start cassandra

To monitor the logs:

$ journalctl -fu cassandra.service

If the server is timing out, edit /usr/lib/systemd/system/cassandra.service as follows:

[Service]
#Type=forking
Type=simple

then try again:

$ systemctl daemon-reload
$ systemctl restart cassandra

Starting Upstream Service

To start the service:

$ systemctl start cassandra

To monitor the logs:

$ tail -f /var/log/cassandra/system.log

Verifying Cassandra Service

$ nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load       Tokens       Owns (effective)  Host ID                               Rack
UN  127.0.0.1  114.85 KiB  256          100.0%            9561eae1-869a-476f-8708-340978a8fb24  rack1

Connecting to Database

To connect to a local database:

$ cqlsh

To connect to a remote database:

$ cqlsh --cqlshrc=cqlshrc -u <username> -p <password> -k <keyspace>

Authentication

Edit /etc/cassandra/cassandra.yaml:

authenticator: PasswordAuthenticator
authorizer: CassandraAuthorizer

Restart the server:

$ systemctl restart cassandra

To create a user:

$ cqlsh -u cassandra -p cassandra
cqlsh> CREATE ROLE acme WITH PASSWORD = 'Secret.123' and LOGIN = true;

Keyspaces

Listing Keyspaces

cqlsh> DESCRIBE KEYSPACES;

Creating a Keyspace

cqlsh> CREATE KEYSPACE <keyspace> WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };
cqlsh> use <keyspace>;

Using a Keyspace

cqlsh> USE <keyspace>;

Removing a Keyspace

cqlsh> DROP KEYSPACE <keyspace>;

Tables

Listing Tables

cqlsh> DESCRIBE TABLES;

Creating a Table

cqlsh> CREATE TABLE users (user_name varchar, password varchar, gender varchar, PRIMARY KEY (user_name));

Views

Listing Views

cqlsh> SELECT * FROM system_schema.views;

See Also