おひさしぶりです。ポポです。
ひさしぶりにブログをみてみたらもう一年以上ほったらかしにしていたみたいですね。
非常に申し訳ない・・・
まだTrafficserverだったりChefだったりFluentdだったりいろんなのを書きたい・・・書きます。
着々と書いて行くのでお楽しみに
virt-installでubuntu10.04LTSに仮想化環境をいれてみよう
どうもポポです。
今日はvirt-installでubuntuをいれてみました
今回、ubuntuにいれたバージョンは10.04LTSです。
最初、ubuntuの10.10にいれてみたんですが、どうもlibvirt-pythonのパッケージがなくなっているらしく
別のパッケージをいれないといけないんですが、うまく動かなかったのでubuntu10.04にしました。
パッケージのインストール、ネットワークのブリッジ設定などはここを見ればおkです。
virt-installをします。
sudo virt-install -n (名前) -r 4096 -f /var/kvm/images/xxx.img -s 20 --vcpus=2 --os-type linux --os-variant=virtio26 --network bridge=br0 --nographics --location='http://jp.archive.ubuntu.com/ubuntu/dists/maverick/main/installer-amd64/' --extra-args='console=tty0 console=ttyS0,115200n8'
これでおそらくubuntu10.10が仮想化環境にインストールされることと思います。
あとは流れるままにインストールすればおkなんじゃないでしょうか?
unboundをcentosにインストール
どうも 書き始めるとやめられないとまらない。ポポです。
さて、今回はunboundをいれてみたいとおもいます。
unboundはDNSのキャッシュサーバみたいなものです。
内向きのみですが、結構便利なのでつかってみます。
さて、最初になにか入れないといけないみたいなんですが、いろいろ試したので
ちょっと覚えてないです。
yum -y install openssl-devel*
はたぶん必須だとおもうので入れましょう。
次に最新版のunboundを入れたいと思ったのですが、なぜかエラーがでる。
errorが出る箇所は ./configureの部分でopensslのバージョンを1.0.0以上にしないといけないらしいです。
configure: error: OpenSSL 1.0.0 is needed for GOST support
なので1.4.6のバージョンをいれてみたいとおもいます。
wget http://www.unbound.net/downloads/unbound-1.4.6.tar.gz tar zxvf unbound-1.4.6.tar.gz cd unbound-1.4.6 ./configure make make install cp contrib/unbound.init /etc/init.d/unbound ln -s /usr/local/etc/unbound /var/unbound /usr/sbin/groupadd -r unbound /usr/sbin/useradd -r -g unbound -d /var/unbound -s /sbin/nologin unbound chown -R unbound:unbound /var/unbound chmod a+x /etc/init.d/unbound chkconfig --add unbound
これで完成です。簡単でしたね。
最後に設定をします。
/var/unbound/unbound.conf
以上っす
PHPでTokyoTyrantを実行
さて、前回TokyoTyrantのインストールをしたので、
早速実行してみたいとおもいます。
と、そのまえに前回実行したときに
ttserver -port 1978 -dmn -pid /var/ttserver/pid /var/ttserver/casket.tch#bnum=1000000
tchの部分をtctに直します。
/usr/local/sbin/ttservctlをいじります
DATABASE="$basedir/casket.tch#bnum=1000000"
から
DATABASE="$basedir/casket.tct#bnum=1000000"
となおします。これで再起動して
ttserver -port 1978 -dmn -pid /var/ttserver/pid /var/ttserver/casket.tct#bnum=1000000
とします。
さて、phpを実行してみましょう
$tt = new TokyoTyrantTable('localhost', 1978);
$d = array("s1" => "sm001", "s2" => "hm002", "s3" => "hm003");
$index = $tt->put("id001", $d);
var_dump($tt->get($index)); これでちゃんとでてくればおkです
TokyoTyrantをCentos5.4にインストール
さて、しばらくぶりに書いてみますか。
いやぁ修士論文とかの愚痴を書きたいんですが、愚痴よりもやっぱり
こういうのを書くべきでしょw
TokyoTyrantはKVSの一種で、memcacheのように超高速に処理ができ、memcacheとは違って
永続性付きっていうすばらしいツールです。
さて、じゃあ早速インストールしてみましょうか
$yum install gcc make zlib-devel bzip2-devel $wget http://1978th.net/tokyocabinet/tokyocabinet-1.4.46.tar.gz $tar xvfz tokyocabinet-1.4.46.tar.gz $cd tokyocabinet-1.4.46 $./configure $make $make install $wget http://1978th.net/tokyotyrant/tokyotyrant-1.1.41.tar.gz $tar zxvf tokyotyrant-1.1.41.tar.gz $cd tokyotyrant-1.1.41 $./configure $make $make install
これでインストール完了です。
さてさて、これで動かそうとするんですが、ttserverの動かし方があるみたいですね。
自分は
$ln -s /usr/local/sbin/ttservctl /etc/rc.d/init.d/ $/etc/rc.d/init.d/ttservctl start Starting the server of Tokyo Tyrant Executing: ttserver -port 1978 -dmn -pid /var/ttserver/pid Done
これで一応動きます。
しかーし。これで満足しちゃーいけません。PHPから快適に使えるようにしなきゃいけません。
よってphp-tokyo_tyrantを導入します。
$pecl install tokyo_tyrant-0.4.0 pecl/tokyo_tyrant requires PHP (version >= 5.2.0), installed version is 5.1.6 No valid packages found install failed
あれ?まさか5.1.6のままのサーバにインストールしていたのか!?
ってことでphpのバージョンをアップさせよう - ポポの日記で
mysqlとphpのバージョンをあげてもう一回実行
You should add "extension=tokyo_tyrant.so" to php.ini
とあるので/etc/php.iniに加えて、さてもう実行可能だろとおもったら
PHP Warning: PHP Startup: OAuth: Unable to initialize module Module compiled with module API=20050922 PHP compiled with module API=20090626 These options need to match in Unknown on line 0
え?なにこれ?あぁPHPのバージョンあげたからなんか不具合でてるのか。
ということでOAuthをインストールし直す
$pecl uninstall OAuth $pecl install OAuth-beta
これで警告はでなくなった。
MySQL Casual Talks vol.1にいってきました
どうもポポです。
今日はMySQL Casual Talks vol.1に行ってきたのでそのレポートをしたいと思います!
http://atnd.org/events/9803
19時に日本オラクルに到着。さっそく迷いかけていたら発表する先輩と出会う。
そのままついていき、会場へ
1.挨拶show innodb status @myfinder
perl casual のコンセプトで
Advent Calendar 2010もやっている
12日以降の寄稿者求む
オラクル提供すごい++
Mysql casual blogの人
InnoDBの話
「いのでーびー」と「いんのでーびー」読み方はどっち?
商用のいんのDB
・キーワード
データを取得した日付
セマフォの話
Mutex spin
RW-shared /RW-excl
OSまちを見る理由
トランザクション
Purge done for
File/IO
見るべき行はわずか
insert buffer
Adaptive hash index
レコードを含んだインデックス
buffer pool
2.xtrabackupとかtcpdumpとか@riywo
DeNAの人
tcpdump xtrabackup
tcpdumpでSQLをみる
日本語文字化けする
mk-query-difest
インストール方法
mk-query-digest slow.log
tcpdumpも食える
memcachedも食える
DBに記録
継続的に記録する
シェルでがりっと
抽出
MyQueryShowグラフ
QPSのグラフとかの説明
https://github.com/riywo/MyQueryShow
WAF
Amon2
デモ
問題点が結構ある
xtrabackup
Hotbackup
スピード早いww
3. MySQL::SandboxとかといいつつVP & Spider@kamipo
pixivの人
VP&spider
運用法
VPの使い方
Spiderの使い方
DBを止めずに移行する方法
4.MySQL 初めてのチューニング@craftworks
チューニングの話
バッファの話
各グローバルバッファの説明
スレッドバッファ
メモリ以外の設定
グローバルバッファ+(すれどバッファx最大接続数)=搭載メモリの8−9割
メモリの計算
mymemcheck
keyread = 150以上になるように調整
まとめ
5.はてなでのMySQL運用@marqs
はてなの人
日頃の説明
Mysql 5.1.52 + InnoDB plugin
DBのrole毎にChefで自動設定
server-idとbufferpool sizeの設定
DBのバックアップ
rrd tools グラフ化
innotop→hatetop
mk-query-digest
Mysql SSD
cpu:X3430
ssd:X25-M
10万円くらい
2009年以降のサービスはほぼSSD
alter tableはHDDで6時間が20分に
SSDのいいところ
ほぼ壊れない
RAID0で気軽に構築
ロードバランサでの投入が楽
InnoDB再起動が早い
alter tableが早い
6.たのしいMySQLデータ分割入門@xaicron
DeNAの人
perl人
sharding
user_idで分割
メモリに乗り切らなかったデータがのるようになる
Joinができなくなる
シーケンスを外だしする必要がある
物理サーバが必要
pertitionだと一瞬できえる
7.online schema change@n_hayashi
dena
online schema changes
テーブルのスキーマの変更はテーブルロックがかかる
整合性の確認が必要なので大変
サービスをとめたくない
エラーをだしたくない
データの整合性を
条件付きで正常に動作できる
primary key InnoDB
結論;VP & spiderのがいいんじゃないかと
8.MySQL5.5 最新動向@RKajiyama
オラクルの中の人
有名な会社17/20社をMysqlを使っている
こみにてぃ版と商用版
監視ツールなどがあるのが商用
InnnoDB
GPLなど
オラクルになっても開発のスタンスは変わっていない。
5.5になり、InnoDBがデフォルトのストレージエンジンに
スケーラビリティの向上
2010年中にリリース?
準同期レプリケーションに変更
コミットした瞬間、ほかのサーバにも書く
次のバージョンは速い(速度的に
MySQL5.5ベンチマーク
InnoDBを作ったのは昔からのオラクル
改善・改良がやばいらしい
商用サーバの説明。部屋を貸してくれているので当然ですよね!
12月の16日に重要なお知らせが!?
これからもオープンソース
【まとめ】
非常に面白かった。ただ、もうちょっと詳しく聞きたい(時間が短い)のと質問の時間が欲しかったかなと思った。
そしてこの短い発表でメモしながら聞くのは無理ですね!次回からはちょっと考えてメモしよう
memcached導入
どうもポポです。
最近寒いですねー。心も体も。
誰か暖めてください。
さて、前回phpとmysqlを最新版にアップデートしたわけですが、
それもすべてはmemcachedを使うため。
ということで今回はmemcachedをインストールしてみましたよ。
$yum -y install memcached
ちなみにmemcacheとmemcachedは全然違うものみたいなのでご注意を
sample.php <?php $mem = new Memcached(); $mem->addServer('localhost', 11211); $mem->set('key','value'); print $mem->get('key'); ?> $php sample.php value
とまぁこんな感じでKVSが実現できるわけですが、ちょっと不安なのはやっぱり
揮発性でしょうか。つまり、サーバが落ちたらそのデータがふっとぶのがやっぱり不安ですね。
一番はオンメモリで動作させつつ、同時にバックアップもできる環境が一番いいのですが。
そうなるとやっぱりTokyo Tyrantでしょうかねー。じゃあ使ってみますか!
ちなみにこんなブログの書き込みもありました
http://d.hatena.ne.jp/tullio/20101031/1288549892
分かることは, 1.memcachedがやはり一番高速 2.Tokyo Tyrantは,メモリでもディスクでも余り速度は変わらない(=永続化に良い性能)
早さ=正義!!