前書きの前書き
AIトレードは実際の金銭を扱います。
知識のない人はやらないようにしましょう。
知識のあるひとも自己責任でやりましょう。
これらの記事は、AIトレードの基盤を作ることを目標としていて、稼ぐことは目標としていません。
どちらかと言うとデータマイニングです。
稼げれば何よりですが、もう一度。
自己責任でやってください
前書き
前回、DBにpostgresqlかmysqlを使うと言ったな。
あれは嘘だ。
いやですね、elasticsearchと言う面白いDB(?)を教えてもらいまして。
使ったことない技術っておもしろそうじゃないですか?
高速でデータのやり取りできると言う話を聞いて、おや?おやおや?と。
なので、elasticsearchを使います。
開発環境
PC
機種名 : MacBook Pro
OS : High Sierra 10.13.1
プロセッサ名 : Intel Core i5 2.6 GHz
メモリ : 16 GB
グラフィック : Intel Iris 1536MB
言語/ライブラリ
- Node.js 8.9.0
- request
- crypto
- Python 3系(未定)
- Tensor Flow
- Chainer どっちか使う予定
DB(未定:学習用データ等を入れる予定)
- elasticsearch 6.0.0
- ライセンス等は自分で確認してね?
全体の流れ
- elasticsearchのセットアップ
- 前回作ったやつで取得したデータをelasticsearchにぶっこむ。
本題
elasticsearchのセットアップ
elasticsearchの環境構築進めていきましょう。
こちらの記事を参考に進めていきます。
はじめての Elasticsearch
https://qiita.com/nskydiving/items/1c2dc4e0b9c98d164329
JAVA_HOMEの登録
% java -version [20:05:39]
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
% echo $JAVA_HOME
JAVAは入っているけど、JAVA_HOMEは登録されていない模様。
環境変数を登録。
こんなんチョロですよ、チョロ。
この時、あんなことになるなんて知る由もなかった。
(このまましたのやつ動かすとエラーになるので、もう少し読み進めてください。)
% which java
/usr/bin/java
% echo export JAVA_HOME=/usr/bin/java >> .bash_profile
% source ~/.bash_profile
elasticsearchのセットアップ
今回入れるのは最新(2017/11/25)の6.0.0なので、それっぽく変えてやっていきます。
% wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.tar.gz
% tar -xzf elasticsearch-6.0.0.tar.gz
% cd elasticsearch-6.0.0
% bin/elasticsearch-plugin install analysis-kuromoji
Unable to locate an executable at "/usr/bin/java/bin/java" (-1)
ふむ、エラーが出ました。参照しているパスがさっき登録したところと違う模様。
JAVA_HOMEの登録②
先程チョロと言いましたが、チョロじゃなかった。
/usr/bin/java
の階層に、binはないので、おかしいなとググった結果。
環境変数にはexport JAVA_HOME=/Library/Java/Home
と登録する必要があったみたいです。
なので、修正。
% vi ~/.bash_profile
% source ~/.bash_profile
elasticsearchのセットアップ②
再チャレンジ
% bin/elasticsearch-plugin install analysis-kuromoji
-> Downloading analysis-kuromoji from elastic
[=================================================] 100%
-> Installed analysis-kuromoji
行けました。
動作確認
% bin/elasticsearch
~ログがばーっと出る~
[2017-11-25T20:23:09,868][INFO ][o.e.n.Node ] [Pk16-Uf] started
startedが出たので行けるはず。
http://localhost:9200/
にアクセスしてみる。
{
"name" : "Pk16-Uf",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "Y92hQ0cAR8ivRMDsVUsiCw",
"version" : {
"number" : "6.0.0",
"build_hash" : "8f0685b",
"build_date" : "2017-11-10T18:41:22.859Z",
"build_snapshot" : false,
"lucene_version" : "7.0.1",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
jsonが表示されたので成功したようです。
Kibanaのセットアップ
特に問題起きなかったのでサラッと。
bash
% wget https://artifacts.elastic.co/downloads/kibana/kibana-6.0.0-darwin-x86_64.tar.gz
% tar -xzf kibana-6.0.0-darwin-x86_64.tar.gz
% cd kibana-6.0.0-darwin-x86_64
動作確認
動かしてみます
% bin/kibana
~ログがばーっと出る~
log [11:54:23.317] [info][status][ui settings] Status changed from yellow to green - Ready
動き出したようです。
http://localhost:5601/
にアクセスしてみる
できたのか?
No default index pattern. You must select or create one to continue.
ワーニングを適当に訳すと、インデックスがね~からつくれよ!
ってことらしい。
.
..
...
うん、無視していけそう。
三角ボタン押して、右側に結果が出てきたら成功。
{
"took": 1,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 1,
"hits": [
{
"_index": ".kibana",
"_type": "doc",
"_id": "config:6.0.0",
"_score": 1,
"_source": {
"type": "config",
"config": {
"buildNum": 16070
}
}
}
]
}
}
感想
一旦ここまで。
次回、簡単にインデックス等構築したところから、進めていこうかと思います。
環境構築自体は比較的簡単にできるけど、使いこなせるかは別問題。
そもそも、今回の機能に合うDB(?)なのかな?
以上!
関連URL
elasticsearch
https://www.elastic.co/jp/productsはじめての Elasticsearch
https://qiita.com/nskydiving/items/1c2dc4e0b9c98d164329