Niftyクラウド

【hadoopホームのリンク】

echo $HADOOP_HOME/conf

# /usr lib/hadoop/conf

-> /etc/hadoop-0.20/conf

-> /etc/alternatives/hadoop-0.20-conf

-> /etc/hadoop-0.20/conf.empty

core-site.xml -> /mnt/hadoop/conf.nfs/core-site.xml
hadoop-env.sh
hdfs-site.xml
mapred-site.xml


vi /etc/fstab

-> 175.184.120.108:hadoop.nfs /mnt/hadoop nfs rw 0 0
(cdh00)

スレーブ側のマウント方法:
mount -t nfs 172.29.216.100:/hadoop.nfs /mnt/hadoop

反映:
service netfs restart

確認:
ls /mnt/hadoop/conf.nfs


※【PIG-02】は、疑似分散のため、confは、

  /etc/hadoop-0.20/conf.pseudo

  になる。

14)hdfsのconfマウント

# vi /etc/fstab

mount -t nfs 172.29.216.100:/hadoop.nfs /mnt/hadoop nfs rw 0 0

# mount -t nfs 172.29.216.100:/hadoop.nfs /mnt/hadoop

反映
# service netfs restart14

確認
# ls /mnt/hadoop/conf.nfs

15)/etc/hosts 確認

16)# service hadoop-0.20-datanode restart




9)hdfs設定

mkdir -p /hdfs_disk1/dfs/name /hdfs_disk1/dfs/data
chown -R hdfs:hadoop /hdfs_disk1/dfs/name/ /hdfs_disk1/dfs/data/
chmod -R 700 /hdfs_disk1/dfs/name/
chmod -R 755 /hdfs_disk1/dfs/data/

mkdir -p /hdfs_disk1/mapred/local
chown -R mapred:hadoop /hdfs_disk1/mapred/local/
chmod -R 755 /hdfs_disk1/mapred/local/


10)IPアドレス

# vi /etc/sysconfig/network-scripts/ifcfg-eth1
★削除
BOOTPROTO=dhcp
★追加
IPADDR=172.29.216.10x
NETMASK=255.255.255.0


11)自ホスト定義

# vi /etc/sysconfig/network

HOSTNAME=CDH-XX
ex
12)反映

/etc/init.d/network restart



13)★OS再起動★


【追加ディスクのマウント】

1)ディスク確認

# fdisk -l

2)領域作成 例)/dev/sdb

# fdisk /dev/sdb

コマンド: n  (新規)
コマンド: p  (基本領域)
コマンド: 1 (領域番号)
コマンド: (最初シリンダ番号 デフォルト=1)
コマンド: (終点シリンダ番号 デファルトは最大)
コマンド: p (領域テーブルを表示=デバイス名を確認する mkfsで使用する)例)/dev/sdb1
コマンド: w (書き込み)

3)パーティションの更新情報を認識させる

# partprobe

4)パーティションのフォーマット

# mkfs -t ext3 /dev/sdb1

5)マウントするディレクトリを作成

# mkdir /hdfs_disk1


6)自動マウント

# vi /etc/fstab

以下を追加

/dev/sdb1 /hdfs_disk1 ext3 defaults 1 2


7)マウント

# mount /dev/sdb1 /hdfs_disk1


8)確認

# df



★データ、リロード

hadoop fs -mkdir /user/hdfs/KR
hadoop fs -copyFromLocal /loaddata/KR/KR200910s.LOG /user/hdfs/KR/KR200910s.LOG
hadoop fs -copyFromLocal /loaddata/KR/KR200911s.LOG /user/hdfs/KR/KR200911s.LOG
hadoop fs -copyFromLocal /loaddata/KR/KR200912s.LOG /user/hdfs/KR/KR200912s.LOG

hadoop fs -copyFromLocal /loaddata/KR/KR201001s.LOG /user/hdfs/KR/KR201001s.LOG



vi /etc/sysconfig/network-scripts/ifcfg-eth1

★削除
BOOTPROTO=dhcp
★追加
IPADDR=172.16.1.100~104
IPADDR=172.29.216.100~104
NETMASK=255.255.255.0

# service network restart

# vi /etc/hosts の書き換え


#
rm -rf /hadoop
#rm -rf /var/log/hadoop
rm -rf /var/run/hadoop
rm -rf /var/lib/hadoop-0.20/*

mkdir /hadoop
#mkdir /var/log/hadoop
mkdir /var/run/hadoop

chown -R hdfs:hadoop /hadoop
#chown -R hdfs:hadoop /var/log/hadoop
chown -R hdfs:hadoop /var/run/hadoop
chmod 777 /hadoop

rm -rf /hdfs_area/*
mkdir -p /hdfs_area/dfs/name /hdfs_area/dfs/data
chown -R hdfs:hadoop /hdfs_area/dfs/name /hdfs_area/dfs/data
chmod -R 700 /hdfs_area/dfs/name/
chmod -R 755 /hdfs_area/dfs/data/

mkdir -p /hdfs_area/mapred/local
chown -R mapred:hadoop /hdfs_area/mapred/local/
chmod -R 755 /hdfs_area/mapred/local/
#

#ネームノード側

#su – hdfs
$ hadoop namenode -format


#su – hdfs
$
hadoop fs -mkdir /mapred/system
hadoop fs -chown -R mapred:hadoop /mapred
hadoop fs -chmod -R 700 /mapred


# yum install hadoop


# vi /var/log/hadoop/hadoop-hadoop-tasktracker-cdh-04.log
# chown mapred:root /var/log/hadoop/hadoop-hadoop-tasktracker-cdh-xx.log


●pig 実行時に一時領域不足のため、各datanodeにディスクを増設する

cdh00 /hadoop/conf.nfs/hdfs-site.xml

/data/dfs/name -> /hdfs_area/dfs/name
/data/dfs/data -> /hdfs_area/dfs/data

cdh00 /hadoop/conf.nfs/mapred-site.xml

/data/mapred/local -> /hdfs_area/mapred/local


不整合なのでnamenode再初期化のため再作成!

/var/run/hadoop <<--pidの残骸はここだ!

rm -rf /var/run/hadoop

mkdir /var/run/hadoop

chown -R hdfs:hadoop /hdfs_disk1
chown -R hdfs:hadoop /var/run/hadoop
chmod 777 /hdfs_disk1


rm -rf /hdfs_disk1/*
mkdir -p /hdfs_disk1/dfs/name /hdfs_area/dfs/data
chown -R hdfs:hadoop /hdfs_disk1/dfs/name /hdfs_disk1/dfs/data
chmod -R 700 /hdfs_disk1/dfs/name/
chmod -R 755 /hdfs_disk1/dfs/data/

mkdir -p /hdfs_disk1/mapred/local
chown -R mapred:hadoop /hdfs_disk1/mapred/local/
chmod -R 755 /hdfs_disk1/mapred/local/


★cdh00 の/hadoopを削除してハマル

cdh-01~cdh-04側のリンク復活
「実行性のないNFSファイルハンドルです」
⇒ # service netfs restart

#su – hdfs
$ hadoop namenode -format

#su – root
#
service hadoop-0.20-namenode start

#su – hdfs
$
hadoop fs -mkdir /mapred/system
hadoop fs -chown -R mapred:hadoop /mapred
hadoop fs -chmod -R 700 /mapred


#su – root
#
service hadoop-0.20-namenode start
rt

service hadoop-0.20-datanode start
service hadoop-0.20-tasktracker start


●今後、間違って消さないように
/hadoop/conf.nfs -> /hadoop.nfs/conf.nfsへの変更

cdh00側
# vi /etc/exports
を変更
# exportfs -ra
で反映

参照側
# vi /etc/fstab
#//// mount -t nfs 175.184.120.108:/hadoop.nfs /mnt/hadoop
#////2012.03.06 mount -t nfs 172.16.1.100:/hadoop.nfs /mnt/hadoop
mount -t nfs 172.29.216.100:/hadoop.nfs /mnt/hadoop nfs rw 0 0

# service netfs restart
確認
# ls /mnt/hadoop/conf.nfs


# chown mapred:root /var/log/hadoop/hadoop-hadoop-jobtracker-cdh00.log
# mkdir /var/log/hadoop/history
# chown mapred:root /var/log/hadoop/history


●pig 実行時に一時領域不足のため、各datanodeにディスクを増設する

niftyクラウドのマニュアル参照

●結局、再構築

cdh00 /hadoop/conf.nfs/hdfs-site.xml

/data/dfs/name -> /hdfs_area/dfs/name
/data/dfs/data -> /hdfs_area/dfs/data

cdh00 /hadoop/conf.nfs/mapred-site.xml

/data/mapred/local -> /hdfs_area/mapred/local


不整合なのでnamenode再初期化のため再作成!

/var/run/hadoop <<--pidの残骸はここだ!

rm -rf /var/run/hadoop
mkdir /var/run/hadoop
chown -R hdfs:hadoop /hdfs_disk1
chown -R hdfs:hadoop /var/run/hadoop
chmod 777 /hdfs_disk1

rm -rf /hdfs_disk1/*
mkdir -p /hdfs_disk1/dfs/name /hdfs_area/dfs/data
chown -R hdfs:hadoop /hdfs_disk1/dfs/name /hdfs_disk1/dfs/data
chmod -R 700 /hdfs_disk1/dfs/name/
chmod -R 755 /hdfs_disk1/dfs/data/

mkdir -p /hdfs_disk1/mapred/local
chown -R mapred:hadoop /hdfs_disk1/mapred/local/
chmod -R 755 /hdfs_disk1/mapred/local/

【pig インストール】

# yum install hadoop-pig

export PIG_HOME=/usr/lib/pig
echo “export PIG_HOME=/usr/lib/pig” >> /etc/bashrc

export PIG_CLASSPATH=${HADOOP_HOME}/conf
echo “export PIG_CLASSPATH=${HADOOP_HOME}/conf” >> /etc/bashrc

# pig

クラスエラー発生!


# yum isntall ant


pigをマニュアルインストール

pig-0.9.2-1 ダウンロード

WinSCPで/hadoop/に転送

# tar xzf pig-0.9.2.tar.gz

# export PIG_INSTALL=/hadoop/pig-0.9.2
# export PATH=$PATH:$PIG_INSTALL/bin
# export PIG_HADOOP_VERSION=20
# export PIG_CLASSPATH=$HADOOP_HOME/conf


# vi pig.properties
以下を追記

fs.default.name=hdfs://cdh00:54310/
mapred.job.tracker=cdh00:54311


yum install hadoop で最新化

export JAVA_HOME=/usr/java/latest
export HADOOP_HOME=/usr/lib/hadoop
export PIG_HOME=/usr/lib/pig
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$PIG_HOME/bin
export PIG_HADOOP_VERSION=20
export PIG_CLASSPATH=$HADOOP_HOME/conf

# vi pig.properties

chown -R hdfs:hadoop /usr/lib/hadoop-0.20
chmod -R 755 /usr/lib/hadoop-0.20


【テストデータのロード】

service hadoop-0.20-namenode status
service hadoop-0.20-jobtracker status

service hadoop-0.20-datanode status
service hadoop-0.20-tasktracker status



su -hdfs
hadoop fs -ls /
drwxr-xr-x – hdfs supergroup 0 2012-01-27 19:40 /KR
drwxr-xr-x – hdfs supergroup 0 2012-01-27 20:05 /hadoop
drwx—— – mapred supergroup 0 2012-01-27 20:05 /mapred
drwxr-xr-x – hdfs supergroup 0 2012-01-27 20:05 /user


ls -l /loaddata/KR
-rw-r–r– 1 root root 1354189115 4月 26 2011 KR200910s.LOG
-rw-r–r– 1 root root 1289679517 4月 26 2011 KR200911s.LOG
-rw-r–r– 1 root root 1294432059 4月 26 2011 KR200912s.LOG
-rw-r–r– 1 root root 1327065937 6月 22 2011 KR201001s.LOG
-rw-r–r– 1 root root 1299011907 6月 22 2011 KR201002s.LOG
-rw-r–r– 1 root root 1479167597 6月 22 2011 KR201003s.LOG
-rw-r–r– 1 root root 1397666087 6月 22 2011 KR201004s.LOG
-rw-r–r– 1 root root 1282868713 6月 23 2011 KR201005s.LOG
-rw-r–r– 1 root root 1434970373 6月 22 2011 KR201006s.LOG
-rw-r–r– 1 root root 1476895925 6月 23 2011 KR201007s.LOG
-rw-r–r– 1 root root 1451074255 6月 23 2011 KR201008s.LOG
-rw-r–r– 1 root root 1462391901 6月 23 2011 KR201009s.LOG
-rw-r–r– 1 root root 153756284 6月 23 2011 SH200910s.LOG
-rw-r–r– 1 root root 627054162 6月 23 2011 SH200911s.LOG
-rw-r–r– 1 root root 664644632 6月 23 2011 SH200912s.LOG
-rw-r–r– 1 root root 642252844 6月 23 2011 SH201001s.LOG
-rw-r–r– 1 root root 622806236 6月 23 2011 SH201002s.LOG
-rw-r–r– 1 root root 709788916 6月 23 2011 SH201003s.LOG
-rw-r–r– 1 root root 679195442 6月 23 2011 SH201004s.LOG
-rw-r–r– 1 root root 598537376 6月 23 2011 SH201005s.LOG
-rw-r–r– 1 root root 660543790 6月 23 2011 SH201006s.LOG
-rw-r–r– 1 root root 670916714 6月 23 2011 SH201007s.LOG
-rw-r–r– 1 root root 643944310 6月 23 2011 SH201008s.LOG
-rw-r–r– 1 root root 661163644 6月 23 2011 SH201009s.LOG


hadoop fs -mkdir /user/hdfs/KR
hadoop fs -copyFromLocal /loaddata/KR/KR200910s.LOG /user/hdfs/KR/KR200910s.LOG
hadoop fs -copyFromLocal /loaddata/KR/KR200911s.LOG /user/hdfs/KR/KR200911s.LOG
hadoop fs -copyFromLocal /loaddata/KR/KR200912s.LOG /user/hdfs/KR/KR200912s.LOG
hadoop fs -copyFromLocal /loaddata/KR/KR201001s.LOG /user/hdfs/KR/KR201001s.LOG
hadoop fs -copyFromLocal /loaddata/KR/KR201002s.LOG /user/hdfs/KR/KR201002s.LOG
hadoop fs -copyFromLocal /loaddata/KR/KR201003s.LOG /user/hdfs/KR/KR201003s.LOG
hadoop fs -copyFromLocal /loaddata/KR/KR201004s.LOG /user/hdfs/KR/KR201004s.LOG
hadoop fs -copyFromLocal /loaddata/KR/KR201005s.LOG /user/hdfs/KR/KR201005s.LOG
hadoop fs -copyFromLocal /loaddata/KR/KR201006s.LOG /user/hdfs/KR/KR201006s.LOG
hadoop fs -copyFromLocal /loaddata/KR/KR201007s.LOG /user/hdfs/KR/KR201007s.LOG
hadoop fs -copyFromLocal /loaddata/KR/KR201008s.LOG /user/hdfs/KR/KR201008s.LOG
hadoop fs -copyFromLocal /loaddata/KR/KR201009s.LOG /user/hdfs/KR/KR201009s.LOG


クライアント側でストレージをマウントする

ls -l /mnt/hadoop

mount -t nfs 175.184.120.108:/hadoop /mnt/hadoop

service hadoop-0.20-datanode status
service hadoop-0.20-tasktracker status

ls -l /data/dfs/name/
ls -l /data/dfs/data/
ls -l /data/mapred/local/

rm -rf /data/dfs/name/*
rm -rf /data/dfs/data/*
rm -rf /data/mapred/local/*

mkdir -p /data/dfs/name /data/dfs/data /data/mapred/local

chown -R hdfs:hadoop /data/dfs/name /data/dfs/data
chown -R mapred:hadoop /data/mapred/local
chmod -R 700 /data/dfs/name/

chmod -R 755 /data/dfs/data/
chmod -R 755 /data/mapred/local/

host:slave一覧追加
vi /etc/hadoop/conf/slaves
vi /etc/hosts

slave: 自ホスト名追加
# vi /etc/sysconfig/network

HOSTNAME=

#

ネットワーク再起動
/etc/init.d/network restart

⇒eth1の活性化で失敗するが、いいのか?

確認コマンド
hostname

host:
$
hadoop fs -mkdir /mapred/system
hadoop fs -chown -R mapred:supergroup /mapred
hadoop fs -chown -R mapred:hadoop /mapred
hadoop fs -chmod -R 700 /mapred

#
service hadoop-0.20-namenode start
service hadoop-0.20-jobtracker start

service hadoop-0.20-datanode start
service hadoop-0.20-tasktracker start


動作確認サンプル:mapred ユーザで実施
hadoop jar hadoop-examples.jar pi 1 10

su – hdfs でログインしてから実行すること。

CentOSで最初のインストール時にX Window(GUI)をインストールしなかった時、後から追加したい場合には、
# yum groupinstall “X Window System” “GNOME Desktop Environment”

ただし、このままではサーバ起動時にGUIで立ち上がらず、ログイン後にコマンドラインから
# startx

としないとGUIが起動しない。

サーバ起動時にGUIにするには、run levelもあわせて変更する必要がある。
run levelの変更は /etc/inittab で行う。
ファイル内に
id:3:initdefault:

という記述があるので、3 → 5 に変更し
id:5:initdefault:

とする。
これで、サーバ起動時にGUIとなる。
※NameNode起動
service hadoop-0.20-namenode start

※DataNode起動
service hadoop-0.20-datanode start



※スレーブリスト作成
/conf/slaves

※hdfs上に/mapred/systemを作成
hadoop fs -mkdir /mapred/system
hadoop fs -chown -R mapred:supergroup /mapred
hadoop fs -chmod -R 700 /mapred


※JobTracker起動
service hadoop-0.20-jobtracker start

※TaskTracker起動
service hadoop-0.20-tasktracker start

mv hadoop-env.sh hadoop-env.sh.org
ln -s /mnt/hadoop/conf.nfs/hadoop-env.sh hadoop-env.sh


共有ファイルをcdh00:/hadoop からcdh00:/hadoop/conf.nfs に変更
(シンボリックリンク先を合わせて変更)

※hadoop-env.shで設定するディレクトリを作成する

mkdir /hadoop
mkdir /var/log/hadoop
mkdir /var/run/hadoop

ch

chown -R hdfs:hadoop /var/log/hadoop
chown -R hdfs:hadoop /var/run/hadoop


※alternativesの参照
alternatives –display hadoop-0.20-conf


※ルートにてNameNodeのフォーマット(hdfsユーザで実施)
su – hdfs
hadoop namenode -format
大文字の”Y”を返すこと!


Linuxクライアントの自動マウント
Linuxクライアントを起動する際に自動的にマウントするようにします。
[root@Vine root]# vi /etc/fstab <= 設定ファイルの編集
175.184.120.108:/hadoop /mnt/hadoop nfs rw 0 0 <= 追加


クライアント側のhadoop設定をサーバ参照に変更

cd $HADOOP_HOME/conf

mv core-site.xml core-site.org
ln -s /mnt/hadoop/conf.nfs/core-site.xml core-site.xml

mv hdfs-site.xml hdfs-site.org
ln -s /mnt/hadoop/conf.nfs/hdfs-site.xml hdfs-site.xml

mv mapred-site.xml mapred-site.org
ln -s /mnt/hadoop/conf.nfs/mapred-site.xml mapred-site.xml