AmazonLinux2のjournaldの挙動
ルートボリュームのサイズを100GBにして普通のAmazonLinux2インスタンスを起動する。
$ journalctl -u systemd-journald -- Logs begin at Tue 2018-11-20 01:30:57 UTC, end at Tue 2018-11-20 01:31:22 UTC. -- Nov 20 01:30:57 localhost systemd-journal[914]: Runtime journal is using 6.1M (max allowed 49.2M, trying to leave 73.9M free of 486.6M available → current limit 49.2M). Nov 20 01:30:57 localhost systemd-journal[914]: Journal started Nov 20 01:30:59 localhost systemd-journal[914]: Journal stopped Nov 20 01:31:00 localhost systemd-journal[1913]: Runtime journal is using 6.1M (max allowed 49.2M, trying to leave 73.9M free of 480.5M available → current limit 49.2M). Nov 20 01:31:00 localhost systemd-journal[1913]: Journal started Nov 20 01:31:00 localhost systemd-journal[1913]: Permanent journal is using 8.0M (max allowed 818.0M, trying to leave 1.1G free of 6.9G available → current limit 818.0M). Nov 20 01:31:00 localhost systemd-journal[1913]: Time spent on flushing to /var is 20.910ms for 542 entries.
一度 Runtime journal
(=tmpfsでメモリにログが吐かれる)で起動し、再起動した後、 Permanent journal
に変わっている。
まぁこの辺の挙動はAmazonLinuxの挙動なんだろうということで(未確認)受け入れるとして、気になるのは Permanent journal
になったときにDISKが6.9GBしか認識されていないという点。EBSのデフォルトサイズである8GBが認識されるタイミングでもあるんですかね?(わかりません)
$ sudo systemctl restart systemd-journald $ journalctl -u systemd-journald Nov 20 01:35:25 ip-172-31-1-38.ap-northeast-1.compute.internal systemd-journal[1913]: Journal stopped Nov 20 01:35:25 ip-172-31-1-38.ap-northeast-1.compute.internal systemd-journal[3419]: Permanent journal is using 8.0M (max allowed 4.0G, trying to leave 4.0G free of 98.7G available → current limit 4.0G). Nov 20 01:35:25 ip-172-31-1-38.ap-northeast-1.compute.internal systemd-journal[3419]: Journal started
journaldを再起動すると直りますw
ついでにhost名もついてますね。AmazonLinuxの初期化タイミングとの兼ね合いっぽいですね。
$ sudo reboot $ journalctl -u systemd-journald -- Reboot -- Nov 20 01:36:52 localhost systemd-journal[912]: Runtime journal is using 6.1M (max allowed 49.2M, trying to leave 73.9M free of 486.6M available → current limit 49.2M). Nov 20 01:36:52 localhost systemd-journal[912]: Journal started Nov 20 01:36:55 ip-172-31-1-38.ap-northeast-1.compute.internal systemd-journal[1912]: Runtime journal is using 6.1M (max allowed 49.2M, trying to leave 73.9M free of 480.5M available → current limit 49.2M). Nov 20 01:36:55 ip-172-31-1-38.ap-northeast-1.compute.internal systemd-journal[1912]: Journal started Nov 20 01:36:55 ip-172-31-1-38.ap-northeast-1.compute.internal systemd-journal[1912]: Permanent journal is using 8.0M (max allowed 4.0G, trying to leave 4.0G free of 98.7G available → current limit 4.0G). Nov 20 01:36:55 ip-172-31-1-38.ap-northeast-1.compute.internal systemd-journal[1912]: Time spent on flushing to /var is 67.158ms for 545 entries.
rebootすると、またRuntime -> restart -> Permanentの流れをたどりますが、DISKの認識は問題なさそうです。
Oracle OpenJDK 11 インストール
これはなに?
ただの手順メモ
AmazonLinux2にインストールした。
過去のOracleJDKと違ってインストーラが付属しないのでメモ。
Correttoの話は今回の作業のあとに出てきた。Corretto次第ではこの記事の内容は陳腐化が早いかもしれないので注意。
手順
https://jdk.java.net/11/
tarのリンクをコピー
ec2-user@aws $ cd /tmp ec2-user@aws $ wget ${コピーしたURL}
バイナリ展開
ec2-user@aws $ tar xvf ${ダウンロードした.tar.gz}
配置
ec2-user@aws $ sudo mkdir /usr/lib/jvm ec2-user@aws $ sudo cp -r jdk-${version} /usr/lib/jvm/
リンク
優先度はJavaバージョン番号を反映させる
例: 11.0.1 => 110001
ec2-user@aws $ cd /usr/lib/jvm/jdk-${version}/bin ec2-user@aws $ sudo sh -c 'for bin in *; do alternatives --install /usr/bin/$bin $bin $PWD/$bin ${優先度}; done'
ついでにmavenをインストール
https://maven.apache.org/download.cgi
あとは同じようなことをする
続・QiitaアドベントカレンダーのはてブランキングをSlackに通知する
2016年(去年)のアドベントカレンダーにこんなの出した。
今年もSpeeeアドベントカレンダーやってるので、会社のSlackに流すようこれをセットした。
1年前に作ったやつを流すためにやったこと
- Rubyのバージョンアップ(2.3.3 -> 2.4.2)
- bundle update
- rubocopのversionがあがったことにより、ソースコード全体に微妙な更新がかかった
- Qiitaがhttpsになった!
- アドベントカレンダーページのDOMも微妙に変わったのでxpathを調整
- Docker化
- heroku -> AWS Batch
詳しくはdiff見てくれw
Docker化
わかってたことなので今更あえて言う意味あんまないけど、DockerImageにしてしまうとポータビリティがあがってとてもいいですね。
https://hub.docker.com/r/nisshiee/adventcalendar-ranking/
↑publicにしてDocker Hubにpushしてあるので、試してみたい方はご自由にどうぞ。
Docker化でちょっとハマったところ
Rubyの入ったイメージは自分で作ってもいいけど、公式にもRuby
イメージが一応ある。
https://hub.docker.com/_/ruby/
あるんだけど、このイメージはロケールが設定されていないので、このまま使うとEncoding.default_external
がASCII-8BIT
になり、ファイル読み込みで死んだりします。
singleton method Encoding.default_external (Ruby 2.4.0)
ちなみに余談ですが、今回はSlackに投稿する本文をerbで定義していて、この日本語入りファイルの読み込みで死にましたw
同じ罠にハマってる人ネット上にちょいちょい居るので、ググれば出てくるんですが、同じようにDockerfile
でロケールの設定もしてやります。
adventcalendar-ranking/Dockerfile at v1.1.0 · nisshiee/adventcalendar-ranking · GitHub
AWS Batchを本番導入するにあたって考えたことアレコレ
この記事は
Speeeアドベントカレンダー2017の1日目です!よければ購読してやってください。
Speee DEVELOPER BLOGもよろしくね!
TL; DR
- AWS Batchを本番導入したよ
- 結構クセはあるが、それを補って余りあるメリット(特にスケーラビリティ)
- 現状はAWS Batchの活かし方の知見を貯めている段階だが、今後適切な用途があれば積極的に使いたい
【FF14】戦士のXHB配置
基本思想
インスタンスダンジョン
索敵->タゲ取り
- 移動しながらの操作になるので、左手の操作をシンプルに
- L2押しっぱなし
- 十字キーは使わない
アクション | 親指 | 中指 |
---|---|---|
索敵 | L2 | |
ターゲット | △ | L2+R2 |
マーキング | ◯ | L2+R2 |
トマホーク | ◯ | L2 |
オーバーパワー | ✕ | L2 |
接敵後のヘイト維持
- ヘイトコンボの操作をシンプルに保つことで臨機応変に動けるように
アクション | 指 |
---|---|
ヘヴィスウィング | R2+◯ |
スカルサンダー | R2+✕ |
ボーラアクス | R2+□ |
R2+△にロウブロウを入れているので、スタンが有効な敵にはいつでもスタンを入れられる。
8人討伐/討滅戦
MT
- R2->R2に防御系バフを並べてあるので適宜使う
ST
- L2->L2に攻撃系バフ
- 攻撃系コンボを↓の流れで
ヘヴィスウィング | R2+◯ | ||||
メイム | R2+→ | ||||
↙ | ↘ | ||||
シュトルムブレハ | R2+↑ | シュトルムヴィント | R2+↓ |
配置
R2
シュトルムブレハ ロウブロウ 原初の魂/フェルクリーヴ メイム ボーラアクス ヘヴィスウィング シュトルムヴィント スカルサンダー
L2
スチールサイクロン/デシメート リプライザル ウォークライ オンスロート 挑発 トマホーク アップヒーバル オーバーパワー
R2 -> R2
原初の直感 ヴェンジェンス 空き ディフェンダー コンバレセンス ランパード デストロイヤー マクロ(アウェアネス->原初の直感)
L2 -> L2
エクリブリウム ホルムギャング 空き スリル・オブ・バトル シェイクオフ バーサク ギサールの野菜 アンチェインド/原初の解放
L2 -> R2
エモートリスト マクロ(targetenemy) ポーション フォーカスターゲット マクロ(marking 攻撃3) マクロ(marking 攻撃1) リミットブレイク マクロ(marking 攻撃2)
R2 -> L2
マウントルーレット フィールドマーカー テレポ フライングマウントルーレット スプリント レディチェック デジョン 戦闘開始カウント
ActiveRecordの #or を使うときは、こう考えると良さそう
Rails5で追加された #or
について。
(どうでもいいけど、このメソッド、ググラビリティ低すぎぃ)