2012年4月23日月曜日

Hadoop入れてみた

Hadoop用のユーザーとグループを作ってから。

ダウンロード
# cd /tmp/
# wget http://ftp.jaist.ac.jp/pub/apache/hadoop/common/hadoop-0.21.0/hadoop-0.21.0.tar.gz
# tar xvzf hadoop-0.21.0.tar.gz
# mv hadoop-0.21.0 /usr/local/
# chown -R hadoop:hadoop /usr/local/hadoop-0.21.0
# ln -s /usr/local/hadoop-0.21.0 /usr/local/hadoop
# cd hadoop

JAVA_HOMEとHADOOP_HOMEを/etc/bashrcに設定
export JAVA_HOME=/usr/java/latest/
export HADOOP_HOME=/usr/local/hadoop
※完全分散モードで動かすときはスレーブサーバーにも環境変数は設定しておく

SSHでlocalhostに接続できるようにする必要があるため
/etc/hosts.allow
に127.0.0.1を追記

疑似分散モードの設定
${HADOOP_HOME}/conf/core-site.xmlに
<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://localhost:9000</value>
   </property>
</configuration>

分散ファイルシステムの設定
${HADOOP_HOME}/conf/hdfs-site.xmlに
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

MapReduce実行環境の設定
${HADOOP_HOME}/conf/mapred-site.xmlに
<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>localhost:9001</value>
   </property>
</configuration>

HDFSをフォーマット
$ bin/hadoop namenode -format

成功すると/tmp/hadoop-<username>というディレクトリが出来てる。

$ bin/start-all.sh
でHadoop起動。
$ bin/stop-all.sh
で停止。

2012年4月22日日曜日

Linuxの起動について

httpdをLinux起動時からONにするように設定した。
========================
# chkconfig --list httpd
で現在の設定を確認
# chkconfig --level 345 httpd on
自動起動設定
========================

その他起動の設定を変更
# chkconfig  bluetooth off
# chkconfig  xfs off
# chkconfig --level 345 vsftpd on
# chkconfig --level 345 mysqld on
# chkconfig avahi-daemon off
# chkconfig port map off
# chkconfig nfslock off
# chkconfig sendmail off

SendMail使う予定無いのでアンインストール
# yum -y remove sendmail

ここでついでなのでLinuxの起動の流れをまとめとく。

■起動の流れ
1.BIOS
入出力デバイスを認識する
入出力デバイスを初期化する
指定された順に起動デバイスの先頭セクタ(ブートセクタ)を呼び出す
ブートセクタに格納されているブートローダへ制御を移す
※ブートセクタはブートローダを格納する場所でHDでは先頭のセクタになる。MBR(マスターブートレコード)と呼ばれてる。えらそ。

2.ブートローダ
カーネルの呼び出し
カーネルをメモリにロードする

3.カーネル
各種デバイスモジュールをロードする。

4.init
Linuxシステムの親
ここからすべてが起動される

$ ps ax
  PID TTY      STAT   TIME COMMAND
    1      ?             Ss        0:00     init [3]

■init
initの起動時の設定は /etc/inittab に書かれてる
initが/etc/inittabを読み込み、設定順にしたがいそれぞれ実行
1./etc/rc.d/rc.sysinitを実行
2./etc/rc.d/rcを実行
3./etc/rc.d/rcN.dを実行  Nはランレベル

■ランレベル
Linuxの動作状態のことで、0から6まである
0:システム停止
1:シングルユーザーモード
2:マルチユーザーモード(NFSサーバなし)
3:マルチユーザーモード(CUIモード)
4:未使用
5:マルチユーザーモード(GUIログイン)
6:システム再起動

/etc/rc.d/にランレベルごとのディレクトリがある。
Kから始まるものはそのランレベルで終了されるサービス。
Sから始まるものはそのランレベルで起動されるサービス。
現在のランレベルの起動を確認するには
# chkconfig --list
で確認できる。
変更するには
# chkconfig --level ランレベル サービス on/off

【参考】
@IT「Linux起動の仕組みを理解しよう」
http://www.atmarkit.co.jp/flinux/rensai/theory10/theory10a.html
Linux入門「サービスの実行」
http://markun.cs.shinshu-u.ac.jp/learn/linux/h_06-03.html
CentOs徹底入門 翔泳社
http://www.amazon.co.jp/gp/product/4798114626/


GlassFishにHibernateを入れる

http://www.hibernate.org/downloads
から最新版を選択。
(実際は上記URL→リリース情報ページ→SourceForgeからDL)
今回はHibernate Core 3.6.6.Final Releaseを選択した。
適当なところに解凍する。

下記
 JARをクラスパスに追加
Hibernateフォルダ/hibernate3.jar
Hibernateフォルダ/lib/required/*

2012年4月1日日曜日

Linux インストール雑記

久々にLinuxをローカルマシンにインストールしたので躓いた点など備忘のために残す。

OS: CentOS 5.1(x86)
(その後アップデートしてCentOS 5 finalへ)

■まず
Windowsが入ってるPCを潰そうと思ったけど若干の用途があったのでパーティションを分けることに。パーティションを分けるのに下記のソフトを使った。
http://www.partition-tool.com/
Home Edition Only For Home Users

■インストール
ビデオチップが認識されないのでテキストモードでインストール開始。
基本的にデフォルトでどんどん進む。

■インストールしたものの。。。
ifconfig打ってみるとeth0の設定が表示されない。
ドライバが入ってないみたい。
RealTek RTL8111Eが俺のドライバなのでREALTEKのHP→USB→PC
ドライバのインストールは下記を参考にした。
http://d.hatena.ne.jp/hkano/20081014/1223910948
http://d.hatena.ne.jp/metastable/20100117/1263737845
ここで開発ツールがないとインストールできないことが判明。
OS再インストールして開発ツールをインストールパッケージに指定する。
これでなんとかネットにつながる環境が整った。

■画面が。。。
xstartしてGUI立ち上げると画面の右側30%くらいが左に表示され左側70%くらいが右側に表示されるという、おかしな状況に。
これは今も解決してない。

■こまごま
ssh接続、user作成などなど

■Webサーバー立てる
Apacheは問題なく設定できた。他のPCからはhostsに書いて見られるようにした。
まだ外部公開するつもりは無いからとりあえずこれでOK。
しかしVirtualHostでDocumentRootをhome以下にしたら403が発生した。
homeの権限が700じゃないかという理由が散見されたがちゃんと755になってる。
原因はSELinuxと判明。
http://wiki.nezweb.net/index.php?Apache%A4%CEDocumentRoot%A4%F2%CA%D1%B9%B9%A4%B9%A4%EB%A4%C8%A5%A2%A5%AF%A5%BB%A5%B9%A4%C7%A4%AD%A4%CA%A4%A4

■FTPサーバー立てる
yumでvsftpをインストールした。

以上