ansible-playbook 僕はキメ顔でそう言った。
ただ言いたかっただけ。
2015年4月7日火曜日
2015年2月28日土曜日
[CentOS7]Systemd環境でsshd設定(sshd_config)を反映するにはsystemctl reloadを使う
CentOS7環境でsshd_configを編集しsshdを再起動したが、sshd_configが反映されないくて困った。
どうもSystemd環境で systemctl restart sshd としても設定が反映されないようだ。
systemctl reload sshd とすることで設定が反映されたことを確認できた。
これ、多くの人がハマるだろうなぁ。。。
どうもSystemd環境で systemctl restart sshd としても設定が反映されないようだ。
systemctl reload sshd とすることで設定が反映されたことを確認できた。
これ、多くの人がハマるだろうなぁ。。。
2015年2月27日金曜日
Sakura CloudのCentOS7.0におけるディスク拡張(parted/gdiskによるGPTディスク拡張)
CentOS7ではfdiskによるディスク拡張ができない
CentOS6.5のときは下記の記事通りにすればディスク拡張することができた。http://knowledge.sakura.ad.jp/tech/925/
しかし、CentOS7.0でディスクを作成した場合、記事通りにfdiskを使ったディスクをすることができない。
ディスクパーティションがMBRからGPTという仕組みに変わっているためだ。
partedとgdiskを使う
GPTのディスクのパーティションを行うにはpartedとgdiskというツールが使えます。さくらの記事のfdiskによる作業の変わりに以下の作業を行うことでディスク拡張ができました。
partedによる使用可能セクターの変更
[root]#parted /dev/vdb
GNU Parted 3.1
Using /dev/vdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Error: The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes the disk is smaller. Fix, by moving the backup to the end (and
removing the old backup)?
Fix/Ignore/Cancel?
Fix/Ignore/Cancel? Fix
Warning: Not all of the space available to /dev/vdb appears to be used, you can fix the GPT to use all of the space (an extra 83886080 blocks) or continue with the current setting?
Fix/Ignore? Fix
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 64.4GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: pmbr_boot
Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB Linux filesystem bios_grub
2 2097kB 4301MB 4299MB linux-swap(v1) Linux swap
3 4301MB 21.5GB 17.2GB ext4 Linux filesystem
(parted) q
gdiskによるパーティションの再作成
[root]#gdisk /dev/vdb
GPT fdisk (gdisk) version 0.8.6
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): p
Disk /dev/vdb: 125829120 sectors, 60.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 30A18C9A-0775-4F3C-A870-92BF1D93F0C1
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 125829086
Partitions will be aligned on 2048-sector boundaries
Total free space is 83888094 sectors (40.0 GiB)
Number Start (sector) End (sector) Size Code Name
1 2048 4095 1024.0 KiB EF02 Linux filesystem
2 4096 8400895 4.0 GiB 8200 Linux swap
3 8400896 41943006 16.0 GiB 8300 Linux filesystem
Command (? for help): d ^H
Partition number (1-3): 3
Command (? for help): n
Partition number (3-128, default 3):
First sector (34-125829086, default = 8400896) or {+-}size{KMGTP}:
Last sector (8400896-125829086, default = 125829086) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):
Changed type of partition to 'Linux filesystem'
Command (? for help): p
Disk /dev/vdb: 125829120 sectors, 60.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 30A18C9A-0775-4F3C-A870-92BF1D93F0C1
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 125829086
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 4095 1024.0 KiB EF02 Linux filesystem
2 4096 8400895 4.0 GiB 8200 Linux swap
3 8400896 125829086 56.0 GiB 8300 Linux filesystem
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/vdb.
The operation has completed successfully.
その他
e2fsckでブロックのカウントが違うと言われましたがFixにしたら問題なく動きました。
原因がよくわからないので怖いですが。
[root@]# e2fsck -f /dev/vdb3
e2fsck 1.42.9 (28-Dec-2013)
/dev/vdb3: recovering journal
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong (3587294, counted=3587642).
Fix? yes
Free inodes count wrong (996737, counted=996734).
Fix? yes
/dev/vdb3: ***** FILE SYSTEM WAS MODIFIED *****
/dev/vdb3: 51842/1048576 files (0.1% non-contiguous), 605121/4192763 blocks
2015年1月4日日曜日
AS3「サポートされていないサンプリングレート」のもう一つの原因
AS3でmp3を埋め込み(embded)で使用すると正しいサンプリングレートであるにも関わらずコンパイル時に「サポートされていないサンプリングレート 」と表示され、コンパイルが成功しないことがある。
「サポートされていないサンプリングレート (32000Hz)」
のように現在のサンプリングレートらしきものが表示される場合や、
「~をトランスコードできません。」
のように原因が表示されない場合もある。
単純にサポート外のフォーマットになっている場合がほとんどであろうが、正しいフォーマットであるにも関わらずこれらのメッセージが表示されることがある。
それは、MP3のメタ情報などに日本語などのマルチバイト文字を含む場合だ。(含んでいても問題無い場合もある)
信じられないことに、AS3のコンパイラはMP3のメタ情報にマルチバイト文字がある場合に正しく処理できないのである。
信じられないことに!
「サポートされていないサンプリングレート (32000Hz)」
のように現在のサンプリングレートらしきものが表示される場合や、
「~をトランスコードできません。」
のように原因が表示されない場合もある。
単純にサポート外のフォーマットになっている場合がほとんどであろうが、正しいフォーマットであるにも関わらずこれらのメッセージが表示されることがある。
それは、MP3のメタ情報などに日本語などのマルチバイト文字を含む場合だ。(含んでいても問題無い場合もある)
信じられないことに、AS3のコンパイラはMP3のメタ情報にマルチバイト文字がある場合に正しく処理できないのである。
信じられないことに!
2014年11月26日水曜日
AWS-EC2へのHadoop+Hiveインストールではまったところ
いろいろハマったけれど、ちゃんと公式ドキュメントを読んでその通りにインストールするのが大事。
ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 0
/etc/hosts の 127.0.0.1 の行にec2のホスト名を追加することで解決した
基本はドキュメント通りに。
http://www.cloudera.com/content/cloudera/en/documentation/cdh5/v5-0-0/CDH5-Installation-Guide/cdh5ig_hive_installation.html
またmetastoreのスキーマはドキュメントでは hive-schema-0.12.0.mysql.sql だが hive-schema-0.13.0.mysql.sql を使用する。(0.12.0だと動かなかった)
最新版に対応してくれている sheetaldolas/Hive-JSON-Serde の json-serde-1.1.9.8 を使うことで解決した。
https://github.com/sheetaldolas/Hive-JSON-Serde
Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Got exception: org.apache.hadoop.security.AccessControlException Permission denied: user=hive, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x
下記コマンドで /user の書き込みを可能にして対処
sudo su hdfs -c 'hadoop fs -chmod 777 /user'
Hadoop サンプル実行失敗
下記のようなメッセージが表示され一向に処理が進まないipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8032. Already tried 0
/etc/hosts の 127.0.0.1 の行にec2のホスト名を追加することで解決した
Hive関連
基本はドキュメント通りに。
http://www.cloudera.com/content/cloudera/en/documentation/cdh5/v5-0-0/CDH5-Installation-Guide/cdh5ig_hive_installation.html
metastoreの設定には注意
デフォルトのderbyではうまく動作しなかったため、metastoreにはMySQLを使用した。またmetastoreのスキーマはドキュメントでは hive-schema-0.12.0.mysql.sql だが hive-schema-0.13.0.mysql.sql を使用する。(0.12.0だと動かなかった)
SOURCE /usr/lib/hive/scripts/metastore/upgrade/mysql/hive-schema-0.13.0.mysql.sql;
Hive-JSON-Serdeを使う場合の注意
rcongiu/Hive-JSON-Serde を使うと最新のHiveに対応していなかった。最新版に対応してくれている sheetaldolas/Hive-JSON-Serde の json-serde-1.1.9.8 を使うことで解決した。
https://github.com/sheetaldolas/Hive-JSON-Serde
DDL実行時エラーへの対処
create tableを実行すると下記のようなエラーが発生した。Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Got exception: org.apache.hadoop.security.AccessControlException Permission denied: user=hive, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x
下記コマンドで /user の書き込みを可能にして対処
sudo su hdfs -c 'hadoop fs -chmod 777 /user'
2014年10月1日水曜日
僕を苦しめたDockerのバグ2つ
Postfixが動かない!(setgidが効かない)
Docker1.2では修正済みですが、Docker1.1ではsetgidが効きません。Postfixが何故かうまく動かず、調べてみるとpostfixのコマンドであるpostdropとpostqueueはsetgidされていなければならいないのがされていませんでした。
手動でchmod g+s postqueueとかしてみても、付かない!
Dockerのバグでした。幸いDocker1.2は既にリリースされていたので、Dockerをアップデートするだけで解決しました。
docker pullするとdockerデーモンごとクラッシュする!
当然ですがdockerデーモンがクラッシュすると起動しているコンテナは全滅します。恐ろしいですね。。。
修正のpullリクエストがマージ済み(2014/10/01現在)のようですが、自分でDockerをビルドするかDocker1.3(Docker.1.2.1?)を待たなければなりません。
https://github.com/docker/docker/pull/7864
2014年7月19日土曜日
QuincyKitでiOSアプリのクラッシュレポートを取得したときに困ったメモ
iOSアプリでクラッシュレポートを取得するためにQuincyKitというライブラリを使ってみた。
https://github.com/TheRealKerni/QuincyKit
わかりにくかったところをメモしておく。
そこで送信されたレポートには手動でアプリ固有のシンボル名を表示できるようにする処理を行う。これをsymbolicateと呼んでいる。
symbolicate.phpはサーバーのレポートをsymbolicateして更新するスクリプトでsymbolicatecrash.plはコマンドラインで指定したクラッシュレポートをsymbolicateするスクリプトだ。
僕の環境ではこれを使うにあたって3つ問題が発生した。
1.原因不明だがfile_get_contents()がWarningを出して止まってしまう
symbolicate.phpのfile_get_contents()を使っている場所をcurlを使うように修正して対応した。
2.MoreUtils.pmがなくてsymbolicatecrash.plが動かない
標準では入っていないパッケージだったようなので下記の通りインストールした。
sudo cpan install List::MoreUtils
3.symbolicateを実行してもシンボル名が表示されない
これは下記のサイトを参考にXCodeのBuild Settingsを修正したところ直った。
http://support.hockeyapp.net/kb/client-integration-ios-mac-os-x/how-to-solve-symbolication-problems
僕の場合はStrip Debug Symbols During CopyをYESに変更する必要があった。
https://github.com/TheRealKerni/QuincyKit
わかりにくかったところをメモしておく。
クラッシュレポートが送信されるタイミング
クラッシュレポートはクラッシュした次の起動のタイミングで送信される仕様になっている。クラッシュした時ではネットワークが使えないかもしれないので、ローカルにレポートを保存しておき、次回起動時にレポートを送信するということなのだろう。
symbolicateとは何か
送信されたレポートのスタックトレースには最初は標準ライブラリのシンボル名しか表示されない。そこで送信されたレポートには手動でアプリ固有のシンボル名を表示できるようにする処理を行う。これをsymbolicateと呼んでいる。
symbolicateで起きた問題
symbolicateするにはリポジトリのserver/localに配置されているスクリプトを使う。symbolicate.phpはサーバーのレポートをsymbolicateして更新するスクリプトでsymbolicatecrash.plはコマンドラインで指定したクラッシュレポートをsymbolicateするスクリプトだ。
僕の環境ではこれを使うにあたって3つ問題が発生した。
1.原因不明だがfile_get_contents()がWarningを出して止まってしまう
symbolicate.phpのfile_get_contents()を使っている場所をcurlを使うように修正して対応した。
2.MoreUtils.pmがなくてsymbolicatecrash.plが動かない
標準では入っていないパッケージだったようなので下記の通りインストールした。
sudo cpan install List::MoreUtils
3.symbolicateを実行してもシンボル名が表示されない
これは下記のサイトを参考にXCodeのBuild Settingsを修正したところ直った。
http://support.hockeyapp.net/kb/client-integration-ios-mac-os-x/how-to-solve-symbolication-problems
僕の場合はStrip Debug Symbols During CopyをYESに変更する必要があった。
登録:
投稿 (Atom)