服务器虚拟多台linux,VirtualBox环境下基于多台Ubuntu虚拟机的Hadoop分布式计算环境搭建...
export PATH=$HADOOP_HOME/bin:$PATH
接下來需要修改hadoop/conf/目錄下的配置文件,共有6個文件需要修改,分別是masters、slaves、core-site.xml、mapred-site.xml、hdfs-site.xml、hadoop-env.sh,修改如下
文件masters
UB01
文件slaves
UB02
UB03
文件core-site.xml
hadoop.tmp.dir
/home/vbox/tmp
As you like
fs.default.name
hdfs://UB01:9000
文件mapred-site.xml
mapred.job.tracker
UB01:9001
文件hdfs-site.xml
dfs.replication
1
文件hadoop-env.sh在末尾添加
export JAVA_HOME=/home/vbox/jdk1.6.0_25
說明幾個地方,以上幾個文件中具體的版本號、路徑與ip地址要根據各自虛擬機信息區別配置,不要把我的ip抄到你的文件里,沒用的。注意hdfs-site.xml中設定為1的value是最小節點數,之前為3,會出現2個slave運行不能的情況,以上配置信息對UB01、UB02和UB03完全一致。
執行wordcount例程
進入/home/vbox/hadoop/目錄,格式化文件系統并啟動所有服務
hadoop namenode -format;
start-all.sh
編寫輸入文件,建立input輸入并將文件寫入input
echo “It is such a boring thing” > input_test_01;
echo “But I like it” > input_test_02;
hadoop fs -mkdir input;
hadoop fs -copyFormatLocal input_test_0* input;
執行wordcount并察看計數結果
hadoop jar hadoop-0.20.2-examples.jar wordcount input output;
hadoop fs -cat output/part-r-00000;
會在Terminal中看到如下wordcount信息
5 1
Damn! 1
NAT 1
...
注意,在第一次執行wordcount后,input和output文件依舊存在,若再次執行wordcount會出現無法響應的錯誤,需要通過以下的命令刪除input與output,系統才會正常工作。使用xxxxxx命令關閉防火墻。
hadoop dfs -rmr input output
觀察運行結果,有三種方式
通過web方式 http://UB01:50070
通過java方式Terminal輸入jps
監測HDFS方式 Terminal輸入hadoop dfsadmin -report
過程截圖
略
常用hadoop命令
hadoop namenode -format 格式化節點
start-all.sh 開啟所有服務
hadoop dfsadmin -report 察看報告
hadoop fs -mkdire input 新建輸入目錄
hadoop fs -ls/ 列出文件系統
hadoopfs -put conf input 將conf目錄put到input目錄
hadoop fs -rmr output 刪除output目錄
hadoop jar hadoop-0.20.2-examples.jar wordcount input output 運行wordcount
hadoop fs -get ouput /home/output 拷貝到本地
home/cat otuput/* 顯示
hadoop fs -copyToLocal input /home/vbox 拷貝,同fs -get
Some tips
Q:datanode個數為0或者小于預設值
A:刪除各個/home/vbox/tmp文件夾
Q:將各個節點的id_rsa.pub相互追加后無法實現ssh無密碼互訪
A:先搞二個互訪,再一個一個加上去
Q:3臺Ubuntu 11.04的虛擬機慢死了
A:換成10.04
總結
以上是生活随笔為你收集整理的服务器虚拟多台linux,VirtualBox环境下基于多台Ubuntu虚拟机的Hadoop分布式计算环境搭建...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中文OCR的汉字按常见度的划分
- 下一篇: 企业级业务系统开发实战-序言