ソフトウェア開発」カテゴリーアーカイブ

PodCast

通勤に片道90分以上かかるので、この時間をなんとかできれば、、と常々思っています。

思っているだけで、大半の時間はゲームに奪われてしまうのですが、
それでも・・・と、思い、最近は意識してPodCastを使い始めました

もともといくつかPodCastは登録していたのですが、ゲームのイベント等で少し切れ間が出来てしまうと
そのあとがなかなか続かないという情けない状態だったんです。

主にこれまで登録していたのは英語関連。
IT系のカンファレンスやビデオ教材見てもちんぷんかんぷんなので、少しでも耳を慣らそうと聞いてました。

English as a Second Language (ESL)
https://itunes.apple.com/jp/podcast/english-as-second-language/id75908431?mt=2

6 Minute English
https://itunes.apple.com/jp/podcast/6-minute-english/id262026947?mt=2

CNN Student News
https://itunes.apple.com/jp/podcast/cnn-student-news-video/id179950332?mt=2

NPR News
http://www.npr.org/podcasts/

勉強のため!と思いながらだとなかなか続かないものです。
特にESLは時々再生時間が30分を超える内容があって、なかなか気が進まないんですよね。

6 Minute English と CNN Student News は時間がほぼ固定なので見やすいです。
特に CNN Student News や NPR News は世界のいろいろな話が出てくるので内容的には面白いです。
ただ、英語教材ではないので何を言ってるか聞き取るのが困難。
特にNPR。
実際に取材している先の現地人のインタビューが出てくるともう無理な感じです。
その点、CNN Student News はHPにTranscriptも用意されているのでかなり勉強になりますね。

あ、もちろん定番とも言えるTEDも登録しています。

TED ビジネス
https://itunes.apple.com/jp/podcast/tedtalks-bijinesu/id537466357?mt=2

なんとなく、ビジネスを選択しています。

これらに加えて、たまたま知った wada.fm を最近聞き始めました

wada.fm
https://itunes.apple.com/jp/podcast/wada.fm/id957993215?mt=2

あまり、IT系のPodCastって存在を知らなかったのでとても新鮮で楽しいです。
特に、変に凝っていなくて素人丸出しな感じがとてもいい感じ。
時間もそれほど長くないので聞きやすいです。

wada.fmを皮切りに、他のPodCastも漁ってみたいと思っています。

結構調子のいい性格で、こういう形で話を聞くことによって自分のモチベーションというか、そういったものも少し持ちなおされますね。
聞いて元気になるようなPodcastがあれば、ぜひ教えてください!

AWS Summit Tokyo 2015 へ行ってみたよ(Day1のみ)

AWS Summit Tokyo が6/2-3の日程で品川プリンスにて開催されていました。

AWS Summit Tokyo 2015
AWS Summit Tokyo 2015 クラウドで、未来を「今」に。
http://www.awssummit.tokyo/

仕事の関係で、Day1の午後のみの参加となってしまいましたが感じたこと・考えたことのメモをば。

前提

AWS自体を私が触り始めたのはつい最近で、まだ1年程度。
しかも、触り始めたといってもずーっと何かをしているわけではなく、EC2とRDSを少し触りながら既存システムのAWS環境での動作確認等を行った程度のレベルなのでたかが知れます。

AWS Summit は初参戦で、申し込みが遅れてしまったのでほとんどのセッションが満席><
実際には事前のセッション申し込みはチェックされなかったので意味がなかったっぽいけれど・・・。

 [Dev-01]デベロッパー視点で見たAWS

AWSの各種サービスに関してのお話。
CodeZineで連載された、アプリ制作に関する話も交えながら、数あるサービスの中でどういったものを使っているのか?など。
ちなみに連載は見ていなかったけれど、こちらが初回。

【制作1日目】 池澤あやかさん、イベント会場がヒートアップ間違いなしのアプリを制作、まずはクライアント側処理です ~ Amazon S3 / Cognito / Kinesis / DynamoDB 登場
http://codezine.jp/article/detail/8642

S3の使い方や、Cognito。それにLambdaの話などが目につきました。
また、私の現在の業務からはちょっと考えづらいですが、AWSを前提としたアプリケーションを作る場合に、
ローカルでの開発(オフライン状態)が難しいという話は少し新鮮に感じました。

開発環境をそもそもクラウド等に構築するようなこともあると思う。
今後の開発のあり方というものは少し見守っていく必要がありそうだなぁ。

[Dev-02]デベロッパーが切り拓く、次の時代

タイトルからもわかるように、AWSと結局全然関係ないような内容だった。
パネリストはみんな大好きnaoyaさんと大場さん。

開発者はどういうスタンスで次の時代を乗り切っていくのかという話。
ともすると、どうしても技術オタクになってしまいがちな人が多いけれど、
技術が先にあるのではなく、課題が先にあって、その解決の手段として技術がある。

何かの技術に対して掘り下げていくことは悪いことではないんだけど、それをキャリアとして計画するのはどうなのか。
出来ないことを解決するためにいろいろな試行錯誤があるわけで、その前提条件として何らかの技術をおいてしまうと
出来ることや成長にブレーキがかかってしまう。

この話は、今一度自分自身を思い返したいところだと思いました。
そういう意味でも、最後にnaoyaさんが話をされていましたが、自分のポジションをちゃんと把握することが大事。
そのためには、現在の周りの状況が見えている必要がある。

我々エンジニアは、結局のところ死ぬまで勉強が続くのであるのだ。

[KEY-03]DevCon Day1 クロージングキーノート:2035年、その時デベロッパーはどう生きるか

大前さん親子の会話。
大局観的なとらえ方は面白いと思いつつも、少し気になるシアターセッションもあったので途中退席。
後でセッション資料や感想を確認したいところです。

それにしても、茶の間での会話レベルが高いな~。
わが家でもそういう話をするような時代が来るのかな?
まだまだ小さいわが子を見ていると、少し想像できませんね。

ちなみに、期待していたシアターセッションはあまり面白くありませんでしたので割愛。

[TE-05]ファイヤーサイドチャット~エンタープライズ企業はいかにクラウド化の流れを進めるべきか~

Amazonのえらーい人3人を交えたトーク。
ちなみにファイヤーサイドチャットというのは、暖炉のそばで話すようにフランクな会話ということらしい。
お題としてはエンタープライズ企業におけるクラウド化に関して。

実際のところ、AWSはすごいメジャーになってきていると思っているんだけど、日本の企業のどの程度がそう思っているのだろう。
AWSのようなスモールスタートが出来る環境であれば、大企業じゃなくても活用できるはずなんだろうけれど、
たぶん多くの企業ではそういうところまで目を向けていないんじゃないかな~。

印象に残った言葉としてはこれ

問題はテクノロジー側にあるのではなく、組織の文化だったりする。 口では色々なことをいうことは出来るんだけど、実際に動くことが出来るのか。

はたして、日本の企業はそういう考えを持つことが出来るのか。
個人的には、そういう考えを持てないと今後は生き残れないくらいまで過激なことは言わないけれど、
いいものはどんどんと活用していけばいいと思うんだよね。

ベンダーロックインという考え方は確かにあって、AWSがなくなったらどうするんだ?というのはリスクとしてはわかる。
その時には作り直せばいいんだ!って軽々しく口に出してはいけないことも、まぁわかる。
ただ、その時が来るまでに生き残れるのか?ということを考えるのであればやっぱりスピード感を持ってことにあたらないといけないと思う。

やはり、最後はいつも人の問題になるんだな。

実はこのセッションはこれ以外にもすごい色々なことを考えさせられるセッションでした。
AWSを使うことによるメリットを、どうエンタープライズに伝えていくのか。
実は業務でも少しかかわっている課題でもあるので、より深堀しながら考えて進めていきたいところです。

シアターセッション

展示会場に設置されたシアターセッションも時間のあいまではありますが、少し拝見させていただきました。

各回ともに10分程度の時間なので、それほど多くの情報は得られませんでしたが。
スカイアーチネットワークスさんがchef やserverspec。Zabbix等をまとめたツールに関しての話をしていた。

DevOpsサービス (スカイアーチネットワークス)
http://www.skyarch.net/devops/

chef や serverspec に関しては、知ってはいるものの、Windows主体で私が動いている&それらのツールがWindowsではイマイチ使いづらい印象が結構前にはあって、
本格的に見ていませんでしたが、もうそろそろ見直してみようかな~と。

まとめ

見てわかる通り、申し込みが遅れたこともあって「AWSを使いこんだぜ!」っていうセッションにいけませんでした。
どちらかというと、開発者や企業が今後どういう形で進めるべきか?というような、AWSべったりではないセッションが多かったです。

個人的には、それがとても良かったように感じます。
特に、ファイヤーサイドチャットで得たことは、今後大きな糧となってくれると思っています。

セッション資料等に関してはきっとAWS公式がまとめて公開してくれると勝手に思っているので、
AWSを使い倒したぜ!みたいなものに関しても見ていきたいと思っています。

今後が楽しみです!

 

試験をいったんあきらめた

昨年末のAmazonで行われていたKindle書籍に対するセールでこんなものを買っていたんですよ。

情報処理教科書 プロジェクトマネージャ 2014年版
翔泳社 (2013-09-18)
売り上げランキング: 14,189

特別に必要とされているわけではないんだけど、持っていてもいいかな~と思って、
春の情報処理試験を受ける気でいました。

もう、応用情報を取得したのがずいぶんと前になるので、午前試験最初からの受験になります。
このあたりの問題は、普段の業務で行っていることからするとかけ離れている分野も多いので
一度勉強したこととはいえ、かなりの部分が忘れています。

さしあたって、毎日の通勤で午前問題の問題集向けのアプリを使って勉強。
週末に論文の対策として先に書いたKindleの試験本を用いて行うことにしたのですが…

 

週末無理

 

エントリーを書いていないのでここでは初めて書くことになりますが、
1月に4人目の子供が生まれました。

基本的に妻は産休なので家にいることになるのですが、まだ小さいのも含めて3人が他にいるので
さすがに手が回らない。
長男はもうすぐ小学校に行く年齢なのである程度話は聞いてくれますが、
それでも下の子の面倒を見るにも限界があります。

平日の朝晩はもちろん、土日も基本的には子供中心とした生活が続くことになります。
子供が遊びたいといえば遊ぶし、寝るときは一緒に横になる(そして時々自分も寝落ちする)

 

もちろん、やりようによっては時間を捻出することは出来ると思うのです。
ハードといえばハードですが、無理ってわけじゃない。

問題なのは、試験・資格に対しての気持ちの面がやはり大きい。
もともとの動機が適当なので、それを維持するということもなかなか難しい

無理やり自分で動機づけを作るのが一番確かな方法なんだけど、
今回はそれ以上に私生活面でやることが出来てしまったので、もういいやと。

また、期を見て受けることにしましょう。
せっかく試験対策の本やアプリは手に入れたのでそれはそれで暇つぶしにやるのはいいかもしれないけど。

Softlayerを勉強してきた

以前のエントリで AWS をいじり始めたという話をしましたが、AWS だけでなく、Softlayer の研修も IBM で受けてきました。

会社では Microsoft の Windows Azure も利用している部署もあるのでより取り見取りですね。
私としては、これまでなんとなーく AWS が一番デファクト的な位置づけだと考えていたのですが、
単純にそれはその他を知らないだけという話でもあるかもしれないと考え、少し周りを調べ始めています。

AWS

AWS は言わずと知れたクラウドですね。

EC2 をはじめとして様々なサービスが提供されているので幅広い用途に使うことが出来ます。
個人的にはこのサービスの豊富さとその規模からくる価格メリット。そして成長・進化のスピードが AWS の強みに感じています。

まぁ、ろくに AWS を使っているわけではないので偉そうなことはあまりいうことは出来ませんが。

 

Softlayer

Softlayer は、もともとは独立したクラウドベンダーでしたが、IBM が現在は買収しています。
特徴的なのは、機器構成の自由度がかなりあるところです。

AWS で時々話があがるのは、インスタンスがどこに作られるかわからないので、同居しているインスタンスによってパフォーマンスに当たり外れがあるという話です。

Softlayer では、仮想ホストを共有する通常の形以外に、自分だけでホストを占有するタイプの仮想を選ぶことが出来ます。
(これをPrivateクラウドと呼ぶので混乱させているような気がしないでもない)
さらには、物理サーバーそのものを同じように Softlayer ポータルから借りることもできてしまいます

企業案件等でパフォーマンスがシビアに要求されるケースでは、ハイパーバイザーのオーバーヘッドを嫌がることもあると思います。
そういう意味では、Softlayer は自分たちで構成をゴリゴリと組みたいけどオンプレミスとして保持したくないというようなケースにおいては最適なのかもしれません。

もちろん、その場合のユーザー側の責任範囲は大きくなりますが。

一方で、サービス面に関しては AWS のほうが充実している印象を受けています。

クラウドで DB を利用しようとした場合、AWS であれば RDS を利用することが出来ます。
Softlayer ではバックアップを含めた運用管理は、よりオンプレミスに近い構築能力を要求されるとともに、Oracle 等を利用しようとした場合にはライセンスを用意する必要が出てしまいます。

クラウドの場合、やめようと思った時にやめられるのも利点ですが、こういったライセンスを時間貸しで利用できないのは、それが本来の形とはいえ辛いですね。
まぁ、MySQL や MongoDB 等のオープンソース系で行けばいいだけの話なのかもしれませんが。

AWS にしろ Softlayer にしろ、日々進化しているのである一時を切り出して優劣をつけていくのはなかなか難しい気もします。
ただ、それぞれの提供している特色というか特徴といったものがこの二つは分かれているので、すみわけは出来そう。

一方で、Microsoft の Azure は正直私が不勉強でよくわかっていないところが多いです。
どうなんだろうな

Surface Pro 3 での Virtual Box 起動エラー

開発環境を少しずつ整理している Surface Pro 3 ですが、仮想環境としては Hyper-V ではなく Virtual Box を利用しようとしています。
理由としては、Vagrant とかいじりたいからです。

仮想環境の用途としては、主に実行・テスト環境的な形ですね。

Windows で動作させるのが結構面倒なものもあるので仮想環境上に開発環境を持っている人も多くいるようですが、
一番の懸念は、適当にあれこれと試した結果、レジストリやらフォルダやらが滅茶苦茶になってしまうのが嫌なんですよ。

あれこれと試してみたいんだけど、試した結果どんどんと OS が重くなってしまうのでは困りものですから。

まぁ、そんな理由で仮想環境を建てようとしたのですが・・・・

20140827_vvox_error

こんな感じでエラーになってしまいます。

環境としては、

Surface Pro 3
Virtual Box 4.3.14
Ubuntu

という条件です。

Ubuntu は、公式のVHDからでも、手動でHDD作ってISOからやろうとしても同じエラーが表示されます。
というか、そもそも仮想PCの起動が出来ていない感じがするのでOSとか関係ないかもしれません。

ただ、別のPCでWindows8.1 環境があるのですが、そちらでは問題なく Virtual Box が動作している。ちょっとバージョンは失念してしまっているけど。
なので、単純なホストOS側の問題とは限らないと思うんだけどなぁ~。

これにずっと躓いていて、一向に Surface 上で物事が進まずに苛立ちを感じていました。

あれこれ公式のフォーラムを探していたのですが、よく解決方法がわからず、検索の方向性を変えて「Surfaceで」という感じで調べてみたら…

VirtualBoxのインストールエラー
http://qiita.com/nmatsui/items/80aff4e7f085d8d6de83

ヒットした。

そして、指示に従って 4.3.12 で試してみたところあっさりと起動しました。

うーん、Surface の何に引っかかったんだろう?
いずれにしても、ずいぶんと時間がかかってしまったな。

Docker 1.0 Release ! と言うことでインストールしてみた

Dockerが1.0としてリリースされました。

IT’S HERE: DOCKER 1.0
http://blog.docker.com/2014/06/its-here-docker-1-0/

これまで気になっていたけど手を出してこなかった

  • Vagrant
  • Docker

を触ってみたい!
参考にしたのはこちら

Windows + Vagrant + VirtualBox + Docker
http://syonx.hatenablog.com/entry/2014/02/18/010757

ちなみに仕事では、Docker や Vagrant, VirtualBox は全く触っていないんだけど、それはそれ。これはこれだ。

まず、VirtualBox や Vagrant をWindows へインストールするのには、普通にインストーラーを使用してもいいのだが、どうやらChocolatey なるものがあるらしい!
と言うことで、早速インストールだ!

> @powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin

Chocolatey のインストールは、見ての通りPowershell を使用したコマンドラインによって行える。面白い形ですね。

無事にインストールが完了したら、まずはVirtualBox, Vagrant をインストールしてみる

>cinst virtualbox
>cinst vagrant

Vagrant のインストールは、実は一度タイムアウトのエラーが出て失敗したのだが、
もう一度コマンドを叩いたら無事にインストール出来た。

ここまで来て、参考HPに書いてある vagrantfile が存在せず、手順を進めることができない。
Vagrantfileを公開しておく事に関して幾つかの問題があって公開をやめてしまったようだ。

公式を見る限り、Windows環境で使うためには、Boot2Dockerを利用することを推奨している。

Installation Microsoft Windows
https://docs.docker.com/installation/windows/

Boot2Docker
https://github.com/boot2docker/boot2docker

Windows向けにはInstallerが提供されている

https://github.com/boot2docker/windows-installer/releases

これにはVirtualBoxも含まれている。ちなみに同梱されているVirtualBoxは4.3.12
さっき Chocolatey 経由で落としてきたものと同じ。

Boot2Dockerに関しては、インストーラにしたがって入れればOK。
とりあえず、Hello World してみた

docker@boot2docker:~$ docker run busybox echo hello world
Unable to find image 'busybox' locally
Pulling repository busybox
a9eb17255234: Pulling image (latest) from busybox, endpoint: https://cdn-registr
a9eb17255234: Download complete
511136ea3c5a: Download complete
42eed7f1bf2a: Download complete
120e218dd395: Download complete
hello world

うむ。
バージョンを表示する

docker@boot2docker:~$ docker version
Client version: 1.0.0
Client API version: 1.12
Go version (client): go1.2.1
Git commit (client): 63fe64c
Server version: 1.0.0
Server API version: 1.12
Go version (server): go1.2.1
Git commit (server): 63fe64c

うむ。

Docker自身がGoで書かれているのでGoのバージョンまで出ている。
一応、VirtualBoxのマネージャで見てみても動いている事が分かる

さて、よくよく考えてみると、Vagrantが放置されている。

Boot2Docker は、Docker インストール済みのイメージを使うだけ。
Vagrant は Docker がインストールされた Ubuntu をインストールするだけなので、
Ubuntu を普通に Vagrant を使ってインストールすればいいのでは?ということでやってみる。

参考:VagrantでUbuntuをインストール
http://qiita.com/awakia/items/895b3d61311b19737237

OSのイメージとしては以下のページから好きなものを選んでvagrantに食わせてあげればいい

http://www.vagrantbox.es/

Ubuntu だけでそれなりに色々とあって、何を選ぶとどうなのか?というのはさっぱりわからないが、とりあえず、最新っぽいやつを入れてみることにした

C:\Dev\docker>vagrant box add ubuntu https://cloud-images.ubuntu.com/vagrant/tru
sty/current/trusty-server-cloudimg-i386-vagrant-disk1.box
==> box: Adding box 'ubuntu' (v0) for provider:
box: Downloading: https://cloud-images.ubuntu.com/vagrant/trusty/current/tru
sty-server-cloudimg-i386-vagrant-disk1.box
box: Progress: 100% (Rate: 930k/s, Estimated time remaining: --:--:--)
==> box: Successfully added box 'ubuntu' (v0) for 'virtualbox'!

OKOK

では、Vagrant up しよか

C:\Dev\docker>vagrant up
Vagrant could not detect VirtualBox! Make sure VirtualBox is properly installed.

Vagrant uses the `VBoxManage` binary that ships with VirtualBox, and requires
this to be available on the PATH. If VirtualBox is installed, please find the
`VBoxManage` binary and add it to the PATH environmental variable.

なぬ。

パスが通っていないか?

インストール時にPath変数の値が省略形で書き込まれているので、これを修正して実行するとちゃんと動いた

うん、VirtualBox上でも動いているな。名前はちょっとあれだけど…

あ、Ubuntu 上での Docker 試してなかった。
まぁ、今日はこの辺りまでとしよう。

何れにしても、本題は Docker へのアプリのデプロイ周りになってくるので、この辺りはもう少しいじってみてというところだろうか。
Chocolatey の考え方ややり方と言うのは、それほど複雑ではないのでなんか参考に出来そうな気がする。

インストールやデプロイ周りはどうしても面白くないトラブルが無くならないので
簡単に出来る部分は簡単にする手法を見習って取り入れて行きたいところだ。

実践 Vagrant
実践 Vagrant

posted with amazlet at 14.06.10
Mitchell Hashimoto
オライリージャパン
売り上げランキング: 42,962
Docker入門 Immutable Infrastructureを実現する
技術評論社 (2014-04-25)
売り上げランキング: 336

expressプロジェクトの作り方がいつの間にか変わっていた

ちょこちょことnode.js周りをいじっているのですが、なにぶん行き当たりばったりなもので、
少し勉強しようと買って放置してしまっていたKindle本を読み返してます

Nodeクックブック
Nodeクックブック

posted with amazlet at 14.05.31
David Mark Clements
オライリージャパン
売り上げランキング: 356,390

これまでは大抵、expressを利用してきたので、久々にレシピにそって作ってみようと思ったのですが。。。

$ express profiler
-bash: express: command not found

あれ?以前は普通にこれでプロジェクトが作れたはずなんだけど・・・。
クックブックにもそう書いてあるし。
はて???

と、公式を見てみたら

$ npm install -g express-generator

と書いてあり、これまでの express をインストールしてexpressコマンドを叩くのではなく、
express-generator をインストールする必要があるみたい。

というか、どちらかというと公式の書き方を見る限りでは、express コマンド叩くと言うよりは
package.json に記述して npm install 叩く事を推奨しているのかな?

go

きっかけはすっかり忘れてしまったけど、少し go を勉強している。

特別、go を使って何かをしたいと言うよりは、どんなものだろうか?という好奇心が理由と言っても差し支えない状態。
さしあたり、チュートリアル的なものが用意されているのでそちらをチマチマと動かしている感じだ。

An Introduction to Programming in Go.
http://www.golang-book.com/

ちょっと、お?と思ったのはCのようにポインタという概念が存在している事だ。
最近私が興味でいじる言語はGCが実装されているものが多かったりして、ちょっと懐かしい感じ。
いや、仕事ではC++とかもいじるのでそういう意味では懐かしい訳ではないんだけど、
うん。懐かしく感じたんですよ。

まだ全部は終えてはいないんだけど、何となくは理解出来たと思うから、
どこかのタイミングで簡単なツールを作ってみようかなと考えている。

スクリプト言語は確かに簡易で、変化にもの凄く柔軟に対応出来ると思う。
ただ、動かす環境は構築する必要があって、go のように build して exe にする事が出来れば
何も考えずに持って行く事が出来る(んじゃないかな?)

まぁ、Windows環境で行うならC#なりで書けばいいじゃないかと言う話はもちろんあって、
それはそれでいいとは思うんだ。

まぁ、でも、色々いじってみた方が楽しいじゃん?

理由なんてそれで十分だろうと正直思ったりもする。
あくまで個人用のツールであればだけどね。

Elasticsearchにjdbc-river経由で漏れが発生した件

少し前にエントリーした件ですが、解決というか結果からすると回避する事が出来ました。

まず、ログを調べようと考え、config/logging.yml上でログをデバッグ出力に変更。

#es.logger.level: INFO
es.logger.level: DEBUG

実際に取込んでみたところ、出力されるログには

[2014-04-25 09:58:00,343][INFO ][org.xbib.elasticsearch.river.jdbc.strategy.simple.SimpleRiverMouth] bulk [225] success [100 items] [20ms]
[2014-04-25 09:58:00,358][INFO ][org.xbib.elasticsearch.river.jdbc.strategy.simple.SimpleRiverMouth] bulk [226] success [100 items] [15ms]
[2014-04-25 09:58:00,362][INFO ][org.xbib.elasticsearch.river.jdbc.strategy.simple.SimpleRiverMouth] new bulk [227] of [100 items], 1 outstanding bulk requests
[2014-04-25 09:58:00,373][DEBUG][org.xbib.elasticsearch.river.jdbc.strategy.simple.SimpleRiverSource] merged 22709 rows
[2014-04-25 09:58:00,378][INFO ][org.xbib.elasticsearch.river.jdbc.strategy.simple.SimpleRiverMouth] bulk [227] success [100 items] [16ms]
[2014-04-25 09:58:00,382][DEBUG][org.xbib.elasticsearch.river.jdbc.strategy.simple.SimpleRiverFlow] … fetched, flushing

見たいに書かれて、22709件実施したと出る。
ただし、実際にElasticsearch側へ登録されたデータ件数はもっと少ない状態でした。

river側は処理したが、データ不正かなにかによってElasticsearch側ではじかれたのか?
それともまさかUpdateされた?と思って地道に失敗したレコードの一部を特定。
単独でjdbc-riverを実施してみると・・・

問題なく登録される。

以前話に聞いた、大量件数を実施した時に問題が起こるって奴なのか?と再び考え、
たかだか2万件程度で問題が無いと思いつつも/config/elasticsearch.ymlに下記の設定を追加
ちなみに、参考にさせていただいたのはこちら

threadpool.index.queue_size: -1
threadpool.bulk.queue_size: -1

参考サイトには、キューが足りなくなったときと書いてあった。デフォルトでは30。
ログを見る限り、多分「outstanding」で示された数がそれに当たるんだろうけど、
それらは30に達しているようには見えない。
最高でも17〜18程度に見える。
そう考えると、これの影響は内容に思えるのだが、なぜかこれを設定する事で件数はあった。

ちょうど、jdbc-riverを見てたら話題になっていた

It is an issue with BulkProcessor class of ES. I patched the class and will release a fixed version of JDBC river soon.
https://github.com/jprante/elasticsearch-river-jdbc/issues/228

こちらはriver側のパラメータ指定で回避されたと報告されている。
受け渡す側のしきい値か、受け取る側のしきい値かの違いだとは思う。

どのしきい値に達したのかは、数からしてちょっと納得いかないものがあるがログくらいには出して欲しいものだ。
さしあたってなんとかなったけど、この辺りはもう少しなんとかしたいところだと思うので
今度ソースを当たってみよう。

高速スケーラブル検索エンジン ElasticSearch Server
Rafal Kuc Marek Rogozinski
KADOKAWA/アスキー・メディアワークス
売り上げランキング: 77,882

GWに何をしよう

既に始まってしまっていますが、GWへ突入しました。
私は、特に有休を取る訳ではなく暦通りに仕事へ行く事にしているので、
この4連休がGWのすべてと言えばすべてです。

とは言っても、我が家は嫁も私も人ごみの中に出かけるのはそれほど好きな訳でもなく、
さらに子供も小さいのでまだそれほど「〜へ行きたい!」という主張はしてこないんですよね。

あぁ、最近よくDVDレンタルで「リトルアインシュタイン」借りてくるんですが、
ちょうど借りてきている話が舞台がロシアで、

「シベリアいきたいー!」

って叫んでいる長男はいました。
今度、シベリア超特急でも借りてくればいいんですかね、きっと。

どこかへ家族で出かけると言うのもいいのですが、もう少しnodeやElasticsearch周りの知識をつけたいところ。
怠惰な私はすぐにゲームの誘惑へ負けてしまうのですが、どっかで見切りを付けなければ行けません。

そういう意味でも、ちょっとしっかりと考える必要がありますね。

ふーむ

 

シベリアかー

 

リトル・アインシュタイン/ひのとりを たすけよう [DVD]
ウォルトディズニースタジオホームエンターテイメント (2008-05-21)
売り上げランキング: 33,615