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は

プロジェクト名と同様に編集できたのです。

いいんです、いただいたクーポンは開発とテスト用(自分の中で)です。

引き続き、いじり続けます。