其實跟官方的教程一樣 只是 我想寫下來 避免自己搞忘記了,,,,好記性不如爛筆頭
首先確認自己是否安裝了 java, ssh 以及 rsync 沒有裝的直接就 apt-get install 了嘛,,,java的不一定要用sun的 ?OPEN的也好 ?主要方便。。。。不是重點 看著搞啦
然后 就是ssh免密碼登錄 ?這點 主要是因為 hadoop 需要通過ssh來啟動salve列表中的各個主機守護進程,因為 分布式集群管理的 ?所以不管你是用的單機偽分布 或是分布 ?它都不分管理模式的,因此這一步必須搞 也簡單 就兩道命令
/opt/hadoop# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #后面學到的新的做法 記錄一下 On? source ?host: ???? cd ?~ ???? mkdir ?. ssh ???? chmod ?700 . ssh ???? cd ?. ssh ???? ssh -keygen -t rsa -b 1024 ???? cat ?id_rsa.pub ???? copy contents of id_rsa.pub ??? ?On destination host: ???? cd ?~ ???? mkdir ?. ssh ???? chmod ?700 . ssh ???? cd ?. ssh ???? vi ?authorized_keys ???? paste ?contents of id_rsa.pub from evnoltp9 into authorized keys ???? :wq! ???? #chmod 600 authorized_keys ???? chmod ?og-rxw $HOME/. ssh ?$HOME/. ssh /authorized_keys |
另外要注意請務必要將服務器上
~/.ssh權限設置為700
~/.ssh/authorized_keys的權限設置為600
試一試 是否可以免密碼登錄 ? ? ? ssh localhost
這樣就完成了第一步
echo $JAVA_HOME
看看jdk安裝在哪里 ?然后copy一下路徑 一會用上
vim ./conf/hadoop-env.sh
當中大概第九條 把那里的JAVA_HOME 指定一下
export JAVA_HOME=/usr/lib/jdk/jdk1.7.0_07 ? ? ? ? ? ? ? ?##保存
配置 hadoop核心配置文件 vim ./conf/core-site.xml
<configuration>
? ? ? ?<property>
? ? ? ? ? ? ? ?<name>fs.default.name</name>
? ? ? ? ? ? ? ?<value>hdfs://localhost:9000</value> ##hdfs入口
? ? ? ?</property>
</configuration>
配置 hadoop 的HDFS配置文件 vim ./conf/hdfs-site.xml
<configuration>
? ? ? ?<property>
? ? ? ? ? ? ? ?<name>dfs.replication</name>
? ? ? ? ? ? ? ?<value>1</value> ?##文件副本數量 但節點 一個就夠了
? ? ? ?</property>
</configuration>
配置 hadoop 的 MapReduce配置文件 ?vim ./conf/mapred-site.xml
<configuration>
? ? ? ?<property>
? ? ? ? ? ? ? ?<name>mapred.job.tracker</name>
? ? ? ? ? ? ? ?<value>localhost:9001</value>?
? ? ? ?</property>
</configuration>
這樣 一個單節點的Hadoop就配置成功了 ?剩下的就是格式下文件系統 然后 啟動就OK 了
首先是格式文件系統 ?
hadoop namenode -format
接下來啟動
start-all.sh
當然 你可以 單單啟動 HDFS(start-dfs.sh) ?也可以單單啟動 MapReduce (start-mapred.sh)
驗證是否成功 打開瀏覽器
localhost:50030 ? ?##MapReduce WEB管理界面
localhost:50070 ? ?##HDFS WEB管理界面
測試上傳文件到 hdfs文件系統當中
hadoop fs -put 文件名 hdfs://localhost:9000/指定一個文件夾 或者 就放到根目錄
刷新下 hdfs管理界面 就能看到那個文件了
測試 MapReduce 例子 用的 hadoop里面自帶的例子 計算shell腳本當中的單詞量
?首先先上傳 要計算的sh文件 hadoop fs -mkdir /input ? ##創建一個input文件夾
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? hadoop fs -put *.sh /input/ ?##上傳當前文件夾下所有的*.sh文件 到 hdfs 的 input 文件夾下
hadoop jar hadoop-examples-i.0.3.jar wordcount /input /output
開始計算 過程省略 ?僅僅使用于測試的 ?
-----完成后 可以在 localhost:50070 文件管理系統當中發現一個output文件夾 點進入 在part-r-00000 當中記錄了結果 ?前面是單詞 后面是出現的次數
在localhost:50030 可以看到running jobs(這里顯示 運行當中的)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?completed jobs (這里顯示作業運行的統計)點進去可以看到一些 更詳細的信息,自己研究啦
?由于在 UBUNTU當中截圖麻煩 我就不發圖了 按照步驟一步一步來 親測OK ? 我用的 UBUNTU 12.04
?注:后面我看了書 hadoop實戰 機械工業出版社的那本 ?說是不能用openJava ?但是我原來看別人錄制視頻 說是可以, 我呢是用的 oracle的 ?大家如果用open的裝不上 就用oracle的吧 沒有實踐過
本文轉自 ? ?拖鞋崽 ? ? ?51CTO博客,原文鏈接:http://blog.51cto.com/1992mrwang/1011844