Apache ZooKeeperのトランザクションログとスナップショットの運用と削除

Zookeeperのトランザクションログの運用 Hadoopと組み合わせて使用されるZooKeeperは、タイミングが非常に重要な高可用性の分散協調システムです。NTPを設定してログの時刻ずれが無いように設定しておく必要があります。また、Zookeeperのトランザクションログとスナップショットは別のディスクドライブに保存することが望ましいとされています。ログが頻繁に書き込まれるため、I/O性能の良いSSDなどのフラッシュストレージに保存しておくことが望ましいです。これらはdataDirおよびDataLogDirプロパティによって設定が可能です。Zoopkeeperのトランザクションログが一定の設定値(デフォルト64MBまたは100,000回)以上に書き込まれると、znodeツリーのメモリダンプであるスナップショットが作成されます。スナップショットは基本、それ以前のトランザクションログに代…

ファイルのタイムスタンプを改竄する方法

ファイルのタイムスタンプを改竄する方法

Linuxのファイルシステムの特徴 LinuxのEXT4やBrtfsやEXT3などのファイルシステムは、i-nodeとブロック領域の2つで構成されています。ファイルのデータはブロック領域に格納されます。そのブロックの管理領域には、ファイルの実データが格納されている位置やファイル・サイズ、変更時刻などの管理情報が記録されます。これがi-nodeです。 各ファイルやディレクトリのi-node番号を確認するには、ls -iコマンドを実行します。 $ ls -ali 54980 -rw-r--r-- 1 faust users 1.5G 6月 14 21:20 test.tar.gz 232836 drwxr-xr-x 1 faust users 84 6月 15 01:11 www また、各パーティションごとに使用されているi-node番号の総数は、df -iコマンドで確認できます。 …

ActiveMQ単体構成ではuseDatabaseLock="false"にすること

ActiveMQの61616ポートが開放されない 先日、ActiveMQでフェイルオーバー時にMySQLと連携させる記事を書きましたが、MySQLと連携させるとActiveMQの通信ポート61616がなぜか解放されない問題が起きました。ログを見るとこんな感じ。 2013-07-26 16:54:17,173 | INFO | Refreshing org.apache.activemq.xbean.XBeanBrokerFactory$1@786c730: startup date ; root of context hierarchy | org.apache.activemq.xbean.XBeanBrokerFactory$1 | WrapperSimpleAppMain 2013-07-26 16:54:18,638 | INFO | PListStore: started |…

Apache2.4とAJPのエラーと対処

Apache2.4とAJPのエラーと対処

Apacheでスコアボードがフルになるエラー Apache2.4で動かしているAPIサーバーで以下のエラーログが出力されていた。 Resource temporarily unavailable: apr_thread_create: unable to create worker thread リソースが足りないと言われているので、MaxRequestWorkersやMaxConnectionsPerChildを見直したんだけど、今度は↓のようなエラーが出力されるようになった。 AH00485: scoreboard is full, not at MaxRequestWorkers AH00485: scoreboard is full, not at MaxRequestWorkers AH00485: scoreboard is full, not at MaxR…

facebook Night Vol.15 ハイライト

facebook Night Vol.15 ハイライト

Facebook Japan Country Growth Manager 児玉 太郎 氏 facebook Japan Country Growth Managerの児玉さん。Yahoo!Japan出身。 facebook Japanは当初は5人くらいでスタート。ローカライズとガラケーや絵文字対応を中心に事業を進めていった。 当初、facebookが実名制でなかなか普及しなかったため、リクルートや電通に協力を仰いだ。 日本語のフリガナの慣習が、facebook本社から来たエンジニアにはなかなか理解されなかったらしい。 facebookの組織はCEOの下にProductとGrowthそれぞれの部署がある(それぞれにエンジニアがいる)。プロダクトはニュースフィードや写真投稿などの機能を実装し、Growthはそれをいかに育てていくかを考える(Notificationなど)。faceb…

ClouderaのHadoop(CDH4.3.0)を簡単に試す方法

ClouderaのHadoop(CDH4.3.0)を簡単に試す方法

ClouderaのCDH4.3.0のHadoopを簡単に試す HadoopやHDFSやHBase、さらにはHiveやImparaの勉強はしたくても手始めに何を始めたらいいのか迷う方は沢山いると思います。でも、心配いりません。ClouderaではQuick Start VMとして、VMwareやKVMやVirtualBoxに対応したCloudera関連のパッケージがつまったVMを配布しています。このVMを使えば、5分〜10分くらいでClouderaのHadoop開発環境や検証環境(CDH4.3.0)を仮想環境に構築することができます。 ClouderaのVMをダウンロードするには まず、Cloudera Quick Start VMのページにアクセスします。そこで、VMware、KVM、VirtualBoxなど使用している仮想環境に応じたVMファイルをダウンロードします。 私はVirtua…

ActiveMQでメッセージキューを実装する

ActiveMQでメッセージキューを実装する

ActiveMQとは ActiveMQとは、Java Message Serviceを実装したメッセージ関連のミドルウェアです。ActiveMQをインストールすることで、アプリケーションは非同期型のメッセージキューイングを行うことができます。メッセージを非同期にやり取りするため、一時的にシステムがダウンしても影響を受けずに処理を再開させることが可能です。以下のような感じです。 ActiveMQのインストール ActiveMQはソースコードで提供されていますが、RPMの作成も可能です。ここではいったんRPMを作成してインストールする手順を解説します。 $ sudo yum install -y rpm_build $ mkdir -p ~/rpm/{BUILD,RPMS,SOURCES,SPECS,SRPMS} $ echo "%_topdir ~/rpm" &gt…

統計解析ツールRとMySQLを連携させる

RとMySQLの連携 まず、Rを起動させてDBIとRMySQLのパッケージをインストールさせます。 $ sudo R R version 2.15.2 (2012-10-26) -- "Trick or Treat" Copyright (C) 2012 The R Foundation for Statistical Computing ISBN 3-900051-07-0 Platform: x86_64-suse-linux-gnu (64-bit) Rは、自由なソフトウェアであり、「完全に無保証」です。 一定の条件に従えば、自由にこれを再配布することができます。 配布条件の詳細に関しては、'license()'あるいは'licence()'と入力してください。 Rは多くの貢献者による共同プロジェクトです。 詳しくは&…

JINS PCのマーケティング戦略

JINS PCのマーケティング戦略

JINS PC経緯 - 2001年にメガネ市場に参入したが、看板商品がなく赤字経営が続いた - JINSの社長は眼が良かったが、液晶モニタで眼が疲れることに悩まされていた - 産学連携プロジェクトで研究を重ね、液晶モニタのブルーライトが眼の疲れに影響していることを解明した - ブルーライトをカットするメガネ「JINS PC」を開発した。メガネを掛けていない人も含めた巨大市場を創出した。 普及させるための段階戦略 - 最初にターゲットに設定したのは「ITコア層」。ブロガーミーティングなどを積極的に開催して、PCをよく使う層に効果を実感してもらい、クチコミで波及させていった。マイクロソフトやYahooなどの法人でも導入が進んだ。 - 次のターゲットは「ITマス層」。サラリーマンやOLなどパソコンを日常的に使う人々へPRした。 - 最後は「マス層」。メガネのイメージを覆すようなコミカルなCMを…

フィリップ・コトラー教授の『ブランド』『イノベーション』成長戦略まとめ

フィリップ・コトラー教授の『ブランド』『イノベーション』成長戦略まとめ

ブランドとは何か GoogleやAppleのように、自社製品と競合他社の製品との明確な違いを打ち出すことによって、消費者は複雑で多様な製品の中からその会社のサービスを識別できるようになります。この違いが「ブランド」であり、このブランドを会社の資産として捉える「ブランド・エクイエティ」(ブランドの無形の資産価値)が重要であるとコトラーは考えています。実際、Appleは自社ブランドを維持するために製品や店舗の研究開発に多額の投資を行なっています。ブランドが確立できれば、「ググる」という言葉が一般化したように、消費者の日常生活に大きな影響を与えることができるようになります。 ブランドの選択 ブランド資産の確立のためには、まず自社ブランドの選択が大事です。消費者の記憶に残るか、消費者がそのブランドを好んでくれるのか、どこまで競合に対して防御できるのか、などがブランドを選択する上での基準になります。…

おすすめの.vimrc設定と.zshrc設定

エディタはvimを使っています 普段のコーディング作業ではエディタはvimを使っています。EclipseなどのIDEは使っていません。メインの開発がPHPやPerlというのもあるのですが、IDEにこだわるよりは、軽量にターミナル上でいつでもどこでも修正できることを重視しています。その分、.vimrcはちょっとカスタマイズしています。.vimrcはGitHubのdotfailesを利用する方法もあります。私は色々なサイトを参考にカスタマイズしました。私の設定を公開いたします。 vimの設定 まずはNeoBundleプラグインをダウンロードします。 $ git clone https://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim 次に.vimrcを以下のように作成しました。 " vi 互換ではなくVim の…

HadoopとHBaseのCDH4.3.0アップグレード時の障害

Hadoop・HbaseをCDH4.3.0にアップグレードしたら障害発生 ClouderaのCDH4.3.0のYUMレポジトリが公開されたので、CDH4.2.0のHadoop・HBaseをアップグレードしました。全RPMが問題なく入ったのですが、CDH4.2.0ではバッチ処理で問題なく使えていたHBaseのデータが正常に取得できない障害が発生しました。ログ出力は以下のような感じです。 13/06/21 13:49:59 INFO zookeeper.ZooKeeper: Client environment:zookeeper.version=3.4.5-cdh4.3.0--1, built on 05/28/2013 02:01 GMT 13/06/21 13:49:59 INFO zookeeper.ZooKeeper: Client environment:host.name=***…

Feedback ChampuruがTwitter API Ver 1.1に対応していないので改造しました

Feedback ChampuruプラグインのTwitter API Ver 1.1対応 WordPressのFeedBack ChampuruプラグインがTwitter API Ver1.1に対応していなくて、6月14日ごろからTwitterのコメントが取得できなくなっていたので、ちょっと改造してOAuthでつぶやきを取ってくるようにしました。 臨時対処でちょっとハードコーディングになってしまうのですが、Feddback Champuruプラグインの_get_twitter関数を以下のように書き換えました。 private function _get_twitter($type, $post_id, $permalink, $get_new = false){ $cache = $this->_get_cache($type, $post_id); if ( !$get_new )…

git pushで本番環境にデプロイ

git pushでデプロイしたい ローカルレポジトリにgit commitした後に、問題なければリモートレポジトリにgit pushすることになりますが、git pushしただけではリモートレポジトリの情報が更新されるだけでデプロイはされません。今までデプロイ作業は自宅サーバーにログインして、git pullを行なっていたのですが、それは面倒なのでgit pushのタイミングでデプロイを自動化することにしました。まず、レポジトリを立てるところから順を追って解説します。 リモート側にGitレポジトリを立てる $ mkdir repo $ cd repo $ git init $ git config --bool core.bare true $ cp -rf /srv/www ./ $ git add * $ git commit -m "www add" $ cd /…

Dellのサーバーの消費電力を計算する方法

Dellのサーバーの消費電力を計算する方法

Dellのサーバーの消費電力を計算する Dellの方で用意しているサーバーの消費電力シミュレーションシートがあります。 http://www.dell.com/content/topics/topic.aspx/global/products/pedge/topics/en/config_calculator?c=us&cs=04&l=en&s=linux ↑でStart ESSAをクリックすると、ラック・サーバー選択画面になります。PowerEdgeも選択できます。それでサーバー台数分選択して、各サーバーごとにConfigureでCPUは何か、メモリは何GBか、HDDはいくつか、CPUの使用率(負荷)は何%想定か(デフォルト100%)などを選択していくと、トータルの消費電力を計算してくれます。ワット単位で出してくれるので、あとはラックの電圧さえわかれば、必要なアン…

MySQL5.7 からMariaDB 10.0に移行しました

MySQL5.7 からMariaDB 10.0に移行しました

RedHatもMySQLからMariaDBに移行する 既にFedoraやopenSUSEなどのディストリビューションは、MySQLからMariaDBへ移行していたのですが(移行は強制ではなく、MySQLもオプションのパッケージとして標準レポジトリには登録されています)、昨日になって、Red Hat Enterprise Linux 7でもMySQLに代えてMariaDBを採用というニュースも飛び込んできました。RHEL7でMariaDBが採用されるということは、そのクローンであるCentOSでもMariaDBが標準になっていくと思われます。Linux界隈の流れは明らかにMariaDBに向かっています。「世界的ですもんね。乗るしかない!このビッグウェーブに!」ということで、自宅サーバーもMariaDBへ移行させることにしました。 自宅のMySQL使用状況 私の自宅サーバーは、openSUSE…

Twitter API Ver. 1.1への対応

自分のツイートをAPI1.1経由で取得してファイルに出力する 自分のツイートをAPI経由で取得してファイルに出力するサンプルです。twitteroauth.phpを使っています。 OAuthRequest("https://api.twitter.com/1.1/statuses/user_timeline.json",'GET',array('count'=>'10')); $result = json_decode($req); $tweet = ""; for($i=0;$i>5;$i++){ $object = $result[$i]; $tweet .= "- $object->text id'> link\n"; } $tweet .= ""; $fp = fopen("/srv/www/data/twitter.txt", "w+"); fwrite…

おすすめのWordPressプラグイン

001 Prime Strategy Translate Accelerator 001 Prime Strategy Translate Accelerator 翻訳ファイルの読み込みをキャッシュ化し、表示までにかかる実行時間を短縮します。 BackWPup BackWPup バックアッププラグイン。ファイルとDB両方取れる。バックアップファイルをDropBoxやAWSにも転送可能。 Broken Link Checker Broken Link Checker リンクエラーやリンクエラーの画像がないかブログをチェックし、見つかった場合は、ダッシュボード等で通知します。 Disable Revisions Disable Revisions 記事執筆中にWordPressが勝手にリビジョンを保存しないようにします。 Feedback Champuru Feedback Champuru …

戦争責任論 -日本とドイツの比較- (2005年)

齊藤 2005/07/04(Mon)03:46:39 ドイツと日本の違いについて。直江さんは「日本が戦争に突入したのはやむをえなかった」という論理は、ナチスに対しても「戦争に突入したのはやむをえなかった」同じ論理でそう言えてしまうことになるとご指摘されています。 すみません、私の中では日本政府は最後まで対米交渉の平和的解決を願っていたという認識でいます。しかし、米国が日本への原油輸出禁止や在米日本資産凍結などの強攻策に打ってでてきて、イギリスやオランダの東南アジア植民地からの資源も輸入できませんでした。石油がなくなれば国内経済も軍事力の維持も不可欠であり、今回の輸入停止のまま追い詰められた日本政府に、中国大陸からの完全撤退を要求するハル・ノートが渡されます。最近の公開文書によると、アメリカは日本が受け入れられない文章を出すようにとのことで、このハル・ノートが出されたそうです。石油もジリジリ…

Nginxでupstream sent too big headerのエラー対処法

upstream sent too big headerエラー Nginx + PHP-FPM構成で、クライアント環境(ブラウザ設定)によっては以下のようなエラーが発生してページが閲覧できない場合があります。 819#0: *38 upstream sent too big header while reading response header from upstream, client: ***.***.***.***, server: localhost, request: "POST ******** HTTP/1.1", upstream: "fastcgi://unix:/var/run/php-fpm/php-fpm.sock:", host: "********", referrer: "http://…