• 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
 
 

またプロセスがハングアップする問題が発生したため、システム構成を見直し。 passengerからunicornに切り替えました。 正確な構成は、

  • rails-2.3.11
  • rack-1.1.2
  • unicorn-3.6.2
  • nginx-1.0.0

という感じです。

unicornのマスタープロセスのPIDを取得するために、以下のようなスクリプトを使ってます。

unicorn_master.rb

   1  port = ARGV.shift
   2  pids = `lsof -i:#{port} | awk "{print \\$2}"`.split("\n")[1..-1]
   3  pids.each do |pid|
   4    puts pid if `ps --ppid #{pid}`.split("\n").size > 1
   5  end
   6  
   7  # USAGE:
   8  #   ruby unicorn_master.rb <#port>

またしばらく様子をみてみます。

posted by Png genki on Wed 25 May 2011 at 13:05

rackupしようとすると、1.3.0と1.1.0でコンフリクトして無理、というお馴染みのメッセージが出ていて困ったのですが、bundlerを使っている場合、

   1  % bundle exec rackup

すればOKなようだ。

posted by Png genki on Wed 25 May 2011 at 09:23

古いRailsアプリをBundler仕様にする場合、

   1  config.gem "foo",
   2    :version => "0.0.1",
   3    :lib => "bar",
   4    :source => "http://gems.github.com"

と等価なGemfileの記述方法は

   1  source "http://gems.github.com"
   2  gem "foo", "0.0.1", :require => "bar"

で良いようです。バージョン指定をしない場合は第二引数を省略可。

posted by Png genki on Wed 25 May 2011 at 08:10

本日の午前中、比較的長期間当ブログにアクセス出来ない状態が発生しておりました。ご不便をおかけいたしましたことをお詫びいたします。

原因としては、Railsプロセスが暴走していたことが考えられます。 そのため、当blogで使用しているRailsのバージョンを 2.3.5から2.3.11に アップグレードいたしました。 またしばらく様子を見て対応を考えます。

よろしくお願いいたします。

posted by Png genki on Sun 15 May 2011 at 04:38

Rubygemsが新しすぎると、掲題のようなエラーが出る場合があります。 とりあえず回避するには

   1  # gem update --system 1.6.2

までダウングレードすればok

posted by Png genki on Sun 15 May 2011 at 04:19

Rubygems-1.8.2 にアップデートして色々と痛い目にあっています。 ちょっと時期尚早な気がしたので、一旦過去のバージョンに戻すことに。 以下のようにすればokです。

   1  # gem update --system 1.7.1

posted by Png genki on Sun 15 May 2011 at 04:05

Rubyスクリプト中から

   1  require "hoge"

されている hoge のソースを見てみたい時には、

   1  vim `gem which hoge`.rb

すると見つけてきてくれます。

posted by Png genki on Sun 8 May 2011 at 17:22

CDH3に同梱されているgen-rbファイル群は若干古いらしく、上手く動かないのでif/hadoopfs.thrift を使って手動で生成します。

   1  % thrift --gen rb /path/to/if/hadoopfs.thrift

これで gen-rb/ ディレクトリの中にRuby用インターフェイスが生成されます。

posted by Png genki on Sun 8 May 2011 at 10:47 with 1 comment

最初にhadoopを入れておく。

続いてhbase-0.90.2をダウンロード。

/usr/local/hbase あたりに展開し、/usr/local/hbase/bin にPATHを通す。

rootディレクトリの設定

conf/hbase-site.xmlを開いて <configuration>の中に以下を記述。

   1    <property>
   2      <name>hbase.rootdir</name>
   3      <value>hdfs://127.0.0.1/hbase</value>
   4    </property>
   5    <property>
   6      <name>hbase.cluster.distributed</name>
   7      <value>true</value>
   8    </property>
   9    <property>
  10      <name>hbase.zookeeper.quorum</name>
  11      <value>127.0.0.1</value>
  12    </property>
  13    <property>
  14      <name>hbase.zookeeper.property.clientPort</name>
  15      <value>2222</value>
  16    </property>

後は

   1  % start-hbase.sh

すると起動する。jps コマンドを実行すると以下のような感じになる。

   1  % jps
   2  21245 DataNode
   3  15141 JobTracker
   4  21615 HRegionServer
   5  21330 SecondaryNameNode
   6  22236 Jps
   7  21152 NameNode
   8  15224 TaskTracker
   9  22068 HQuorumPeer

posted by Png genki on Sat 7 May 2011 at 15:10

まずはhadoop-0.21.0をダウンロード

hadoop-envの設定

$HADOOP_HOME/conf/hadoop-env.sh を開いて JAVA_HOME/System/Library/Frameworks/JavaVM.framework/Versions/1.6/Homeあたりに設定。

$HADOOP_HOME/binにPATHを通して

   1  % start-dfs.sh
   2  % start-mapred.sh

でHadoopを起動。0.21.0ではstart-all.shはdeprecatedらしい。

停止は

   1  % stop-mapred.sh
   2  % stop-dfs.sh

注意点として、ssh で localhost にログインできるようにしておく。

"システム環境設定" -> "共有" から、"リモートログイン"にチェックでok

初期化・設定

$HADOOP_HOME/conf/hdfs-site.xmlに以下のような感じで記入

   1  <configuration>
   2    <property>
   3      <name>fs.default.name</name>
   4      <value>hdfs://127.0.0.1</value>
   5    </property>
   6    <property>
   7      <name>dfs.replication</name>
   8      <value>2</value>
   9    </property>
  10  </configuration>

hdfsを初期化。

   1  hdfs namenode -format

mapredの設定

$HADOOP_HOME/conf/mapred-site.xml<configuration>の中に以下を記入。

   1    <property>
   2      <name>mapred.job.tracker</name>
   3      <value>localhost:54311</value>
   4    </property>

あとは起動して http://localhost:50070 あたりを見ると状態を確認できます。

posted by Png genki on Sat 7 May 2011 at 10:25 with 1 comment
Contents
blogのシステム構成を更新しました
bundlerでrackupする方法のメモ
bundlerで:lib, :sourceを指定する場合のメモ
障害報告とバージョンアップのご連絡
*** has an invalid value for @cert_chain が出たら
Rubygemsをダウングレードする方法のメモ
requireされいているRubyスクリプトを見つけて編集する方法
thriftでHadoopのRuby用インターフェイスを生成する方法のメモ
hbase-0.90.2をMacOSにインストールするメモ
hadoop-0.21.0インストールメモ(Mac OS X)
Comments
瀧内元気: MacOS版は以下にあります * [genki/ViMouse](https://githu... '23-1
dsjf: https://gist.github.com/6bf1bf2c3cbb5eb6e7a7 これ... '13-1
瀧内元気: おお、チェックしてみます。thx! '11-12
overisland: Reeder for iPhone もこの UI を実装していますね。 '11-12
瀧内元気: その情報は見たのですが、以下のサイトによると、現在はまた必要になってるっぽいんですよね。 ... '11-12
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ