[ubuntu server][11.10][MongoDb] install
serverにインスコ
$ sudo apt-get install mongodb パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の特別パッケージがインストールされます: binutils cpp-4.4 g++-4.4 gcc-4.4 gcc-4.4-base libboost-dev libboost-filesystem1.46.1 libboost-program-options1.46.1 libboost-system1.46.1 libboost-thread1.46.1 libboost1.46-dev libc-dev-bin libc6-dev libgomp1 libmozjs185-1.0 libmpfr4 libnspr4 libpcrecpp0 libstdc++6-4.4-dev linux-libc-dev manpages-dev mongodb-clients mongodb-dev mongodb-server 提案パッケージ: binutils-doc gcc-4.4-locales g++-4.4-multilib gcc-4.4-doc libstdc++6-4.4-dbg gcc-4.4-multilib libmudflap0-4.4-dev libgcc1-dbg libgomp1-dbg libmudflap0-dbg libcloog-ppl0 libppl-c2 libppl7 libboost1.46-doc libboost-date-time1.46-dev libboost-filesystem1.46-dev libboost-graph1.46-dev libboost-iostreams1.46-dev libboost-math1.46-dev libboost-program-options1.46-dev libboost-python1.46-dev libboost-random1.46-dev libboost-regex1.46-dev libboost-serialization1.46-dev libboost-signals1.46-dev libboost-system1.46-dev libboost-test1.46-dev libboost-thread1.46-dev libboost-wave1.46-dev doxygen docbook-xml docbook-xsl default-jdk fop glibc-doc libstdc++6-4.4-doc 推奨パッケージ: gcc c-compiler 以下のパッケージが新たにインストールされます: binutils cpp-4.4 g++-4.4 gcc-4.4 gcc-4.4-base libboost-dev libboost-filesystem1.46.1 libboost-program-options1.46.1 libboost-system1.46.1 libboost-thread1.46.1 libboost1.46-dev libc-dev-bin libc6-dev libgomp1 libmozjs185-1.0 libmpfr4 libnspr4 libpcrecpp0 libstdc++6-4.4-dev linux-libc-dev manpages-dev mongodb mongodb-clients mongodb-dev mongodb-server アップグレード: 0 個、新規インストール: 25 個、削除: 0 個、保留: 0 個。 49.8 MB のアーカイブを取得する必要があります。 この操作後に追加で 201 MB のディスク容量が消費されます。 続行しますか [Y/n]? y
ひととおり終わったあと
$ mongo MongoDB shell version: 1.8.2 Sat Jan 14 09:10:55 *** warning: spider monkey build without utf8 support. consider rebuilding with utf8 support connecting to: test > exit bye
utf8サポなして・・・
公式のとおりにやれてか?
$ sudo apt-get remove mongodb パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下のパッケージが自動でインストールされましたが、もう必要とされていません: libboost-filesystem1.46.1 libmpfr4 g++-4.4 libboost-system1.46.1 mongodb-clients gcc-4.4-base libgomp1 libboost-program-options1.46.1 libmozjs185-1.0 gcc-4.4 libpcrecpp0 libboost1.46-dev libboost-thread1.46.1 libnspr4 mongodb-server libc6-dev cpp-4.4 linux-libc-dev manpages-dev libboost-dev mongodb-dev libc-dev-bin libstdc++6-4.4-dev これらを削除するには 'apt-get autoremove' を利用してください。 以下のパッケージは「削除」されます: mongodb アップグレード: 0 個、新規インストール: 0 個、削除: 1 個、保留: 0 個。 この操作後に 53.2 kB のディスク容量が解放されます。 続行しますか [Y/n]? y (データベースを読み込んでいます ... 現在 73596 個のファイルとディレクトリがインストールされています。) mongodb を削除しています ...
http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.IOM0kbyXuC --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv 7F0CEB10 gpg: 鍵7F0CEB10をhkpからサーバーkeyserver.ubuntu.comに要求 gpg: 鍵7F0CEB10: 公開鍵“Richard Kreuter <richard@10gen.com>”を読み込みました gpg: 絶対的に信用する鍵が見つかりません gpg: 処理数の合計: 1 gpg: 読込み: 1 (RSA: 1)
なんや不安なこと言われとるやん。
$ sudo apt-get update $ sudo apt-get install mongodb-10gen パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 E: パッケージ mongodb-10gen が見つかりません
なんじゃそりゃ
vbox update 4.0.* -> 4.1.*
やっぱりうごかなくなりやがった。
Win7VMでエラーでた。
Ubuntu VMは問題なし。
'Oracle VM VirtualBox Extension Pack' or disable USB2.0 とかいわれる
thanks
http://marigold.sakura.ne.jp/linux/ts/virtualbox4/index.html
Pseudo-Distributed Operation
$ vi hadoop/conf/core-site.xml: <configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> </configuration> $ vi hadoop/conf/hdfs-site.xml: <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> $ vi hadoop/conf/mapred-site.xml: <configuration> <property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property> </configuration>
sshの確認
パスフレーズなしでssh接続できるかどうかを確認
$ ssh localhost If you cannot ssh to localhost without a passphrase, execute the following commands: $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
分散ファイルシステムをフォーマット
$ hadoop/bin/hadoop namenode -format 省略 11/11/10 23:25:50 INFO common.Storage: Storage directory /tmp/hadoop-hadoop/dfs/name has been successfully formatted. 11/11/10 23:25:50 INFO namenode.NameNode: SHUTDOWN_MSG:
/tmpになんか吐いとるな。
Standalone Operation
http://hadoop.apache.org/common/docs/r0.20.2/quickstart.html#Installing+Software
Standalone Operation
$ mkdir data/input $ cp hadoop/conf/*.xml data/input/ $ hadoop/bin/hadoop jar hadoop/hadoop-*-examples.jar grep data/input data/output 'dfs[a-z.]+' $ ls -l data/output 合計 4 -rwxrwxrwx 1 hadoop hadoop 0 2011-11-10 22:59 _SUCCESS -rwxrwxrwx 1 hadoop hadoop 11 2011-11-10 22:59 part-r-00000 $ cat data/output/* 1 dfsadmin
で、これってどういう意味なん?
The following example copies the unpacked conf directory to use as input and then finds and displays every match of the given regular expression. Output is written to the given output directory.
ってあるから、conf配下のファイルをinputにコピーして、それらを入力として正規表現でgrepして結果を出力するということですかね。
outputの中にファイルはなんでしょう・・・
hadoopインスコ
$ vi hadoop/conf/hadoop-env.sh JAVA_HOME=/usr/lib/jvm/java-6-sun $ hadoop/bin/hadoop Usage: hadoop [--config confdir] COMMAND where COMMAND is one of: fs run a generic filesystem user client version print the version jar <jar> run a jar file distcp <srcurl> <desturl> copy file or directories recursively archive -archiveName NAME -p <parent path> <src>* <dest> create a hadoop archive classpath prints the class path needed to get the Hadoop jar and the required libraries daemonlog get/set the log level for each daemon or CLASSNAME run the class named CLASSNAME Most commands print help when invoked w/o parameters.
とりあえずコマンドが反応するようにはなった。
hadoopインスコ
http://hadoop.apache.org/common/docs/r0.20.2/quickstart.html#Installing+Software
ssh, rsync がいるらしい。rsyncはすでに入れていた様子。なぜsshがいる?
$ sudo addgroup -gid 25000 hadoop $ sudo adduser --uid 25000 --home /home/hadoop --shell /bin/bash --system --group hadoop $ sudo passwd hadoop $ su hadoop $ wget http://www.meisei-u.ac.jp/mirror/apache/dist//hadoop/common/hadoop-0.21.0/hadoop-0.21.0.tar.gz $ tar zxvf hadoop-0.21.0.tar.gz $ ln -s hadoop-0.21.0 hadoop
事始めのさらに前
ubuntu server 準備。
過去にインスコしたインスタンス ssh、apache、svn、git ぐらいがはいった奴をコピーして新しいインスタンスとして使う。
ファイルにエクスポートして、インポートするときに別名で入れ込む。あとあといろいろインスタンス作るので。
で、hadoopいれようとおもったが、よく考えたらjavaが入っていないことにきづく。
http://d.hatena.ne.jp/seventhmay/20110601/1306905866
$ sudo apt-get install python-software-properties
http://hiroftp.blogspot.com/2011/05/ubuntu-1104sun-javajava.html
$ sudo add-apt-repository 'deb http://archive.canonical.com/ lucid partner' $ sudo apt-get update $ sudo apt-get install sun-java6-jdk