Y-Ken Studio

新しもの好きのデータエンジニアが四方山話をお届けします。

CentOS

jqコマンドをsudoを使わずにインストールし、PATHを通す方法

JSONデータをコマンドラインでフィルター出来るjqコマンド、便利ですよね。 割と新しいepelリポジトリであれば、yum -y install jqで使えるようになります。 しかし次のようなケースでは大抵フルパスでバイナリを指定するのではないでしょうか。 root権限は…

ElasticsearchのLogstash形式インデックスをお手軽に削除するワンライナー

photo by Irina Souiki elasticsearchのlogstash形式インデックスを、定期的にcronで削除したいときに便利なワンライナーを紹介します。 使うコマンドはdateとcurlのみという大変シンプルなものですので、環境を選びません。

SoftBank携帯とnet.ipv4.tcp_tw_recycle=1の相性が悪い本当の理由

photo by saschaaa LinuxにおいてTIME_WAITなコネクションを減らす手法としてnet.ipv4.tcp_tw_recycle=1にするテクニックは有名です。 しかし環境によってはSoftBankに限らず問題が起きるため、利用には注意が必要です。 一体どのような問題が起きるのか、詳…

プロキシを使わずにRuby-1.9/2.1混在環境も作れる、Apache2+Passenger4+rbenvを用いた混在環境の作り方

Passenger 3.x で複数のRubyバージョンを使い分けるには、とてもトリッキーな対応が必要でした。 ところがPassenger 4.0.0 より公式に複数のRubyバージョンに対応しました。つまり、同一筐体のApacheで動く他アプリケーションへ影響を与えることなく、気軽に…

elasticsearch-1.0.0正式版がリリースされたので、0.9.xからのアップグレード手順をまとめました(追記あり)

Elasticsearch 1.0.0 released ということで、早速アップデートしてみました!

yumでインストール出来るpigzコマンドでマルチコア性能を生かした高速並列圧縮をする

ファイル・ディレクトリのgzip圧縮を行いたいが、1コアしか使われないので時間が掛かる。 待ちきれない。8コア以上のCPUを活かしてパラレルでgzip圧縮をしたい。そんな方に朗報です。 yum(rpm)でさくっとインストール出来る「pigz」を紹介します。

MySQL-5.6.11-1を使っている場合にはMySQL-5.6.11-2へアップデートしましょう

MySQL-5.6.11-1を使っている場合にはMySQL-5.6.11-2へアップデートしましょう。 既に北陸先端科学技術大学院大学(JAIST)のミラーからはMySQL-5.6.11-1のバイナリは無くなり、MySQL-5.6.11-2が公開となっております。 現象 以下エラーが発生して接続が出来な…

MySQL-5.5.6から仕様が変わった「MySQL-shared-compat」の中身を徹底解剖

MySQL-5.5.6から仕様が変わった「MySQL-shared-compat」の中身を紐解きます。

CentOS6.xに最新版のMySQL5.6とmroongaを最速でRPMインストールする方法

CentOS-6.xの環境に MySQL-5.6.12 と フルテキスト検索ストレージエンジンであるmroongaの最新版を入れる方法を紹介します。 以下それぞれ、ステップを追って紹介します。 オラクル公式の MySQL-5.6 バイナリを yum (rpm)で入れる MySQL-5.6.12 対応の mroon…

MySQL-5.6.4からの新機能「InnoDB FullText Search」という全文検索機能でWITH PARSERが動かないので調べてみました

MyISAMで出来るparserの指定、InnoDBでも出来たら夢が広がりますよね。 そう、MySQL-5.6.4から対応となったInnoDB FullTextSearchを、 自作のparser pluginで拡張できるとしたらもう、最高じゃないですか! クエリとしてはFULLTEXT INDEX (...) WITH PARSER …

全文検索エンジン Tritonn (MySQL-5.0+Senna) からMySQL-5.6対応「mysqlftppc」への移行ガイド

Tritonn (MySQL-5.0+Senna) から「mysqlftppc」への移行を行う際のTipsをまとめました。 mysqlftppcは、MySQL ftppc (MySQL Full Text Parser Plugin Collention)の略です。

ニコニコニュースでも使われている全文検索パーサプラグイン「MySQL-ftppc」のMySQL-5.6対応版を作りました

MySQL-ftppc (MySQL full-text parser plugin collection) という、全文検索パーサプラグインはご存じでしょうか。 これはMySQL標準の Full Text Parser を置き換えるもので、hiroaki-kawai氏によってこの世に生まれました。 ストレージはMyISAMを利用します…

groonga(rroonga)を利用したソースコード全文検索エンジン"Milkode"をApache Passengerで軽快に動かす方法

Rubyで書かれたMilkodeというソースコード検索エンジンが巷で評判です。 コマンドラインだけでなく、WEBブラウザから利用出来るインターフェースも用意されています。 これを導入することで、ソースコードを横断検索した結果のURLを、社内チャットなどでやり…

ApacheログをLTSV形式にする際の2つの落とし穴と対処法+Apache&FluentdのLTSV設定サンプル

ApacheのアクセスログをLTSV形式にしたいと思った方に是非お伝えしたい、 私がハマった落とし穴とその対処方法、その後にApacheとFluentdの設定サンプルを紹介します。 以下に1つでも該当するものがあれば、LTSVの導入メリットは高いでしょう。 テクニカルな…

GrowthForecastをinit.dを用いて自動起動する方法

グラフツールであるGrowthForecastはFluentdと組み合わせた利用で一躍有名となり、自分にとっても欠かせない存在となりつつあります。 ところがOS起動時の自動起動としたくても、公式サイトには以下の記述のみでした。 起動コマンド $ growthforecast.pl --d…

digやhostコマンドが劇的に便利になるbash関数を作りました

ブラウジング中にふとDNSレコードを調べようとする時、ドメインやホスト名だけを切り出すのは手間ですよね。 そこで、digやhostコマンドの引数にhttp://などが含まれていても動くbash関数を作りました。 実行サンプル hostやdigコマンドが、ブラウザのURL欄…

Linuxで8文字を超えるユーザ名を使うと、topやpsコマンドでの表記がuidとなる

「Linuxのユーザ名は8文字までにしましょう」とよく言われますね。 もしLinuxで8文字を超えるユーザ名を使うと、topやpsコマンドでの表記にどう影響するのでしょうか。 そんな疑問を解決すべく、実際の挙動を追ってみましょう。

CentOS6にMySQL-5.6系最新バイナリをオラクル公式rpmを用いてインストールする方法

CentOS-6.xの環境にオラクル公式のMySQL-5.6バイナリをyum(rpm)で入れる方法を紹介します。 追記(2013年7月17日) MySQL-5.6.12-2への追従。 追記(2013年6月29日) MySQL-5.6.12-1への追従。 追記(2013年5月10日) 関連記事に、全文検索機能を追加する方…

Fluentdでsyslogを取り込むための権限設定(CentOS 5&6両対応)

syslog経由で出力される次のようなログファイルを、Fluentdに取り込む場合に便利なTIPSを紹介します。 /var/log/messages /var/log/secure 今回はこれらのsyslogを一般ユーザでも読み込みは出来るよう、権限を少し緩める設定を紹介したいと思います。

RPMパッケージを利用したCentOSのVagrant環境構築

Vagrantとは Vagrant は仮想マシン(VM)をコマンドラインで操作するツールです。 PuppetやChefによるサーバ環境構築ツールと組み合わせる事で、 とても簡単にVM環境の構築が出来るようになります。 Vagrantについての詳細については Vagrant - naoyaのはて…