cloud datastoreを使う前にSolrのおさらいをするためにMySQLとSolrを立てる(まずはMySQL)
Solrはバリバリ使ってます。 同じ職場で仕事してる人が。
Joinができないと評判のnoSQLですが、 Solrはある程度まではできます。 というのを説明するのが面倒になって、打ち合わせでスルーしました。ごめんなさい。
MySQLとSolrの立てながら、だらだら説明して行きます。 CentOSだとインストールを面倒なので、Debian7でgcp立てます。 よくわかってないけど、backportsのを立てます。
apt-get install mysql-server apt-get install openjdk-7-jre
MySQLは勝手に立ち上がったので Solrを入れます。
wget http://ftp.meisei-u.ac.jp/mirror/apache/dist/lucene/solr/4.9.0/solr-4.9.0.tgz tar zxf solr-4.9.0.tgz cd solr-4.9.0/example java -jar start.jar
MySQLのテストデータはこれ
yumをrootユーザだけでさせることにすればあとは楽(pyenv使うとき)
このページがすごくわかりやすいので自分用のメモだけ http://qiita.com/yuta_h3/items/2988c4d0811bf8c344c0
git clone git://github.com/yyuu/pyenv.git ~/.pyenv export PYENV_ROOT="${HOME}/.pyenv" echo 'export PYENV_ROOT="${HOME}/.pyenv" if [ -d "${PYENV_ROOT}" ]; then export PATH=${PYENV_ROOT}/bin:$PATH eval "$(pyenv init -)" fi ' >> .bashrc source ~/.bashrc cd ~/.pyenv/plugins git clone git://github.com/yyuu/pyenv-virtualenv.git pyenv install --list pyenv install 2.7.8 pyenv global 2.7.8
これでやっとpythonの準備ができた。 cloud datastore を操作するまでどこまで必要なんだろ。
pythonの新しいのを入れるためにgitをバージョンアップする(なくてもいいっちゃいい)
CentOS6.X でとうか、python のもっともイマイチな部分、2.Xと3.Xがあるけど、 もっぱら2.7が主流で、3.Xが使えるようになるメドが付かないところで なにかしらで両方のバージョンを使えるようにする方法を持つ必要があります。
なんでもかんでも新しいバージョンを入れた方がいい主義なので (ただし、.0とか悪い噂のあるものはさける) 2.7を使うのはなんだかなと思います。 CentOS6は2.6ですが。
というわけで、現地点で一番設定が簡単そうなので pyenv を使います。
以下の記事がすべてです。 http://qiita.com/yuta_h3/items/2988c4d0811bf8c344c0
何も考えずgitコマンドを打ったら、入ってなかった。 ああ、CentOS6 のgitはバージョンが低くて いろいろと大変だったのを思い出した。 このへんで Debian に乗り換えようと思ったけど、 もうちょっと CentOS6 で言ってみます。
まずは、git最新版を入れるためにgitをインストール
sudo yum install gcc gcc-c++ make git openssl-devel bzip2-devel \ zlib-devel readline-devel sqlite-devel \ curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker
一番下の行のはgitをmakeするときに必要なやつです。
gitの新しいのを取得するためにgitをつかってgitをcloneする
git clone https://github.com/git/git cd git make -j8 prefix=/usr/local all sudo make prefix=/usr/local install
(最初はj8オプションをつけてなかったけど、4CPUのvmに変更して並列度8にした、いがいと時間がかかったので)
gitを消す
sudo yum remove git
パスを読み込むとかって書こうと思ったけど OSにログインし直す、でいいと思う
長くなったのでpyenvは次回
Bigtableをさわりたいけどネットワークとかから
Google cloud platform を gcp と略すと治験のホームページばかりがひっかかります。
AWSだとイッパツなのに。
とりあえず、てきとうにポチポチ押して ネットワークとサーバを作ります。 まだインフラエンジニア、プライベートネットワークを作って そこにグローバルIPを持たないサーバをぽこぽこ置いて行きます。
プライベートなネットワークは自由に作れるみたいです。 (某クラウドは /16 からでしか作れなかった) ただし、初期状態だと5つまでの制限がありました。 連絡すればはずせるみたいですが、今のところ必要ありません。
まず、 instance-1 を 10.1.0.0/16 のネットワーク上に作成 External(グローバル)IP付き instance-5 を 10.1.0.0/16 のネットワーク上に作成 External(グローバル)IPなし というように作って
プライベートネットワークのファイアウォールルールに 自宅のグローバルIPアドレスを tcp:22 で許可 だけでいいかとおもったら 自分の中同士の許可も必要だったので 10.1.0.0/16 tcp:22 も追加しました。 (このへんの理屈がよくわからない)
ごにょごにょして作成した鍵をinstance-1にアップロード
gcutil --service_version="v1" --project="プロジェクト名" push --zone="us-central1-a" "instance-1" .ssh/google_compute_engine .ssh/
instance-1 に一回ログインしてから instance-5にログイン
ssh -i .ssh/google_compute_engine instance-5
これで完全に外部から閉じた instance-5 に入ったわけだが 出口がないのでnat立てるなりして、外部とアクセスできるようにする必要があるみたい (このへんは他のcloudと同じか) ただ冗長構成を取るにしても 某クラウドとは違って、同一プライベート内に別のリージョンを持てるので keepalivedなどを使って、わりと気楽にできそうです。 (そのうち試す)
google cloud platform のクーポンをゲットしたからさわりはじめました
某所の勉強会で、gcpのクーポンをいただきました。
いっやっほーい
なんとなく、値段が高そう、Google様のプラットフォームなんて恐れ多い
などいろいろ考えて敬遠していましたが、けっこうな容量のクーポンなので
当分は遊びつづけることができそうです。
まず、プロジェクトを作ったんですが
プロジェクト名を適当につけて、
勝手に生成されたプロジェクトIDを見て
そのままポチってしまいまいした。
そして、クーポンをそれに割り当てました。
プロジェクト名を適当につけて、
勝手に生成されたプロジェクトIDを見て
そのままポチってしまいまいした。
どういうことかというと、プロジェクトIDは
プロジェクト名と同様に編集できたのです。
いいんです、いただいたクーポンは開発とテスト用(自分の中で)です。
引き続き、いじり続けます。