情報科学屋さんを目指す人のメモ(FC2ブログ版)

何かのやり方や、問題の解決方法をどんどんメモするブログ。そんな大学院生の活動「キャッシュ」に誰かがヒットしてくれることを祈って。

ブログ内検索

スポンサーサイト このエントリーを含むはてなブックマーク

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告 | 編集

Hadoop導入記05「Hadoopが複数台動作しました」 このエントリーを含むはてなブックマーク

Hadoopのサンプルを複数台で動作させるという当初の目標を達成しました。

設定メモが多いので、少しまとめて、細かく分けて今晩から記事を作成する予定です。
スポンサーサイト
Hadoop | コメント:0 | トラックバック:0 | 編集

Hadoop導入記04「NIS+NFSでhomeディレクトリを共有する」 このエントリーを含むはてなブックマーク

前回の記事で、NISを利用してユーザアカウントの共有を行いました。

今回は、ユーザアカウントを共有したのだから、homeディレクトリを共有してみようという企画です。

概要:NISを利用してホームディレクトリの自動マウント情報(auto.maseter)を共有し、NFSを利用して実際にネットワーク越しにディレクトリをマウントします。

参考:
http://www.jp.redhat.com/manual/Doc9/rhl-rg-ja-9/s1-nfs-server-config.html
http://www.server-world.info/note?os=ce5&p=nfs
Fedora ビギナーズバイブル


環境の確認ですが、ml1(192.168.1.21)を中心(サーバ)とし、ml2(192.168.1.22)をサーバ(ml1)を参照するクライアントとします。クライアントPCの作業は台数分行ってください。


1.hosts.allow,hosts.denyの設定(@サーバ)

アクセスをhosts.allowとhosts.denyファイルで制限している場合、hosts.allowに
portmap, mountd, nfsd, statd, lockd, requota.d: 192.168.1.
を追加してください。
hosts.allowファイル等を利用していない場合はこの作業を行わなくても手順が続けられます。

2.公開するディレクトリを設定する(@サーバ)


NFSでどのディレクトリを公開するかは、/etc/exportsに記述します。ここでは、homeディレクトリを192.168.1.???に対して公開します。/etc/exportsに
/home 192.168.1.0/24(rw, no_root_squash)
と記述してください。後半のrwは書き込みを許可する設定で、no_root_squashは、クライアント側のroot権限をサーバ側のroot権限として扱う設定です。rwをroに変更すると、書き込みが禁止になります(read only)。

3.NFSサービスを起動してみる(@サーバ)


以下のように実行すると、NFSが有効になります。
#service portmap start
#service nfslock start
#service portmap start

#chkconfig portmap on
#chkconfig nfslock on
#chkconfig nfs on
ここまでで、homeディレクトリが公開されました。

4.自動マウント(autofs)の設定をする(@サーバ)

つづいて、自動マウントの設定をします。自動マウントを行うのはクライアントですが、サーバに設定を記述して、その設定をNISを利用して共有する形をとるので、設定を記述するのはサーバマシンです
まず、/etc/auto.master
/- yp:auto.home --timeout=60
と記述します。yp:auto.homeによって、NIS経由でauto.homeという設定ファイルを参照することになります(後の設定でauto.master自体もNISで共有することになります)。また、/etc/auto.homeが存在しなければ作成し、次のような内容にします。
/home -fstype=nfs,rw,soft,intr 192.168.1.21:/home
ここで、/homeはマウントするディレクトリ、-fstypeからintrまではオプション、192.168.1.21がマウントしたいデータのあるホストを表し、その後の/homeがそのホスト上のマウントしたいディレクトリを表します。オプション-fstype=nfsは、省略可能です。rwは書き込み許可の設定です。ここで重要なのはsoftとintrです。これらの設定により、NFS経由のファイル操作に失敗したとき、あきらめてくれます。デフォルトでは、ずっと挑戦し続けます(汗)。実はintrとsoftを両方設定する必要があるのか怪しいのですが、詳しくはnfsのmanページで確認してください。

5.NISで自動マウントの設定ファイルを公開する(@サーバ)

設定ファイルが完成したので、NISの設定を変更して公開します。まず、/var/yp/Makefileの下の方にauto:で始まる行があるのですが、その行の項目にauto.masterとauto.homeを追加してください。この設定は、
#/usr/lib/yp/ypinit -m
(64bitは#usr/lib64/yp/ypinit -m)
で有効になります。コマンド入力後、2回入力を求められる場所がありますが、Ctrl-Dとy,Enterを入力してください。

6.公開した設定ファイルを読み込む(@クライアント)

クラアントの設定は1つのみです。/etc/nsswitch.confのautomount:の部分を
automount : nis files
としてください。これでNISを利用して自動マウント情報を読み込むようになります。最後に
#service autofs restart
autofsを再起動して完了です。


以上で作業終了です。クライアントでログインしてみて、/home以下に自身のホームディレクトリが存在するかチェックしてみてください

次回は、いよいよHadoopに必要なもののインストールに取りかかります。まずは、必要なものチェックですかね。


リナックスの最新情報はネットで手に入りますが、基本は書籍で学習することをおすすめします。
Hadoop | コメント:0 | トラックバック:0 | 編集

Hadoop導入記03「NISを使ってマシン間でアカウントを共有する」 このエントリーを含むはてなブックマーク

Hadoopを利用するということは、複数台のPCを効率よく扱うことが求められます。ということで、アカウントをすべてのマシンに対して作成していると、ちょっとつらかったりします。というか、一つのマシンで作成したアカウントを複数台で利用できると便利です。

ですので、今回はNISという仕組みを使ってアカウントを共有したいと思います。

ここでは、
NISサーバ(実際にアカウントを作成する場所)となるマシンを192.168.1.21(ホスト名:ml1)
NISクライアント(サーバのアカウントを利用する側)のマシンを192.168.1.20(ホスト名:ml2)
だとします。

前提の確認ですが、OSはCentOS5.3です。Fedoraでもだいたい同じだと思います。

0.共有したいユーザを作成しておく(@ml1)


NISサーバを構築する前にユーザを作成しておいた方が後々余計なことをしないで済むのでいいと思います。ユーザ作成はuesradd <ユーザ名>、パスワードの設定はpasswd <ユーザ名>ですね。

1.NISサーバをインストール(@ml1)


#yum -y install ypserv ←サーバに使うもの一式をインストール

2.NISドメイン名を設定(@ml1)


#ypdomainname nis_domain

ここでは、ドメイン名を"nis_domain"としていますが、ここで設定するドメイン名はNIS専用のものなので、適当に決めてしまってOKです。

3.設定を追加(@ml1)


/etc/sysconfig/networkに、
NISDOMAIN=nis_domain
を追加します。
また、
#cp /usr/share/doc/ypserv-/securenets /var/yp/securenets
としたあとに、そのコピー先である/var/yp/securenetsの"0.0.0.0 0.0.0.0"を"255.255.255.0 192.168.1.0"に変更しておきます。これにより、NISサーバに接続できるマシンをIPアドレスに基づいて限定できます。

4.ファイヤーウォールを切る(@ml1)


残念なことですが、NIS用にファイヤーウォールを設定するのは難しいので切ってしまいます

5.サービスを起動する

#service ypserv start
#service ypxfrd start

#chkconfig --level 35 ypserv on
#chkconfig --level 35 ypxfrd on
とすることでNISサーバに必要なサービスを起動し、また、次回以降マシンを起動したときに自動的にそれらのサービスを起動するように設定できます。

6.NISサーバのデータベースを作成(@ml1)


最後に、
#/usr/lib/yp/ypinit -m
(#/usr/lib64/yp/ypinit -m ←64bitはこっち)
を実行します。途中でCtrl-Dを押すところと、"y Enter"を入力するところがあります。これが終了すると、NISサーバの構築は終了です。

7.hostsファイルを設定


すでに設定してあれば関係ないのですが、/etc/hostsファイルに
192.168.1.21 ml1
という行を最低限追加しておいてください。(追加しなくても、次にml1と書いてあるところを192.168.1.21にすればいいだけだったり)

8.yp.confの設定(@ml2)


設定と言っても大したことはなく、/etc/yp.confの最終行に
domain nis_domain server ml1
と追記するだけです。(ここで、"domain"と"server"は適切な語句に置き換えるものではなく、直接"domain"と"server"という文字を入力してください)

9.ドメインの設定(@ml2)


/etc/sysconfig/networkに、
NISDOMAIN=nis_domain
という行を追記してください。

10.NISを使うように設定(@ml2)


/etc/nsswitch.confに、4カ所以下のように"nis"という文字を追加してください
...
passwd : files nis
shadow : files nis
group : files nis
...
hosts : files dns nis

11.NISクライアントに必要なサービスの起動(@ml2)


#service ypbind start
#chkconfig --level 35 ypbind on
として終了です。実際にクライアント(ml2)からサーバのアカウント名でログインを試みましょう。できるはずです。



いやぁ、大変だったようなそうでもなかったような。
現在、NISを利用してログインすると、ホームディレクトリがありません!と言われてしまいます。
次回は、せっかくなので、NFSを利用してホームディレクトリも共有してみようと思います。ホームディレクトリが共有できればHadoopを利用するときにわざわざファイルをコピーしまくる必要もなくなるので。

参考サイト:
http://www.server-world.info/

参考図書:
ビギナーズバイブル
Hadoop | コメント:0 | トラックバック:0 | 編集
 | HOME | 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。