【Spark:0】Localで、試す。

はじめに

次は、Spark をインストールしてみる。
まずは、ローカルで動かす。

環境

物理サーバ 3台 (x86_64)

Centos 6.4 (6.2から、yum updateで、バージョンアップ)

Open JDK 6

CDH4.2.1

インストール

  • Spark は、ダウンロードして、展開するだけ。

インストールログ

[root@uldata14 ~]# curl -L -O http://spark-project.org/download/spark-0.8.0-incubating-bin-cdh4.tgz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  134M  100  134M    0     0   861k      0  0:02:39  0:02:39 --:--:--  955k

[root@uldata14 ~]# tar -zxvf spark-0.8.0-incubating-bin-cdh4.tgz 

テスト

以下の資料の、最初の例をテストしてみる。
Quick Start - Spark 1.5.2 Documentation

[root@uldata14 ~]# cd spark-0.8.0-incubating-bin-cdh4
[root@uldata14 spark-0.8.0-incubating-bin-cdh4]# ./spark-shell
Welcome to

.
.
.

Using Scala version 2.9.3 (OpenJDK 64-Bit Server VM, Java 1.6.0_24)
Initializing interpreter...
.
.
.
.
Spark context available as sc.
Type in expressions to have them evaluated.
Type :help for more information.

scala> 

shell が立ち上がった。
この時点で、4040ポートで、WebUIが見れる。


ほんでは、チュートリアルのまんま。

scala> val textFile = sc.textFile("README.md")
xx/xx/xx xx:xx:17 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
xx/xx/xx xx:xx:18 INFO storage.MemoryStore: ensureFreeSpace(122019) called with curMem=0, maxMem=339585269
xx/xx/xx xx:xx:18 INFO storage.MemoryStore: Block broadcast_0 stored as values to memory (estimated size 119.2 KB, free 323.7 MB)
textFile: org.apache.spark.rdd.RDD[String] = MappedRDD[1] at textFile at <console>:12

scala> textFile.count()
xx/xx/xx xx:xx:27 INFO mapred.FileInputFormat: Total input paths to process : 1
xx/xx/xx xx:xx:27 INFO spark.SparkContext: Starting job: count at <console>:15
xx/xx/xx xx:xx:27 INFO scheduler.DAGScheduler: Got job 0 (count at <console>:15) with 1 output partitions (allowLocal=false)
xx/xx/xx xx:xx:27 INFO scheduler.DAGScheduler: Final stage: Stage 0 (count at <console>:15)
xx/xx/xx xx:xx:27 INFO scheduler.DAGScheduler: Parents of final stage: List()
xx/xx/xx xx:xx:27 INFO scheduler.DAGScheduler: Missing parents: List()
xx/xx/xx xx:xx:27 INFO scheduler.DAGScheduler: Submitting Stage 0 (MappedRDD[1] at textFile at <console>:12), which has no missing parents
xx/xx/xx xx:xx:27 INFO scheduler.DAGScheduler: Submitting 1 missing tasks from Stage 0 (MappedRDD[1] at textFile at <console>:12)
xx/xx/xx xx:xx:27 INFO local.LocalTaskSetManager: Size of task 0 is 1586 bytes
xx/xx/xx xx:xx:27 INFO local.LocalScheduler: Running 0
xx/xx/xx xx:xx:27 INFO rdd.HadoopRDD: Input split: file:/root/spark-0.8.0-incubating-bin-cdh4/README.md:0+4215
xx/xx/xx xx:xx:27 INFO local.LocalScheduler: Finished 0
xx/xx/xx xx:xx:27 INFO local.LocalScheduler: Remove TaskSet 0.0 from pool 
xx/xx/xx xx:xx:27 INFO scheduler.DAGScheduler: Completed ResultTask(0, 0)
xx/xx/xx xx:xx:27 INFO scheduler.DAGScheduler: Stage 0 (count at <console>:15) finished in 0.077 s
xx/xx/xx xx:xx:27 INFO spark.SparkContext: Job finished: count at <console>:15, took 0.198733219 s
res0: Long = 111

scala> textFile.first()
xx/xx/xx xx:xx:52 INFO spark.SparkContext: Starting job: first at <console>:15
xx/xx/xx xx:xx:52 INFO scheduler.DAGScheduler: Got job 1 (first at <console>:15) with 1 output partitions (allowLocal=true)
xx/xx/xx xx:xx:52 INFO scheduler.DAGScheduler: Final stage: Stage 1 (first at <console>:15)
xx/xx/xx xx:xx:52 INFO scheduler.DAGScheduler: Parents of final stage: List()
xx/xx/xx xx:xx:52 INFO scheduler.DAGScheduler: Missing parents: List()
xx/xx/xx xx:xx:52 INFO scheduler.DAGScheduler: Computing the requested partition locally
xx/xx/xx xx:xx:52 INFO rdd.HadoopRDD: Input split: file:/root/spark-0.8.0-incubating-bin-cdh4/README.md:0+4215
xx/xx/xx xx:xx:52 INFO spark.SparkContext: Job finished: first at <console>:15, took 0.006843296 s
res1: String = # Apache Spark

こんな感じ。。

でも、この

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

が気になるので、HDFSにアクセスしてみる。

元データに、wikiを使ってみる。

curl -O http://dumps.wikimedia.org/jawiki/latest/jawiki-latest-pages-articles.xml.bz2
bunzip2 jawiki-latest-pages-articles.xml.bz2

7685681088バイト。

sudo -u hdfs hadoop fs -put /tmp/jawiki-latest-pages-articles.xml /jawiki-latest-pages-articles.xml
で、格納しておく。

scala> val textFile = sc.textFile("hdfs://10.29.254.14:8020/jawiki-latest-pages-articles.xml")
.
.
textFile: org.apache.spark.rdd.RDD[String] = MappedRDD[1] at textFile at <console>:12

scala> textFile.count()
.
.
.

res0: Long = 117807835

scala> textFile.first()
.
.
res1: String = <mediawiki xmlns="http://www.mediawiki.org/xml/export-0.8/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.8/ http://www.mediawiki.org/xml/export-0.8.xsd" version="0.8" xml:lang="ja">

一応、読めてるようだ。

Count中の、WebUIは、こんな感じ。



テスト追記

cacheの機能を試していなかったので、追加でテスト。

  • README.mdを使う
  • cache指定無しで、count
  • cache指定
  • 続けて、1回目 count
  • 続けて、2回目 count
scala> val textFile = sc.textFile("README.md")


scala> textFile.count()
.
.
res0: Long = 111

scala> textFile.cache()
res1: org.apache.spark.rdd.RDD[String] = MappedRDD[1] at textFile at <console>:12

scala> textFile.count()
.
.
xxxx INFO spark.CacheManager: Cache key is rdd_1_0
xxxx INFO spark.CacheManager: Computing partition org.apache.spark.rdd.HadoopPartition@691
xxxx INFO rdd.HadoopRDD: Input split: file:/root/spark-0.8.0-incubating-bin-cdh4/README.md:0+4215
xxxx INFO storage.MemoryStore: ensureFreeSpace(14288) called with curMem=122019, maxMem=339585269
xxxx INFO storage.MemoryStore: Block rdd_1_0 stored as values to memory (estimated size 14.0 KB, free 323.7 MB)
xxxx INFO storage.BlockManagerMasterActor$BlockManagerInfo: Added rdd_1_0 in memory on uldata14.hadoop.local:34076 (size: 14.0 KB, free: 323.8 MB)
xxxx INFO storage.BlockManagerMaster: Updated info of block rdd_1_0
.
res2: Long = 111

scala> textFile.count()
.
.
xxxx INFO spark.CacheManager: Cache key is rdd_1_0
xxxx INFO spark.CacheManager: Found partition in cache!
.
res3: Long = 111

結果

  • Cacheなし
    • CPU time: 46 ms
  • Cache あり
    • 1回目 CPU time: 19 ms
    • 2回目 CPU time: 2 ms

【mesos:3】mesosのクラスタ化

はじめに

殆ど、情報がなかった。多分、rpmでインストールしたせいと思う。
巷にあふれてる、mesos.confは、間違いなので、きをつけること。
尚、まだまだ、変わる気がする。。。

一応、動いていると思うけど、まだ、検証不足な状態。

環境

物理サーバ 3台 (x86_64)

Centos 6.4 (6.2から、yum updateで、バージョンアップ)

mesos_0.14

  • 1台 master + slave
  • 2台 slave

Open JDK 6

CDH4.2.1

  • 1台 namenode + second namenode + JobTracker + datanode
  • 2台 datanode
  • replica 1

Client 端末から、サーバの名前解決可能。*1

インストール

  1. master のIPを設定する。*2 (2台にコピー)
  2. slave のIP設定をする。(2台にコピー)
  3. slave,masterの環境設定をする。(2台にコピー)

インストールログ

vi /usr/local/var/mesos/deploy/masters
[root@uldata14 ~]# cat /usr/local/var/mesos/deploy/masters
10.29.254.14
vi /usr/local/var/mesos/deploy/slaves
[root@uldata14 ~]# cat /usr/local/var/mesos/deploy/slaves 
10.29.254.14
10.29.254.15
10.29.254.16
[root@uldata14 ~]# scp /usr/local/var/mesos/deploy/masters root@10.29.254.15:/usr/local/var/mesos/deploy/masters
masters                                                                                       100%   13     0.0KB/s   00:00    
[root@uldata14 ~]# scp /usr/local/var/mesos/deploy/slaves root@10.29.254.15:/usr/local/var/mesos/deploy/slaves
slaves                                                                                        100%   26     0.0KB/s   00:00    
[root@uldata14 ~]# scp /usr/local/var/mesos/deploy/masters root@10.29.254.16:/usr/local/var/mesos/deploy/masters
masters                                                                                       100%   13     0.0KB/s   00:00    
[root@uldata14 ~]# scp /usr/local/var/mesos/deploy/slaves root@10.29.254.16:/usr/local/var/mesos/deploy/slaves
slaves                                                                                        100%   26     0.0KB/s   00:00    
[root@uldata14 ~]# cp /usr/local/var/mesos/deploy/mesos-slave-env.sh.template /usr/local/var/mesos/deploy/mesos-slave-env.sh
[root@uldata14 ~]# cat /usr/local/var/mesos/deploy/mesos-slave-env.sh
# This file contains environment variables that are passed to mesos-slave.
# To get a description of all options run mesos-slave --help; any option
# supported as a command-line option is also supported as an environment
# variable.

# You must at least set MESOS_master.

# The mesos master URL to contact. Should be host:port for
# non-ZooKeeper based masters, otherwise a zk:// or file:// URL.
export MESOS_master=10.29.254.14:5050

export MESOS_hadoop_home=/usr/lib/hadoop

# Other options you're likely to want to set:
export MESOS_log_dir=/var/log/mesos
export MESOS_work_dir=/var/run/mesos
# export MESOS_isolation=cgroups

[root@uldata14 ~]# scp /usr/local/var/mesos/deploy/mesos-slave-env.sh root@10.29.254.15:/usr/local/var/mesos/deploy/mesos-slave-env.sh
[root@uldata14 ~]# scp /usr/local/var/mesos/deploy/mesos-slave-env.sh root@10.29.254.16:/usr/local/var/mesos/deploy/mesos-slave-env.sh
[root@uldata14 ~]# vi /usr/local/var/mesos/deploy/mesos-master-env.sh
[root@uldata14 ~]# cat /usr/local/var/mesos/deploy/mesos-master-env.sh# This file contains environment variables that are passed to mesos-master.
# To get a description of all options run mesos-master --help; any option
# supported as a command-line option is also supported as an environment
# variable.

# Some options you're likely to want to set:
export MESOS_log_dir=/var/log/mesos

試し

mesos cluster start

[root@uldata14 ~]# mesos-start-cluster.sh

[root@uldata14 ~]# ps aux | grep mesos-master
root     17594  0.0  0.0 1393800 13764 ?       Sl   Oct03   0:39 /usr/local/sbin/mesos-master
root     22204  0.0  0.0 107456   936 pts/1    S+   14:25   0:00 grep mesos-master
[root@uldata14 ~]# ps aux | grep mesos-slave
root     17633  0.0  0.0 1393632 11620 ?       Sl   Oct03   0:15 /usr/local/sbin/mesos-slave
root     22206  0.0  0.0 107456   940 pts/1    S+   14:25   0:00 grep mesos-slave

[root@uldata15 ~]# ps auxw | grep /usr/local/sbin/mesos-slave
root      9425  0.0  0.0 1393632 11648 ?       Sl   Oct03   0:13 /usr/local/sbin/mesos-slave
root     10715  0.0  0.0 107456   944 pts/0    S+   14:25   0:00 grep /usr/local/sbin/mesos-slave

[root@psdata16 ~]# ps aux | grep /usr/local/sbin/mesos-slave
root     10645  0.0  0.0 1393632 11636 ?       Sl   Oct03   0:13 /usr/local/sbin/mesos-slave
root     12168  0.0  0.0 107456   944 pts/0    S+   14:26   0:00 grep /usr/local/sbin/mesos-slave

Hadoop を、開始 *3

[root@uldata14 ~]# su - hadoop
[hadoop@uldata14 ~]$ /usr/lib/hadoop/bin/start-hadoop-pssh.sh 
/usr/lib/hadoop/bin/start-hadoop-pssh.sh: line 4: /usr/lib/hadoop/bin/hadoop-config.sh: そのようなファイルやディレクトリはありません
Starting Hadoop namenode:                                  [  OK  ]
starting namenode, logging to /var/log/hadoop-hdfs/hadoop-hdfs-namenode-uldata14.hadoop.local.out
Connection to uldata14.hadoop.local closed.
Starting Hadoop secondarynamenode:                         [  OK  ]
starting secondarynamenode, logging to /var/log/hadoop-hdfs/hadoop-hdfs-secondarynamenode-uldata14.hadoop.local.out
Connection to uldata14.hadoop.local closed.
Starting Hadoop jobtracker daemon (hadoop-jobtracker): starting jobtracker, logging to /var/log/hadoop-0.20-mapreduce/hadoop-hadoop-jobtracker-uldata14.hadoop.local.out
Connection to uldata14.hadoop.local closed.                [  OK  ]
[1] 14:35:13 [SUCCESS] uldata14.hadoop.local
Starting Hadoop datanode:[  OK  ]
starting datanode, logging to /var/log/hadoop-hdfs/hadoop-hdfs-datanode-uldata14.hadoop.local.out
[2] 14:35:13 [SUCCESS] uldata15.hadoop.local
Starting Hadoop datanode:[  OK  ]
starting datanode, logging to /var/log/hadoop-hdfs/hadoop-hdfs-datanode-uldata15.hadoop.local.out
[3] 14:35:13 [SUCCESS] psdata16.hadoop.local
Starting Hadoop datanode:[  OK  ]
starting datanode, logging to /var/log/hadoop-hdfs/hadoop-hdfs-datanode-psdata16.hadoop.local.out
[1] 14:35:15 [SUCCESS] uldata14.hadoop.local
Starting Hadoop tasktracker daemon (hadoop-tasktracker): starting tasktracker, logging to /var/log/hadoop-0.20-mapreduce/hadoop-hadoop-tasktracker-uldata14.hadoop.local.out
[2] 14:35:15 [SUCCESS] uldata15.hadoop.local
Starting Hadoop tasktracker daemon (hadoop-tasktracker): starting tasktracker, logging to /var/log/hadoop-0.20-mapreduce/hadoop-hadoop-tasktracker-uldata15.hadoop.local.out
[3] 14:35:15 [SUCCESS] psdata16.hadoop.local
Starting Hadoop tasktracker daemon (hadoop-tasktracker): starting tasktracker, logging to /var/log/hadoop-0.20-mapreduce/hadoop-hadoop-tasktracker-psdata16.hadoop.local.out


Hadoop のJob をスタート

[hadoop@uldata14 ~]$ hadoop jar /usr/lib/hadoop-0.20-mapreduce/hadoop-examples.jar pi 3 100

WebUI の説明は、ここ。Mesos - Cluster & Framework Mgmt

*1:hostsなり、dnsなりで、各サーバの名前解決可能にしておかないと、WebUIがうまく動かない。

*2:ZKは、使わない

*3:自前のスクリプト

【mesos:2】Hadoop(CDH4.2.1)のmesos化

はじめに


mesos/hadoop · GitHub

を参考に、Hadoop (CDH4.2.1)を、mesos対応にする。

環境

物理サーバ 3台 (x86_64)

Centos 6.4 (6.2から、yum updateで、バージョンアップ)

Open JDK 6

CDH4.2.1 CDH 4.2.1 Documentation Archive

  • 1台 namenode + second namenode + JobTracker + datanode
  • 2台 datanode
  • replica 1

インストール

  1. hadoop-mesos をBUILD する。*1
  2. BUILD した,hadoop-mesos-x.x.x.jar を、Hadoopのライブラリに3台ともコピーする。*2
  3. HDFS 上に、mesosを組み込んだjarを配置する。
  4. mapred-site.xml を、書き換える。
  5. /etc/init.d/hadoop-0.20-mapreduce-jobtracker に、環境変数を設定する。

インストールログ

BUILD hadoop-mesos-0.0.3.jar

[root@uldata14 ~]# cp hadoop-mesos-0.0.3.jar /usr/lib/hadoop-0.20-mapreduce/lib/
[root@uldata14 ~]#  tar zxf mr1-2.0.0-mr1-cdh4.2.1.tar.gz
[root@uldata14 ~]# cp hadoop-mesos-0.0.3.jar hadoop-2.0.0-mr1-cdh4.2.1/lib/
[root@uldata14 ~]# tar czf hadoop-2.0.0-mr1-cdh4.2.1.tar.gz hadoop-2.0.0-mr1-cdh4.2.1
[root@uldata14 ~]# cp hadoop-2.0.0-mr1-cdh4.2.1.tar.gz /tmp
[root@uldata14 ~]# su - hadoop
[hadoop@uldata14 ~]$ sudo -u hdfs hadoop fs -put /tmp/hadoop-2.0.0-mr1-cdh4.2.1.tar.gz /hadoop-2.0.0-mr1-cdh4.2.1.tar.gz
[root@uldata14 ~]# cat /etc/hadoop/conf/mapred-site.xml
<configuration>
  <property>
    <name>mapred.local.dir</name>
    <value>/var/lib/hadoop-mapreduce/cache/mapred/</value>
  </property>
<property>
  <name>mapred.job.tracker</name>
  <value>10.29.254.14:8021</value>
</property>
<property>
  <name>mapred.jobtracker.taskScheduler</name>
  <value>org.apache.hadoop.mapred.MesosScheduler</value>
</property>
<property>
  <name>mapred.mesos.taskScheduler</name>
  <value>org.apache.hadoop.mapred.JobQueueTaskScheduler</value>
</property>
<property>
  <name>mapred.mesos.master</name>
  <value>10.29.254.14:5050</value>
</property>
  <property>
    <name>mapred.mesos.executor.uri</name>
    <value>hdfs://10.29.254.14:8020/hadoop-2.0.0-mr1-cdh4.2.1.tar.gz</value>
    <description>
      This is the URI of the Hadoop on Mesos distribution.
      NOTE: You need to MANUALLY upload this yourself!
    </description>
  </property>
</configuration>
[root@uldata14 ~]# vi /etc/init.d/hadoop-0.20-mapreduce-jobtracker 

# mesos
export MESOS_NATIVE_LIBRARY=/usr/local/lib/libmesos.so

実験

[hadoop@uldata14 ~]$ hadoop jar /usr/lib/hadoop-0.20-mapreduce/hadoop-examples.jar pi 10 10
Number of Maps  = 10
Samples per Map = 10
Wrote input for Map #0
Wrote input for Map #1
Wrote input for Map #2
Wrote input for Map #3
Wrote input for Map #4
Wrote input for Map #5
Wrote input for Map #6
Wrote input for Map #7
Wrote input for Map #8
Wrote input for Map #9
Starting Job
.
.
.
Job Finished in 12.57 seconds
Estimated value of Pi is 3.20000000000000000000
2013-10-02 xx:xx:xx,821 INFO org.apache.hadoop.mapred.JobInProgress: job_201310021831_0004: nMaps=10 nReduces=1 max=-1
2013-10-02 xx:xx:xx,837 INFO org.apache.hadoop.mapred.MesosScheduler: Added job job_201310021831_0004
2013-10-02 xx:xx:xx,837 INFO org.apache.hadoop.mapred.JobTracker: Job job_201310021831_0004 added successfully for user 'hadoop' to queue 'default'

*1:2013/09/30 では、0.0.3

*2:Jobtrackerのあるやつだけでいいかも

【mesos:1】mesosの rpm インストール

はじめに

http://mesosphere.io

を、参考に、mesos本体のインストールを行う。

環境

物理サーバ 3台 (x86_64)
Centos 6.4 (6.2から、yum updateで、バージョンアップ)
Open JDK 6

インストール

  1. mesos rpmのダウンンロード
  2. mesos rom のインストール (3台)
  3. JDKのインストール (3台)
  4. ライブラリのリンク (3台)
  5. mesos-local の起動
インストールログ
[root@uldata14 yum.repos.d]# curl -L -O http://downloads.mesosphere.io/master/centos/6.4/mesos_0.14.0_x86_64.rpm
[root@uldata14 ~]# rpm -ivh mesos_0.14.0_x86_64.rpm

/etc/default/mesos
/etc/default/mesos-master
/etc/default/mesos-slave
/etc/init/mesos-master.conf
/etc/init/mesos-slave.conf
/etc/mesos/zk
/usr/bin/mesos-init-wrapper
/usr/local/bin/mesos-local
/usr/local/bin/mesos-log
/usr/local/bin/mesos-mesos
/usr/local/include/mesos/executor.hpp
/usr/local/include/mesos/mesos.hpp
/usr/local/include/mesos/mesos.pb.h
/usr/local/include/mesos/mesos.proto
/usr/local/include/mesos/resources.hpp
/usr/local/include/mesos/scheduler.hpp
/usr/local/include/mesos/values.hpp
/usr/local/lib/libmesos-0.14.0.so
/usr/local/lib/libmesos.la
/usr/local/lib/libmesos.so
/usr/local/libexec/mesos/mesos-executor
/usr/local/libexec/mesos/mesos-launcher
/usr/local/sbin/mesos-daemon.sh
/usr/local/sbin/mesos-master
/usr/local/sbin/mesos-slave
/usr/local/sbin/mesos-start-cluster.sh
/usr/local/sbin/mesos-start-masters.sh
/usr/local/sbin/mesos-start-slaves.sh
/usr/local/sbin/mesos-stop-cluster.sh
/usr/local/sbin/mesos-stop-masters.sh
/usr/local/sbin/mesos-stop-slaves.sh
/usr/local/share/mesos/webui/master/static/browse.html
/usr/local/share/mesos/webui/master/static/css/bootstrap-2.3.2.min.css
/usr/local/share/mesos/webui/master/static/css/bootstrap-responsive-2.3.2.min.css
/usr/local/share/mesos/webui/master/static/css/graph.css
/usr/local/share/mesos/webui/master/static/css/mesos.css
/usr/local/share/mesos/webui/master/static/dashboard.html
/usr/local/share/mesos/webui/master/static/framework.html
/usr/local/share/mesos/webui/master/static/frameworks.html
/usr/local/share/mesos/webui/master/static/home.html
/usr/local/share/mesos/webui/master/static/ico/favicon.ico
/usr/local/share/mesos/webui/master/static/img/glyphicons-halflings-white.png
/usr/local/share/mesos/webui/master/static/img/glyphicons-halflings.png
/usr/local/share/mesos/webui/master/static/img/loading.gif
/usr/local/share/mesos/webui/master/static/index.html
/usr/local/share/mesos/webui/master/static/js/angular-1.0.7.js
/usr/local/share/mesos/webui/master/static/js/angular-1.0.7.min.js
/usr/local/share/mesos/webui/master/static/js/app.js
/usr/local/share/mesos/webui/master/static/js/controllers.js
/usr/local/share/mesos/webui/master/static/js/cubism.v1.js
/usr/local/share/mesos/webui/master/static/js/cubism.v1.min.js
/usr/local/share/mesos/webui/master/static/js/d3.v2.js
/usr/local/share/mesos/webui/master/static/js/d3.v2.min.js
/usr/local/share/mesos/webui/master/static/js/dashboard.js
/usr/local/share/mesos/webui/master/static/js/jquery-1.7.1.js
/usr/local/share/mesos/webui/master/static/js/jquery-1.7.1.min.js
/usr/local/share/mesos/webui/master/static/js/jquery.pailer.js
/usr/local/share/mesos/webui/master/static/js/relative-date.js
/usr/local/share/mesos/webui/master/static/js/ui-bootstrap-tpls-0.4.0.js
/usr/local/share/mesos/webui/master/static/js/ui-bootstrap-tpls-0.4.0.min.js
/usr/local/share/mesos/webui/master/static/js/underscore-1.4.3.js
/usr/local/share/mesos/webui/master/static/js/underscore-1.4.3.min.js
/usr/local/share/mesos/webui/master/static/js/zeroclipboard-1.1.7.js
/usr/local/share/mesos/webui/master/static/js/zeroclipboard-1.1.7.min.js
/usr/local/share/mesos/webui/master/static/obj/zeroclipboard-1.1.7.swf
/usr/local/share/mesos/webui/master/static/pailer.html
/usr/local/share/mesos/webui/master/static/slave.html
/usr/local/share/mesos/webui/master/static/slave_executor.html
/usr/local/share/mesos/webui/master/static/slave_framework.html
/usr/local/share/mesos/webui/master/static/slaves.html
/usr/local/var/mesos/deploy/mesos-deploy-env.sh.template
/usr/local/var/mesos/deploy/mesos-master-env.sh.template
/usr/local/var/mesos/deploy/mesos-slave-env.sh.template
/usr/share/doc/mesos/CHANGELOG
/usr/share/java/mesos-0.14.0.jar
/var/log/mesos
[root@uldata14 ~]# yum install java-1.6.0-openjdk.x86_64
[root@uldata14 lib64]# vi /etc/ld.so.conf.d/java-x86_64.conf
[root@uldata14 lib64]# cat /etc/ld.so.conf.d/java-x86_64.conf
/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/server

[root@uldata14 lib64]# ldconfig
[root@uldata14 ~]# mesos-local 

起動確認画面

琉球大学のオープンキャンパス 弾丸ツアー

色々、わけあって、琉球大学オープンキャンパスへいってきた。
金曜日の最終便で、羽田から那覇につき、土曜日、一日キャンパスで、日曜日に帰る弾丸だった。

泊まったホテルは、ロワジール スパタワー 那覇<公式>|沖縄県那覇市唯一の天然温泉とスパトリートメントに癒されるホテルここ。

朝の景色は、こんな感じ。


朝、9時半から受付という事で、がんばって、大学へ親子三人で行くはめになる。

なんとか、間に合ったのだが、ともかく、大学が広い。
構内に、ジャングルとダムがあるという。。。






ついた所から、行く学部のあるところが遠かった。
ガイドの学生さんに、道を教わって歩いていると、
「むこうに用事ができましたので、一緒にいきましょう」と、さきほどの男子学生さん。
ひとしきり、話をしながら、歩いていきました。


橋をわたるんですけど、こんな風景。。。





県外からきた、学生さんだったので、アパートの話などききながら目的地へ。
「楽しい、キャンパスライフですよ!」


うーん、何十年ぶりかにきいたよ、キャンパスライフ。。。

「あのこ、うちらの為にきたのよ、ほんとは。ほら、走って帰ってくわ」と嫁。。


そのあとは、息子は、学部の説明会。
こちらは、することもなく、ぶらぶらと。。
昼から、親向けの説明があるので、そこに参加。


すると、息子から、嫁へ「終わった、楽しかった」のメール。
やれやれ、と、思っていると、嫁が「ヒッ」と。。。


「学部、間違えた」との、メール。。。


「メッセージの順番違わない?」と、憤る嫁と、そそくさと、退出し、息子と合流。
午後に聞けるから、いいやとの、判断だったらしいが。。。前途多難。。 (´・ω・`)


することはないかと、思っていると、寮の中を案内してくれるとの事。


で、バスをまつ。
なにやら、バスがきたのだが、どうも違うバスのようだと、思っていると
「こんな暑いのに待ってるの辛いですよね?独断で、このバスを寮行きにしちゃいます」と!


うーん、どの子も、基本的に明るくて、目の間にシワの寄ってない、昔の日本人みたいだなぁ。。


三段階の、グレードの寮を案内してもらう。

トイレ、シャワー、キッチン無し。
シャワー、キッチン無し。
全部あり。

一番上は、こんな感じで、ほぼ、アパート。





嫁いわく「あたしが、立ち入れないから、寮はないな」


まぁ、ドロドロになるだろーけどねぇ。。


沢山、歩いて、学生さんとも話をして、いい気持ちな時間を過ごせた。

なんにしろ、良い経験をさせていただきました。
ありがとうございました。

DWHは、ガネーシャの夢をみるのか

引用
P249
....
期待して何がいけないのだろう。未来は今よりよくなるかもしれない。そういうささやかな「希望」があるから僕たちは毎日を生きていけるんじゃないだろうか。期待は希望なんじゃないか。
「せやから迷ってんねん」
ガネーシャは言った。
「自分の言うとおりや。そうやって人は生きていくねん。未来に期待して生きていくねん。期待がなくなったら、絶望してしまうからなぁ」
そう言ったあとガネーシャは、ゆっくりと口を動かした。重い言葉だった。








「けどなぁ......期待しているかぎり、現実を変える力は持てへんのやで」

.......

Data Ware House のようなものから、はやりの、Big Dataまで。
それを、用意すれば、何かが解決するという、期待をもっているだけで、人は生きていけるけれども...


現実を変えるのは、変わった事実の積み重ねでしかないのは、なんでも、同じだからなぁ。。


目に映るもの、全てが、視えルワケではない。。。

オプション機能 (属性:エンジニア , 属性:マネージャ)

全知全能でない限り、ひとには、かならず、弱点があり*1
補う事で、なんとか、生きていられる。


最近じゃ、正義のヒーロも、基本の能力を上げる特訓パターンをすてて
なにやら色んなオプションを身につけて、悪の組織と闘ってるらしい。


しかし、オプションをガンガン身に付けていくとなると、課金がたまらない。。
しかし、オプションをガンガン身に付けていくのであれば、従来の弱点克服とかわらんのではないかと?


そんなあなたに、仲間と一緒に冒険へ
近頃の正義のヒーロも、そこんところの限界にぶちあたり、そう!!
パーティーを組む方法で、困難を乗り越えているではないか?!

そして、この場合、もちろん、各々の抜けた所がはっきりしている方が
面白い 組み易いし、力も、発揮し易い。


エンジニア。
マネージャ。
セールス。


そういうものも、そんな、「オプション機能」の話と考えれば、
お互いの自尊心が傷つかなくてよいのではないだろうか?
いや、空気読まないおまえが言うなってのは、このさい、おいておこう。


まぁ、そりゃ、空も飛べる(004)加速装置つき(009)が、いいんじゃないと
子供の頃、思ったときもあるけれども、それじゃ、課金出来ない
お腹が減りすぎる。。


どっちかちいうと、木・火・土・金・水 の五行みたいなイメージかなぁ。


必要なオプションがついているかいないかは、見つけ易いんじゃないのだろうか。

お互いにね。

*1:ギリシャ神話だと、神にも、弱点があるくらいだ