1. 執行命令
將輸入文件拷貝到分佈式文件系統:
$ bin/hadoop fs -put conf input
$ bin/hadoop fs -get output output
$ cat output/*
在分佈式文件系統上查看輸出文件:
$ bin/hadoop fs -cat output/*
完成全部操作後,停止守護進程:
$ bin/stop-all.sh
2. Hadoop集羣
安裝Hadoop集羣通常要將安裝軟件解壓到集羣內的所有機器上。
通常,集羣裏的一臺機器被指定爲 NameNode,另一臺不同的機器被指定爲JobTracker。這些機器是masters。餘下的機器即作爲DataNode也作爲TaskTracker。這些機器是slaves。
我們用HADOOP_HOME指代安裝的根路徑。通常,集羣裏的所有機器的HADOOP_HOME路徑相同。
也就是說,集羣包含,master(主節點),core(有hdfs部署的計算節點),task(無hdfs部署的計算節點,適合擴展)。
集羣的配置
對Hadoop的配置通過conf/目錄下的兩個重要配置文件完成:
hadoop-default.xml - 只讀的默認配置。
hadoop-site.xml - 集羣特有的配置。
要配置Hadoop集羣,你需要設置Hadoop守護進程的運行環境和Hadoop守護進程的運行參數。
Hadoop 守護進程 指NameNode/DataNode 和JobTracker/TaskTracker。
Slaves
通常,你選擇集羣中的一臺機器作爲NameNode,另外一臺不同的機器作爲JobTracker。餘下的機器即作爲DataNode又作爲TaskTracker,這些被稱之爲slaves。
在conf/slaves文件中列出所有slave的主機名或者IP地址,一行一個。
啓動Hadoop
啓動Hadoop集羣需要啓動HDFS集羣和Map/Reduce集羣。
格式化一個新的分佈式文件系統:
$ bin/hadoop namenode -format
在分配的NameNode上,運行下面的命令啓動HDFS:
$ bin/start-dfs.sh
bin/start-dfs.sh腳本會參照NameNode上${HADOOP_CONF_DIR}/slaves
文件的內容,在所有列出的slave上啓動DataNode守護進程。
在分配的JobTracker上,運行下面的命令啓動Map/Reduce:
$ bin/start-mapred.sh
bin/start-mapred.sh腳本會參照JobTracker上${HADOOP_CONF_DIR}/slaves
文件的內容,在所有列出的slave上啓動TaskTracker守護進程。
停止Hadoop
在分配的NameNode上,執行下面的命令停止HDFS:
$ bin/stop-dfs.sh
bin/stop-dfs.sh腳本會參照NameNode上${HADOOP_CONF_DIR}/slaves
文件的內容,在所有列出的slave上停止DataNode守護進程。
在分配的JobTracker上,運行下面的命令停止Map/Reduce:
$ bin/stop-mapred.sh
bin/stop-mapred.sh腳本會參照JobTracker上${HADOOP_CONF_DIR}/slaves
文件的內容,在所有列出的slave上停止TaskTracker守護進程。
參考: