Ubuntuにapt-getでVMware Toolsをインストールする

ESXi5.0上のUbuntu12.04にapt-getでVMware Toolsをインストールする手順です。

wget http://packages.vmware.com/tools/keys/VMWARE-PACKAGING-GPG-RSA-KEY.pub -q -O- | sudo apt-key add -
echo 'deb http://packages.vmware.com/tools/esx/5.0latest/ubuntu precise main' | sudo tee /etc/apt/sources.list.d/vmware-tools.list
sudo apt-get update
sudo apt-get install vmware-tools-esx-kmods-3.2.0-29-generic
sudo …
more ...

iPhoneのメッセージアプリが大量の添付ファイルを受けて起動しなくなったので直した

先日iPhone5のメッセージが開かなくなりました。

原因は、その直前に来た大量の添付ファイル付きのメール(MMS)です。

そこで、メッセージが参照しているDBから該当のメールを直接削除することで直しました。

環境

iBackupBot と SQLite をいじれるなんらかのツール(今回は MesaSQLite )を用意してください。

以下、手順です。

  1. iTunes で iPhone をバックアップ
  2. iBackupBot で 先ほどのバックアップから Library/SMS/sms.db をエクスポート
  3. エクスポートされた、 Library_SMS_sms.db …

more ...

Zabbix Java GatewayでDouble型の値を監視できるようにするパッチ

Zabbix Java Gatewayを使ってJMX経由で何かしらの値を監視するときに、値の型がjava.lang.Doubleだとエラーになってしまい、監視できない。

そこで、エラーにならないように修正する。

元ネタは下記のフォーラムのコメント。

jmx java.lang.Double bug?

Zabbix 2.0.4のときに作ったけど、たぶん2.0.5でも動くはず。

パッチは下記の通りです。

パッチの当て方

  1. Zabbixのソースをダウンロード

http://www.zabbix.com/download.php

  1. 解凍
tar zxvf zabbix-2.0.4.tar.gz
cd zabbix-2.0.4/src/zabbix_java/
  1. パッチを当てる
patch src/com/zabbix …
more ...

Zabbixのグラフ画面で選択したホストのグラフを全て表示するパッチ

ちょっと前に、Zabbixのグラフ画面で選択したホストのグラフを全て表示するようにするパッチを作ったので。

Zabbix2.0.4でしかテストしてませんが、2.0.5でも動くはず。

パッチ当てるときは下記のような感じ。

patch -p1 -d /usr/share/zabbix < zabbix2.0.4_display_all_graph.patch

中身は下記の通り。ダウンロードも下から。

more ...

CassandraとHadoopの連携

Cassandra Cassandra

Cassandraに入れたデータでMapReduceするサンプル(word count)を動かす。

環境

  • CentOS 6.3
  • Java 1.7.0_10
  • Ant 1.8.4
  • Cassandra 1.2.0-rc1
  • Hadoop 1.1.1

構成

Architecture Architecture

CassandraとTaskTrackerが同じノードにいるようにする

それぞれのインストール方法は割愛

手順

  1. HadoopがCassandraのライブラリを読み込むようにする
vi /etc/hadoop/hadoop-env.sh
# 末尾に追記
export HADOOP_CLASSPATH="/var/lib/cassandra/lib/*:$HADOOP_CLASSPATH"
  1. HadoopとCassandraを起動しておく
  2. Cassandraのビルド
git clone git://github.com/apache …
more ...

Pythonでtail --follow=name

Pythonでログをtailして1行ずつ処理したいと思ったんだけど、じゃあtailコマンドの結果を受け取ればいいんじゃねっていうプログラムです。

-n +1で一行目から読み込みます。

読み込みつつ、ポジションファイルとか作って何行目まで読んだとか保存しておけば、後でリカバリできます。

まぁ、Pythonで全部書けばいいじゃんて思うかもしれませんが、こういうやり方もあるよっていうことで。

more ...

Vimでただのメモをいい感じにハイライトしたい

Vim

最近、VimのカラーテーマをSolarizedにしたんですが、そしたらxxx.txtに書いてたメモがすごく読みづらくなった。

ほんとは画像とか見せたらわかりやすいと思うんだけど、とにかく全部一色で見づらい。

それで今回導入したのがHybridTextというやつ。

これ今年の8月22日にアップされてて、タイミング良すぎてわろた。

入れ方はvim.orgのページ見ればわかると思うけど、一応書くと以下のような感じ。

  1. ダウンロードしたhybrid.vimをsyntaxフォルダに入れる
  2. テキストファイル開いて:set filetype=hybridって打ってみる
  3. 2で色が変わったらOKなので、以下の行をvimrcに追加する au BufRead,BufNewFile *.txt set syntax=hybrid 実際どういろが付くかもvim.orgのページにあるサンプルを見るとわかりやすいんだけど、

行頭に「#」つけたり、タブでインデントしたり、"で囲ったりすると色が変わってとても見やすい。

特に普段からタブでインデントしてメモ書いてるので、すごく見やすくなった。

あ、プラグインとかはneobundleで管理してるからこれもNeoBundleで入れたかったけど、まだgithubにはちゃんとしたものは上がってないようだった。

2013/03/01 追記: githubにあるやつはバージョンが1 …

more ...

VMware上のVMでvNICをVMXNET3にしたときにUDPのパケットが飛ばない現象のまとめ

ESXi上のVMで fluentd → fluentd しようとしたらハートビート用のudpの通信ができていなかったので、調べた結果のまとめ。

調べた範囲ではパターンは3つ。

vNICは全てVMXNET3です。

E1000にすると直ります。

ESX or ESXi 4.0 4.1でVMのOSがRHEL 5.3以上の場合

以下のVMwareのKBに当てはまります。

UDP packet loss with MSI interrupts on VMXNET3

いくつか対処法が載っているけど、ESXを4.1u1以上にするのがいいですね。

VMのOSがRHEL6系の場合

以下のRed Hat KBに当てはまります。

Why does the vmxnet3 driver shipped with RHEL 6 update 2 drops small UDP packets?

カーネルをアップデートすると直るけど、あまりやりたくないですね …

more ...

Vyattaにrvmとfluentd入れたけどうまくいかなかった

Vyattaにfluentd入れて、fluentd→fluentdでログ集めようとしたけど失敗した

環境 ESXi5.0 u1 Vyatta Core 6.4 (VMXNET3、Debianのリポジトリを追加してからVMware公式のVMware Tools入れてる) * fluentd 0.10.22

入れた手順

  1. rvm入れる
# aptitude install ruby-full
# curl -L get.rvm.io | bash -s stable
# source /usr/local/rvm/scripts/rvm
# rvm requirements
# aptitude install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev …
more ...

VMware上のVyattaをクローンできるようにする

最近の他のOS同様、Vyattaもクローンしたり、NIC付け替えるとeth0、eth1だったのがeth2、eth3になったりします。

configファイルはeth0、eth1のままなので、いちいち設定し直さないとネットワークにつながりません。

それは大変面倒なので、ググったらvyatta-clone-helperっていうすばらしいツールがあったので入れ方をメモ。

Vyatta4Peopleのリポジトリを追加

configure
set system package repository vyatta4people url http://packages.vyatta4people.org/debian
set system package repository vyatta4people distribution experimental
set system package repository vyatta4people components main
commit
save

vyatta-clone-helperをインストール

sudo aptitude update
sudo aptitude install vyatta-clone-helper

クローン後に起動してから、さらに再起動するとeth0、eth1 …

more ...