/var/log/hadoop.log

logs about distributed processing frameworks

Support Docker containers in YARN

Support Docker containers in YARN という JIRA が YARN に登録された.つまるところ,LXC を cgroups 経由で起動する代わりに Docker 経由で起動するというものに見える.Container 起動側の設定を全て合わせるのは大変だから,そこをDocker にしておくのは運用が楽になる1つの手段かもしれない.しかし,実装コストが高そうな気がしている.

The Design and Implementation of Modern Column-Oriented Database Systems

HadoopDB で有名な Daniel Adabi 先生 による列指向DBに関する資料 The Design and Implementation of Modern Column-Oriented Database Systems を @maropu 先生経由で知った.

目次を見ただけでも,C-Store,MonetDB/VectorWise と有名どころの話が載っているようで,貴重な資料に見える.

maven + Java 7 on Mac が classes.jar を見つけられずコンパイルにこける場合の対処法

以下に示されている workaround が有効.

sudo mkdir `/usr/libexec/java_home -v 1.7`/Classes 
sudo ln -s `/usr/libexec/java_home -v 1.7`/lib/tools.jar `/usr/libexec/java_home -v 1.7`/Classes/classes.jar

https://jira.codehaus.org/browse/MJSPC-53

HadoopJDK 7 on Macコンパイルできなかった問題を無事に解決できた. コンパイル失敗時のログは以下の通り:

Exception in thread "main" java.lang.AssertionError: Missing tools.jar at: /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/lib/classes.jar. Expression: file.exists()
at org.codehaus.groovy.runtime.InvokerHelper.assertFailed(InvokerHelper.java:395)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.assertFailed(ScriptBytecodeAdapter.java:683)
at org.codehaus.mojo.jspc.CompilationMojoSupport.findToolsJar(CompilationMojoSupport.groovy:371)
at org.codehaus.mojo.jspc.CompilationMojoSupport.this$4$findToolsJar(CompilationMojoSupport.groovy)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:230)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:912)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:78)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrent0(ScriptBytecodeAdapter.java:112)
at org.codehaus.mojo.jspc.CompilationMojoSupport.execute(CompilationMojoSupport.groovy:318)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)

YARN の LocalResources について

Hortonworks の Vinod さんが LocalResource という YARN のコンポーネントに関する記事を書いていたので,備忘録を書いておく.LocalResouce は,ひとことでいうと起動のために必要なファイルを入れておくための NodeManager の入れ物で,DistirubtedCache + Jar など起動に必要なファイルを入れておく場所のように見える.もしちゃんと調査したら後で追記する.

http://hortonworks.com/blog/management-of-application-dependencies-in-yarn/

#pyfes 2013.7 で発表した Spark/Shark のスライドをアップロードしました

現段階だと少ない気がする Apache Spark の日本語資料を公開した*1.概要なので,技術的詳細について知りたい方はスライド中の参考文献を読むと良い.なお, Apache Spark は Cloudera 社が CDH5 でサポートを始める(!)というプレスリリースがあったばかりである.

*1:id:shiumachi 先生に急かされなかったら公開し忘れていたと思う...