アラキタウン

黒歴史や生き恥を切り売り

logstash6.8.4ではデータベースをデータソースにElasticsearchへデータ投入がうまくできなかった。

logstash6.8.4にて、以下のコマンドをElasticsearchにインデックスを作成しようとしたところ。


/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/〇〇.conf --path.settings "/etc/logstash"

 

下記のエラーが、

 

 

Error: unable to find driver class via URLClassLoader in given driver jar: Java::oracle.jdbc.OracleDriver and Java::oracle.jdbc.OracleDriver
Exception: Logstash:: PluginLoadingError
Stack: /usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-inputjdbc-4.3.16/lib/logstash/plugin_mixins/jdbc/jdbc.rb:181:in'open_jdbc_connection'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.16/lib/logstash/plugin_mixins/jdbc/jdbc.rb:181: in 'execute_statement'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.16/lib/logstash/inputs/jdbc.rb:309: in 'execute_query'
/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jdbc-4.3.16/lib/logstash/inputs/jdbc.rb:276: in 'run'
/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:426: in 'inputworker'
/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:420: in 'block in start_input'

 

 


下記ページにて、

github.com


logstash 6.8.5なら直っているとの記載があり、6.8.5のバージョンのものをインストールし直してみると問題なく動いた。

logstash調べても英語の記事しかでてこないの本当に辛い。

シェルスクリプト expectでsshしようとすると、すぐ処理が終わってしまう時の対処

シェルスクリプトでexpectでsshを使って自動でログインしようとしたところ、
パスワードを確認する表示で出た瞬間に処理が終わってしまう現象に悩まされました。

 

 

expect -c "
set timeout 5
spawn ssh 〇〇@$IPアドレス
expect {
  \"(yes/no)?\" {
    send \"yes\n\"
    exp_continue
  }
  \"password:\" {
  send \"パスワード\n\"
  }
}

 

 

 

 

〇〇@IP's password: [〇〇]$

 

 

って感じですぐ終了してしまいました。


解決策として、expect \"$\"を最後に追加すると動作しました。

 

expect -c "
set timeout 5
spawn ssh 〇〇@$IPアドレス
expect {
  \"(yes/no)?\" {
    send \"yes\n\"
    exp_continue
  }
 \"password:\" {

    send \"パスワード\n\"
  }
}
expect \"$\"

 

 


$ が出るまで待機する必要で、待機しないとすぐ処理終了とみなしてしまうということだろうか。。。


波括弧とコマンドの間にスペースを入れないと文法エラーになるということを知らず、スペース入れていないから動かず悩むもやった。シェルスクリプト難しい。

 

 

 

 

 

キレたら勝ちだと思ってる大人になるなよ!

キレたら勝ちだと思ってる大人にはなるなよ!

 

この台詞は、高校生の時の同級生が教師に向かって言った言葉で、何故かとてもよく覚えている言葉だ。

 

その教師は新任で、まだ大学生気分がまだちょっと残っているチャラい感じの人だった。

そういった風貌なので、学生からはどっちかというと友達のような感覚で慕われていた。

授業中、たまに大学生時代のエピソードを聞かされて、どん引きしたりした。

 

深夜に小学校のプールに忍び込んだらパトカーが来て、焦って有刺鉄線を駆け上がり血だらけで逃げた。みたいな話が彼のベストオブどん引きエピソードだと思う。

 

あとは、面白い格好をして友達に会おうとして、男性器にトイレットペーパーの芯を着けて会ったとかの話も面白かったな。

 

そういう学生のノリが通じる先生だから、学生たちに愛され、すごく仲良くなった。

しかしながら、仲良くなり過ぎた結果、学生達に舐められるようになってしまった。

 

初めは温厚に注意していたが、次第に授業中にも関わらず舐めた口を利く学生達に対して、つっけんどんな態度を取るようになり、次第に怒鳴りつけるようにもなった。

 

そういう行動が目立ってきたときにクラスメイトがこの言葉を発した。

キレたら勝ちだと思ってる大人にはなるなよ!お前にはそんな奴になって欲しくない!

そのクラスメイトにとっては面白いだろうと思って言った何気ない言葉だろうと思うが、教師がハッとした表情をしてたのがすごく印象に残っている。

その日の授業はその言葉の後、言動が柔和された。

その日以降も、舐められないように学生と壁を作ろうとしているのを感じたが、声を荒げることはほぼなかったと思う。

 

キレたら勝ちだと思ってる大人にはなるなよ!

なんとなく覚えてる言葉だが、感情的になりそうな時頭に浮かんでくる。ある意味僕を支えてくれてる言葉の一つです。なんか好き。

 

 

「キレる」はこころのSOS -発達障害の二次障害の理解から-

「キレる」はこころのSOS -発達障害の二次障害の理解から-

  • 作者:原田 謙
  • 発売日: 2019/05/01
  • メディア: 単行本(ソフトカバー)
 

 

 

血縁とは呪いに近いのかも。

実家に帰った時に、親戚の家に挨拶をしに行った。

そこでの何気ない会話の話題が、その親戚の娘夫婦の事になった。

 

内容としては、

娘夫婦が家に友達を呼んでドンチャン騒ぎをして近所の人が怒り、警察がきたとのことだ。

 

これを大学生がしたのなら、百歩、いや、千歩譲って許せるのだが、残念ながら、その夫婦は高校生になる息子を抱えている、歳も40近い大人なのだ。

 

しかもその話を笑い話としてしゃべってしまうのだ。

恥ずべき行為として認識しておらず、ただの面白い話として認識してしゃべってしまっているのだ。

 

あえて汚い言葉を使おう、「こんな奴ら」と。

 

血縁上の繋がりがあるため、こんな奴らと否が応でも関係を持たなければならないと思うと、血縁とは呪いだなとすごく感じた。

 

 

 

 

 

 

 

 

 

 

悪しき文化、寄せ書きを強制記載の風潮を廃止したい。

卒業式のシーズンですね。

きっと今頃、寄せ書きの内容を考えている方々がいるのでしょうね。

 

僕は寄せ書きを、書くのも、貰うのも嫌いでした。

仲良かった人からのメッセージを見るのはすごく嬉しいのですが、、、

中にはありますよね。。。

そんなに仲良くなかった人からの、無理やりひねり出した感じのメッセージ。当たり障りのないありきたりのメッセージ。

その本当にしょうもない内容を見るたびに申し訳ない気持ちになるのですよね。

仲良かった人からの長文メッセージもあったりするから、捨てるに捨てれないのですけど、見返すたびに辛くなる。

 

書く時も同じですよね。

内容が無いのだから、「今までお世話になりました。」「これからも頑張ってください。」しか書けない!もう申し訳ない。

 

思うのは、寄せ書きは書きたい人だけが書くという風潮にして欲しい。

 

「あの人のは書きたくない」とかを言ってしまうと、「あの人だけ何なの~」「それくらい書けばいいじゃん。」とか言われそうなのが怖くて、毎回ありきたりなことを書いてしまっていました。

 

願わくば、この悪しき寄せ書きの強制記載の風潮を廃止するため、寄せ書きを作る流れになったら、寄せ書きは書きたい人だけが書こう!!と声をあげてくれる人が増え、あわれな寄せ書きを作られないようにしてあげて欲しい

 

 

 

 

 

 

 

retrying failed action with respondse code :503 ({"type"=>"unavailable_shards_exception","reason"=>"[インデックス名][0] primary shard is not active Timeout:[1m],request:[BulkShardRequest [[インデックス名][0]] containing [] reque

logstashでDBのデータをelasticsearchに投入しようとすると、以下のエラーが起きた。
retrying failed action with respondse code :503 ({"type"=>"unavailable_shards_exception","reason"=>"[インデックス名][0] primary shard is not active Timeout:[1m],request:[BulkShardRequest [[インデックス名][0]] containing [] requests]"})
 
シャードを確認すると、他にもunassignedになっているシャードがあったりして、しばらく悩みましたが、
 
これはシャードの再配置が無効になっていたことで起きたことでした。以下で再配置を有効にすると解決しました
 
Curl –H ‘Content-Type: application/json’ –XPUT  ‘http://localhost:9200/_cluster/settings –d ‘{
  “persistent”: {
    “cluster.routing.allocation.enable” : “all”
  }
}’

{“_index”:”cluster”,”_type”:”settings”,”_id”:”〇〇〇〇〇〇”,”_version”:1,”result” : “created”,”shards”:{“total” :2, “successful” :2,”failed” :0, “seq_no” :1, “_primary_term”:7 }  } みたいなメッセージが表示された。

elasticsearchのシャードの再配置を無効にしようとして、間違えて下記のコマンドを入力したところ(postになっているし、clusterに_がついていない)
 
Curl –H ‘Content-Type: application/json’ –XPOST  ‘http://localhost:9200/cluster/settings –d ‘{
  “persistent”: {
    “cluster.routing.allocation.enable” : “none”
  }
}’
 
 
{“_index”:”cluster”,”_type”:”settings”,”_id”:”〇〇〇〇〇〇”,”_version”:1,”result” : “created”,”shards”:{“total” :2, “successful” :2,”failed” :0, “seq_no” :1, “_primary_term”:7 }  }
みたいなメッセージが表示された。これが何を意味するのか。もはやエラーメッセージかどうかすらわからなかった。"successful"とあるので成功しているのかと思いきや。
 
↓の記事を見るとこれもエラーメッセージらしい。
 
 
以下のコマンドで設定を確認したところ、再配置の無効はできていないみたい。
 
ちゃんと以下のコマンドで実行したらうまく設定された。
 
Curl –H ‘Content-Type: application/json’ –XPUT  ‘http://localhost:9200/_cluster/settings –d ‘{
  “persistent”: {
    “cluster.routing.allocation.enable” : “none”
  }
}’
 
成功したら以下のメッセージが表示された。
{"acknowledged":true,"persistent":{"cluster":{"routing":{"allocation":"none"}}}}