1、修改core-site.xml,配置hdfs
1 <configuration> 2 <property> 3 <name>fs.default.name</name> 4 <value>hdfs://localhost:9000</value> 5 </property> 6 <property> 7 <name>hadoop.tmp.dir</name> 8 <value>/home/jimmy/Desktop/tmp</value> 9 </property> 10 </configuration>
注:
a) fs.default.name對應的value是hdfs的ip和端口,只要端口不被占用即可
b) hadoop.tmp.dir對應的value是hadoop臨時文件的保存目錄(根據需要修改成實際目錄)
2、修改hdfs-site.xml,配置數據備份
1 <configuration> 2 <property> 3 <name>dfs.replication</name> 4 <value>1</value> 5 </property> 6 </configuration>
注:這是配置寫數據時,數據同時寫幾份(出于學習目的,這里只寫一個副本,實際應用中,至少配置成3)
3、修改mapred-site.xml
1 <configuration> 2 <property> 3 <name>mapred.job.tracker</name> 4 <value>localhost:9001</value> 5 </property> 6 </configuration>
注:這是配置map/reduce服務器ip和端口
4、配置ssh
注:因為偽分布模式下,即使所有節點都在一臺機器上,hadoop也需要通過ssh登錄,這一步的目的是配置本機無密碼ssh登錄
命令行:ssh-keygen -t rsa
然后一路回車
cd ~/.ssh
cat id_rsa.pub>>authorized.keys
測試:ssh localhost
首次運行會提示是否繼續,輸入yes,回車,如果不要求輸入密碼,就表示成功了
5、首次運行,格式化hdfs
<HADOOP_HOME>/bin/hadoop namenode -format
6、啟動單節點集群
<HADOOP_HOME>/bin/hadoop start-all.sh
如果沒問題的話,命令行輸入jps,可以看到5個進程:
jimmy@ubuntu:~/Desktop/soft/hadoop-1.2.1$ jps
13299 TaskTracker
13071 SecondaryNameNode
13363 Jps
13160 JobTracker
12786 NameNode
12926 DataNode
停止的話,類似的 bin/hadoop stop-all.sh
7、查看狀態
http://localhost:50030/ 這是Hadoop管理界面
http://localhost:50060/ 這是Hadoop Task Tracker 狀態
http://localhost:50070/ 這是Hadoop DFS 狀態
8、偽分布模式下運行Hadoop自帶的wordcount
注:以下命令的當前目錄都是hadoop根目錄
a) 先隨便準備一個txt文件,比如hadoop下自帶的README.txt
b) hdfs中創建一個輸入目錄input
bin/hadoop fs -mkdir input (注:hdfs中的命令跟linux終端中的文件操作命令基本類似,但是前面要加fs)
c) 將README.txt放到hdfs的input目錄中
bin/hadoop fs -put ./README.txt input
這時,如果在瀏覽器里用http://localhost:50070/ 瀏覽hdfs文件列表的話,可以看到剛才放進去的文件
d)執行wordcount示例程序
bin/hadoop jar hadoop-examples-1.2.1.jar wordcount /user/jimmy/input/README.txt /user/jimmy/output (注:這里的jimmy為hadoop運行時的用戶名,根據需要換成自己的實際用戶名)
e)從hdfs中取回文件到本地
bin/hadoop fs -get /user/jimmy/output ~/Desktop/ (這樣,就把運算結果output中的文件,取到本地桌面了)
文章列表