Hadoopインストール
今更ですが再インストールしたので作業ログを残します。
JDKインストール
# rpm -ivh jdk-7u4-linux-x64.rpm
Java切り替え設定
# alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_04/bin/java 17004 # alternatives --config java 3 プログラムがあり 'java' を提供します。 選択 コマンド ----------------------------------------------- + 1 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java 2 /usr/lib/jvm/jre-1.4.2-gcj/bin/java * 3 /usr/java/jdk1.7.0_04/bin/java Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:3 # java -version java version "1.7.0_04" Java(TM) SE Runtime Environment (build 1.7.0_04-b20) Java HotSpot(TM) 64-Bit Server VM (build 23.0-b21, mixed mode) # vi .bashrc export JAVA_HOME=/usr/java/latest
ドキュメントはこの辺
https://ccp.cloudera.com/display/DOC/Documentation//
# wget http://archive.cloudera.com/redhat/cdh/cloudera-cdh3.repo # mv cloudera-cdh3.repo /etc/yum.repos.d/ # yum update yum cloudera-cdh3 | 951 B 00:00 cloudera-cdh3/primary | 22 kB 00:00 cloudera-cdh3 74/74 Skipping security plugin, no data Setting up Update Process No Packages marked for Update # yum search hadoop
インストール
# yum -y install hadoop-0.20-conf-pseudo hadoop-hive hadoop-pig hadoop-hbase # vi .bashrc export HADOOP_HOME=/usr/lib/hadoop export PATH=$PATH:HADOOP_HOME/bin # source .bashrc # hadoop
起動
# for service in /etc/init.d/hadoop-0.20-*; do $service start; done
停止
# for service in /etc/init.d/hadoop-0.20-*; do $service stop; done
Gradlewのproxy
開発者の環境にGradleをインスコさせるのが面倒だったので以下を参考にGradle Wrapperを入れてみました。
http://d.hatena.ne.jp/bluepapa32/20110308/1299602195
自環境はGradle入れてgradle.batの先頭でJAVA_OPTのProxy設定してたので問題なかったのですが開発者環境では駄目でした。
以下の設定をしてどうにか使えるようになりました。
gradle-wrapper.properties
systemProp.proxySet=true systemProp.http.proxyHost=hoge.proxy systemProp.http.proxyPort=9080
つかProxy環境慣れていないせいもありますがなにかとめんどい。。。
7/30 追記
何も設定していないマシンで試したら駄目だった・・・・
ここのJAVA_OPTSをGradlew.batの先頭に追加して解決しました。
http://d.hatena.ne.jp/nobeans/20090413/1239607977
weld 1.1.0 examples
以下を参考にweldのサンプルを実行する
CDIプログラミングの基本(その1) | Think IT(シンクイット)
ant実行でエラーが発生
[java] [INFO] Scanning for projects... [java] Downloading: http://maven.glassfish.org/content/groups/public//org/jboss/weld/weld-core-parent/1.1.0.Final/weld-core-parent-1.1.0.Final.pom [java] Downloading: http://repo1.maven.org/maven2/org/jboss/weld/weld-core-parent/1.1.0.Final/weld-core-parent-1.1.0.Final.pom [java] [INFO] ------------------------------------------------------------------------ [java] [ERROR] FATAL ERROR [java] [INFO] ------------------------------------------------------------------------ [java] [INFO] Error building POM (may not be this project's POM).
URL先を見るとpomが存在しない。
以下を参考にJbossのリポジトリを追加すると実行可能になる
http://seamframework.org/Community/Weld110FinalExamplesDeployment
Groovyで正規表現
クソ填ったのでブログ書きます。
以下を参考にGroovyの正規表現のお勉強。
http://d.hatena.ne.jp/uehaj/20070823/120097040
ヒットした文字を連結してみる
def appender = { buf = new StringBuffer() (it =~ /a([^ac]*)c/) each { println it buf << it[1] } return buf.toString() } println appender("ahcaocamcauc")
結果
[ahc, h] [aoc, o] [amc, m] [auc, u] homu
YES!!すばらしい!!期待した値が取得できる。
Javaと違い短く書けてこれは楽だわー。
Groovy素敵すぎる。
んじゃeach内のデバックログを消す。
def appender = { buf = new StringBuffer() (it =~ /a([^ac]*)c/) each { // println it buf << it[1] } return buf.toString() } println appender("ahcaocamcauc")
結果
groovy.lang.MissingMethodException: No signature of method: ConsoleScript70.getAt() is applicable for argument types: (java.lang.Integer) values: [1] Possible solutions: getAt(java.lang.String), putAt(java.lang.String, java.lang.Object), wait(), getClass(), wait(long), wait(long, int) at ConsoleScript70$_run_closure1_closure2.doCall(ConsoleScript70:5) at ConsoleScript70$_run_closure1.doCall(ConsoleScript70:3) at ConsoleScript70.run(ConsoleScript70:11)
はい?
println無いだけでっすよ!!
それで例外????
何コラ!たこコラ!!Groovyめ!!
おちつけ俺。
Groovy始めて数日だしeachの中の書き方悪のかな?
って事でとりあえず基本。
def appender = { list = [['ahc', 'h'], ['aoc', 'o'], ['amc', 'm'], ['auc', 'u']] buf = new StringBuffer() list.each { buf << it[1] } return buf.toString() } println appender("ahcaocamcauc")
当然結果は期待した値。
じーっとコードを見つめてみる。。。。
あれ?例外出る方はスペースの後にeach書いてるわ。
んじゃ試しに
list each { buf << it[1] }
おっと!同じ例外が発生。
じゃprintln様を入れる
list each { println it buf << it[1] }
期待値ゲット!!
ってことはだ
ドットを付けてみる
(it =~ /a([^ac]*)c/).each { buf << it[1] }
結果
homu
とりあえず解決!!
理由は・・・・後で調べよう・・・
追記:
Groovyは1.8.0です。