OS:LINUX ubuntu server 9.10
假設電腦有兩台 namenode與jobstracker在同一台 兩台都有 datanode與tasktracker
1.設定SSH免密碼
更改兩台的/etc/hosts 內容如下
localhost
自己的IP 自己的host name
另一台的IP 另一台的host name
注意 這是要讓觀看 namenode(port50070) 網頁的dfs系統連結 可以辨視hostname的IP
改hostname的方法可修改/etc/hostname
網卡的名稱兩台皆要一置 如皆為 eth1 可在/etc/network/interfaces裡改
更改/etc/ssh/ssh_config
將StrictHostKeyChecking的值改成no 並去掉#
在本機(namenode與jobstracker) 操作
ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ""
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
scp -r ~/.ssh 主機二:~/
用ssh 主機IP 測試登入這兩台是不是都不用密碼 如果是就成功 exit 可以斷掉ssh連線
2.兩台皆安裝sun-java6-bin sun-java6-jdk sun-java6-jre
3.在本機編輯conf/hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-6-sun
export HADOOP_HOME=/opt/hadoop
export HADOOP_CONF_DIR=/opt/hadoop/conf
export HADOOP_LOG_DIR=/tmp/hadoop/logs
export HADOOP_PID_DIR=/tmp/hadoop/pids
4.編輯conf/hadoop-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://主機一IP:9000/</value>
<description> </description>
</property>
<property>
<name>mapred.job.tracker</name>
<value>主機一IP:9001</value>
<description> </description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop/hadoop-${user.name}</value>
<description> </description>
</property>
</configuration>
5.編輯conf/slaves (這裡只要成為datanode與tasktracker的主機)
主機一IP
主機二IP
6.每台電腦設置一致 將/opt/hadoop/以下的內容複製給另一台
scp -r /opt/hadoop/* 主機二:/opt/hadoop/
7.格式化與執行
本機執行 bin/hadoop namenode -format
bin/start-dfs.sh
bin/start-mapred.sh
可以在
http://主機一IP:50070
http://主機一IP:50030
http://主機一IP:50060
觀看結果
ps
conf/slaves與start有關
動態新加入的節點要在該節點上下(opt/hadoop要拷備過去)
bin/hadoop-daemon.sh --config ./conf start datanode
bin/hadoop-daemon.sh --config ./conf start tasktracker
在主機上再平均各節點的資料
bin/hadoop balancer
如要更新hadoop版本 只能停止hdfs mapreduce要打開
將舊版本的conf拷備出來
然後更新opt/hadoop
然後灌入舊設定的環境
source 舊版本的conf/hadoop-env.sh
然後啟動新版本的hdfs
bin/start-dfs.sh -upgrade
如果出現找不到JAVA_HOME 建議還是要在 /opt/hadoop/conf/hadoop-env.sh裡增加
export JAVA_HOME=/usr/lib/jvm/java-6-sun
export HADOOP_HOME=/opt/hadoop
export HADOOP_CONF_DIR=/opt/hadoop/conf
export HADOOP_LOG_DIR=/tmp/hadoop/logs
export HADOOP_PID_DIR=/tmp/hadoop/pids
降級也是 但是指令要下
bin/start-dfs.sh -rollback
檢查檔案系統
bin/hadoop fsck /
殺掉程序
bin/hadoop job -list all
bin/hadoop job -status XX程序
bin/hadoop job -kill XX程序
限制上傳檔案數量
bin/hadoop dfsadmin -setQuota 10 input
觀看限制數量
bin/hadoop fs -count -q input
清除限制數量設定
bin/hadoop dfsadmin -clrQuota input
留言列表