So-net無料ブログ作成

Cassandra 3.9 をさわってみる [プログラミング]

まず java8 をインストールする
あと python という名前のコマンドで python2.7 がインストールされている必要がある

binary tarball file を使うことにする
http://cassandra.apache.org/doc/latest/getting_started/installing.html#installation-from-binary-tarball-files
cassandra の最新が 3.9 のようなので apache-cassandra-3.9-bin.tar.gz をダウンロードしてきて
$ tar zxvf apache-cassandra-3.9-bin.tar.gz
で展開。
展開したディレクトリの中の bin ディレクトリにパスを通す。
自分の場合は、
export PATH="$PATH:$HOME/apache-cassandra-3.9/bin"
みたいな感じにした。

これで
$ cassandra
でサーバー実行
$ cqlsh
でコマンドシェル実行できた
$ cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.9 | CQL spec 3.4.2 | Native protocol v4]
Use HELP for help.
cqlsh>

使い方は↓ここら辺が参考になった
http://symfoware.blog68.fc2.com/blog-entry-1917.html

以下、自分が実行した例
cqlsh> create keyspace sample WITH replication = {'class': 'SimpleStrategy', 'replication_factor' : 1};
cqlsh> DESCRIBE keyspaces;

system_schema  system_auth  system  sample  system_distributed  system_traces

cqlsh> use sample;
cqlsh:sample> create table test (
          ...     id int,
          ...     s text,
          ...     primary key(id)
          ... );
cqlsh:sample> describe tables;

test

cqlsh:sample> INSERT INTO test (id, s) VALUES (1, 'test1');
cqlsh:sample> INSERT INTO test (id, s) VALUES (2, 'test2');
cqlsh:sample> SELECT * FROM test;

 id | s
----+-------
  1 | test1
  2 | test2

(2 rows)
cqlsh:sample>



(追記)

cqlsh は、 python 製の pip でインストールできるコマンドなので
ダウンロードした tarball の じゃなくても

sudo pip install cqlsh

でインストールできる。

macOS Sierra の場合
$ sudo easy_install -U six
で、システムの python 2.7 の six をアップグレードしないとダメかも


この /usr/local/bin/cqlsh にインストールされるコマンドを実行しても良い・・・はずなのだが

$ cqlsh
Connection error: ('Unable to connect to any servers', {'127.0.0.1': ProtocolError("cql_version '3.3.1' is not supported by remote (w/ native protocol). Supported versions: [u'3.4.2']",)})

エラーで接続できない。クライアントの要求する CQL バージョンの方を
サーバーが受け付けられないということらしい

$ cqlsh --cqlversion=3.4.2

って指定するとエラーにならないんだけどいいのかな?

~/.cassandra/cqlshrc に
[cql]
version = 3.4.2

と書いても同じらしい
コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

たしなめられる夫 [日記]

東京通勤圏内に住んでいると、知り合いの親戚が大手電機とかそのシステム子会社とかってことが結構ある。
カミさんが
「〇〇さんの弟さんがT芝で・・・」
って話をすると、僕が
「ふーん、大変だねぇ」
という反応をするので、(また、立派な会社に勤めている人に嫉妬して!)と思ってか、
「そういうこと言うもんじゃない」
とたしなめられる。

いやいやいや、本当に、大変だねえって思ってるんだけど・・・
その人の奥さんや親は、給料多いし自慢できるからいいだろうけど、本人は長時間働いて死にそうだと思うよ。本当につぶれそうだし・・・ってことを言うと、「また嫉妬して、そんな大きな会社つぶれるわけないじゃん」と言う反応をされる。

僕ぐらいの年齢だと、勝ち残って部長や本部長になってない人はリストラかよくて出向。
どんなに会社にしがみついていても、所属する部署ごと売り払われちゃうのでどうしようもない。
・・・っていうことをが、この歳になってみるとわかる。

毎年公表される理系大学生の就職人気ランキングを見ると
「ま、まじでそこ入りたいの?」
ってところが並んでてビビる。
いや、自分の新卒の時もランキングは同じようなもんだったし、そういうことに入れるのは羨ましいと思ってた。僕がとても入れないような人気企業に入れてた、あの時の就職強者の人たちバブル崩壊を乗り越えて、今頃何しているんだろう。
コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

MongoDB にユーザー追加してユーザ認証 [プログラミング]

データーベース test_nmongo に管理者権限を持ったユーザー alice (パスワード secret)を追加

$ mongo
$ use test_nmongo

db.createUser(
{
user: "alice",
pwd: "secret",
roles:
[
{
role: "userAdmin",
db: "test_nmongo"
}
]
}
)

role には普通は "readWrite" とか "read" とか指定するみたい
https://docs.mongodb.com/manual/tutorial/enable-authentication/#create-additional-users-as-needed-for-your-deployment


ユーザー alice でログインしてみる

[mongo shell から接続する場合]

mongo -u "alice" -p "secret" --authenticationDatabase "test_nmongo"

[mongo shell で接続してから認証する場合]

mongo
> use test_nmongo
switched to db test_nmongo
> db.auth("alice", "secret")
1
>

うーんと、できてるっぽいけど、これでいいのかな・・・
コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

MongoDB の SSL 設定 [プログラミング]

ここらへん↓を参考に作業
https://docs.mongodb.com/manual/tutorial/configure-ssl/
https://github.com/retorillo/mongodb-example/blob/master/README-ja.md
http://www.utali.io/entry/2016/11/04/113830

http://nakagami.blog.so-net.ne.jp/2016-12-07
の時に Ubuntu16.04 にインストールした MongoDB3.2 で /etc/mongod.conf に設定ファイルがあることを前提に・・・

# cd /etc/ssl
# openssl req -newkey rsa:2048 -new -x509 -days 365 -nodes -out mongodb-cert.crt -keyout mongodb-cert.key
(色々入力。この時、Common Name は、検証されるので接続される IP アドレスのホスト名を入れる)
# cat mongodb-cert.key mongodb-cert.crt > mongodb.pem

/etc/mongod.conf の
net:
  port: 27017
  bindIp: 127.0.0.1

こうなっていたのを↑こう↓変更
net:
  port: 27017
  ssl:
    mode: requireSSL
    PEMKeyFile: /etc/ssl/mongodb.pem


んで、 mongo shell からは

mongo --ssl --sslCAFile=/etc/ssl/mongodb-cert.crt

でアクセス。
--sslCAFile=/etc/ssl/mongodb-cert.crt の指定がないとエラーになる
なるほどー

WARNING出るけど
mongo --ssl --sslAllowInvalidCertificates
でも接続できた
コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

プログラマーという職業は日本人向きだと思うのだが [日記]

パソコン少年だった高校の頃に思った。
資源のない国で、そしてほとんどの人が高校まで卒業して高校数学くらいまではやっている日本は、ソフトウェア開発を新たな産業にするのには向いているんじゃないかと。
実際僕は、大学で学んだことは今の仕事には全く結びついてないので、就職の機会さえ与えられるのなら高卒でもいいのかもしれない。

そんなことを考えていた時代から 30年。
日本の状況は全く逆の IT 後進国になってしまっている。
ITの需要は増え続ける一方なのに。

なんでだかわからないけどプログラマーという職業が割と下に見られてしまっていて、若者に人気がないのは大きな理由だよな。

そして最近では、スマートフォンの普及に反比例して家庭のインターネット回線やパソコンの普及率が下がっていているそうな。

最近は、子供にプログラミングを教えるのが流行りなんだそうだが、
(世間一般には、あまり良い職業と思われてない気がするが)
行かせている親は将来の手に職になると思っているんだろうか?
それに、小学生にプログラミングを教えるくらいなら、算数とか折り紙とかやった方がいいと思うんだよなぁ。
コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

今年の目標 [日記]

もう 1/1 が終わりそうなので書いておく

今年は、趣味のプロジェクトとして何か新機軸のコードを書き始めたい。
何かはまだ決まってない

自分の実力で実現可能なギリギリ難しいテーマを選ぶのは難しいので悩み中
http://nakagami.blog.so-net.ne.jp/2013-01-27-1
コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感