Bash 改良版コード
1 2 3 4 5 6 7 8 9 10 |
#!/usr/bin/bash n=$(($0 + 1)) cp $0 $n chmod +x $n if test $n -ne 100 ; then cp $0 $n bash $n else ls | sort -n | perl -pe "s/\n/ /g"| perl -pe "s/100 /100\n/" fi |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// // #include <stdio.h> int main(int argc,char *argv[]){ int i; for(i=0;i<7;i++){ printf("hello world\n"); } return 0; } // // |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
// // #include <stdio.h> int main(int argc,char *argv[]){ int i; for(i=0;i>7;i++){ printf("hello world\n"); } return 0; } // // |
すこし本格的に 機械学習をやろうとして 3か月ぐらいまともにプログラムが組めてない
サーバーを立てて Hadoopをどうたらこうたら
クラスタ林gで100台ぐらいのPCを1分借りたいだけなんだが Amazon EMRなどを使えばいいというはなしはおいておくと
やれECRだECSだと様々な単語が飛び出し
やれしらべたりなんだりで
完全ローカルな環境にレジストリ立てるのに外部に公開したWebサーバが必要な場合があるなど
めちゃくちゃ感があるので(Docker HUBなどをつかうのもためした)
環境構築するだけで 初見だとWebサーバの構築などに慣れていて 3か月くらいかかるなと
クラスタリング設定したり
いろんな他のソフトの設定をしたり かなりたいへんで
ようやくJupyter notebookにもどって
機械学習のスクリプトをためせるかなみたいな。
EMRでやめときゃよかった まぁ というわけでこの辺はまだドキュメントも少ないので
結構環境構築に慣れていても 3か月は欲しい
Bigdata化しない機械学習の環境なら1人月もあればいい
Amazon純正のECRがいまいち難しいので
場合によっては SSL環境下のDocker Registryは自分で建てたほうが良いかもしれない
問題は Docker Registry が PULL専用の場合 CloundFrontで大規模配信で1024コンテナとかを短時間で配信しきれるかどうか
調査しておかなければいけないことは根深い
(さすがにコンテナを1024個デプロイするとなるとCloundFront級でないときつい 何が使えるか調査)
実験して確認するから 肝心の機械学習のコーディングできやしねぇ
いきおいDocker Registryをローカルに抱えたAMIでスタートしてぇ
さすがに1000台は客がついてから実験に入るとしても
100台ぐらいはデモンストレーションできないとだめだろうなと(ま少ない台数でクラスタリングでBigdataするアルゴリズムもあるけどそれはそれ)
調査する内容が多い(ダメだというにも調査は必要なために 良いプラン ダメなプランわける調査が長い)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# # (Only Amazon Linux) #Add epel (sudo) python -m pip install jupyterLab sudo yum install npm sudo yum install libzmq-devel sudo npm install -g ijavascript #-g=global # # |
How to Install Pip on Ubuntu 18.04 | Linuxize
1 2 3 4 5 6 |
# # sudo apt update sudo apt install python3-pip # # |
学習 シーズン1
基礎理論 学習 1か月程度
機械学習 シーズン2
環境調査
Pythonや関連モジュールコンパイル
Centos/Redhat調査
Ubuntu(軽く)
Hadoop/HDFS 簡易調査
機械学習 シーズン3 11/09-
Docker.Cluster Hadoop/HDFS
Setup yum repository
get CDH5 repository pack
Installing CDH 5 with MRv1 on a Single Linux Host in Pseudo-distributed mode | 5.5.x | Cloudera Documentation
1 2 3 4 5 6 |
# # sudo rpm -ivh cloudera-cdh-5-0.x86_64.rpm sudo yum update # # |
Install and setup JDK(Java)
1 2 3 4 5 6 |
# # sudo yum install java-1.8.0-openjdk-devel export JAVA_HOME=/usr/lib/jvm/jre-1.8.0/ # # |
Open Firewall in Intranet
Open hadoop port in VPC
Hadoopはデフォルトでは認証が弱いので
最初はVPCのみに公開しましょう。
公開設定は気を付けましょう。
setup Hadoop (master:HDFS namenode)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# # sudo yum install hadoop cat /etc/hadoop/conf/core-site.xml hostname sudo yum install hadoop-conf-pseudo # 疑似分散モード Hadoop installation in pseudo-distributed mode CDH5 #完全分散モード Fully-Distributed mode #スタンドアロンモードStandalone mode sudo -u hdfs hadoop namenode -format sudo service hadoop-hdfs-namenode start sudo -u hdfs hadoop fs -ls / sudo -u hdfs hadoop fs -mkdir /tmp sudo -u hdfs hadoop fs -ls / # # |
1 2 3 4 5 6 7 8 |
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:8020</value> </property> </configuration> |
setup Hadoop (slave)
1 2 3 4 5 |
# # # # |
setup Hadoop (client)
1 2 3 4 5 |
# # # # |
Docker
setup Hadoop (Docker master)
1 2 3 4 5 |
# # # # |
setup Hadoop (Docker slave)
1 2 3 4 5 |
# # # # |
CDH (Cloudera Distribution of Hadoop)
Installing Hadoop | Deploying Hadoop | InformIT
2Docker Hadoop slave on EC2 Hadoop master
Dockerfile
whitebox
1 2 3 4 5 6 |
# # FROM scratch ENTRYPOINT [] # # |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# # docker build . # [create your image] # ex. docker create [your-image-id] /bin/bash-static-link //entry point by command line docker start [container-id] docker attach [container-id] # # |
MapReduceアルゴリズムを調べていて
Docker Cluster技術という単語を聞いて
技術としてすごいなと思う。
Amazon 系 Docker
Amazon ECR における Docker の基本 – Amazon ECR
料金 – Amazon ECR | AWS
ストレージコストは 1 か月あたり GB 単位で 0.10USD(例)
1 2 3 4 5 |
# # aws ecr create-repository --repository-name hello-repository --region region # # |
※執筆中