Support Docker containers in YARN
Support Docker containers in YARN という JIRA が YARN に登録された.つまるところ,LXC を cgroups 経由で起動する代わりに Docker 経由で起動するというものに見える.Container 起動側の設定を全て合わせるのは大変だから,そこをDocker にしておくのは運用が楽になる1つの手段かもしれない.しかし,実装コストが高そうな気がしている.
Big Data Benchmark 2014/2 バージョン
amplab の Big Data Benchmark が更新されていたので,要チェック.クエリが偏っている気もするが,Impala と Shark がかなり高速.TPC-DS などもベンチマーク結果に入るともっと客観的なベンチマーク結果になりそう.
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
Hadoop が JDK 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/