Phython Driver and Flask+uWSGI web application for Cassandra Cluster
399
Dockerfile_DBを使ってCassandraのクラスターを作成し、Dockerfile_Terminalを使って、Cassandraを操作するFlaskウェブアプリケーションを作成する。 Flask側のサーバーは、brew、pip、cassandra driverそのほか、かなりのインストールが行われるのでDocker buildは時間がかかる。
docker build -f ./Dockerfile_Terminal_Debian -t sog-cqlsh-term .
docker run --name cassandra_term -p 5000 -p 9090 -d sog-cqlsh-term
DockerでCassandraのクラスターを作成する
docker build -f ./Dockerfile -t sog-cassandra .
latest=3.0.4で動作確認
docker run --name cassandra1 -m 2g -p 9042:9042 -d sog-cassandra
docker inspect --format='{{ .NetworkSettings.IPAddress }}' cassandra1
docker run -it --link cassandra1 --rm sog-cassandra sh -c 'exec cqlsh 172.17.0.2'
docker run --name cassandra2 -m 2g -p 9042 -d -e CASSANDRA_SEEDS="$(docker inspect --format='{{ .NetworkSettings.IPAddress }}' cassandra1)" sog-cassandra
docker exec -i -t cassandra1 sh -c 'nodetool status'cassandra1ノード上で作業
docker exec -it cassandra1 /bin/bash
CREATE KEYSPACE test WITH REPLICATION = {'class': 'SimpleStrategy', 'replication_factor': 2}; USE test; CREATE TABLE test_table ( id text, test_value text, PRIMARY KEY (id) ); INSERT INTO test_table (id, test_value) VALUES ('1', 'one'); INSERT INTO test_table (id, test_value) VALUES ('2', 'two'); INSERT INTO test_table (id, test_value) VALUES ('3', 'three');
cqlsh -f create_keyspace.cql 172.17.0.2
cqlsh 172.17.0.2 cqlsh> use test; cqlsh:test> SELECT * FROM test_table;
まずIPの確認
docker inspect --format='{{ .NetworkSettings.IPAddress }}' cassandra2
cqlsh 172.17.0.3 cqlsh> use test; cqlsh:test> SELECT * FROM test_table;
CREATE keyspace CREATE KEYSPACE test WITH REPLICATION = {'class': 'SimpleStrategy', 'replication_factor': 2}; DESCRIBE keyspaces; DROP keyspace shop; use shop;
古いCassandraではテーブルのことをcolumnfamilyと呼んでいる
create columnfamily GOODS (key text primary key, name text, price int); describe columnfamily goods;
新しいCassandraではtableを使う。
create table PERSONS (key text primary key, name text, age int); describe table persons;
http://yurisubach.com/2016/03/24/cassandra-docker-test-cluster/ http://qiita.com/masato/items/f0d924ef2854970a9391
Content type
Image
Digest
Size
359.9 MB
Last updated
over 8 years ago
docker pull someonesgarden/cassandra_driver