筆者眼下是在作Android開發,又是在一個信息安全的公司。公司的主要是作在虛擬機上運行的產品,又涉獵雲計算,心想是要去搞一下雲計算。自我感受移動互聯網 + 雲計算 + 信息安全會是一個很是好的方向,因而投身當中。java
因爲是Java出身。因此天然而然選擇了Hadoop。node
Linux: CentOS release 6.5 (Final)
JDK: java version "1.7.0_75"
OpenJDK Runtime Environment (rhel-2.5.4.0.el6_6-x86_64 u75-b13)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)
SSH: OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
shell
Hadoop: hadoop-1.2.1vim
關於JDK的安裝。不是本博客的討論範圍,你們可以自行百度或是Google進行安裝。瀏覽器
在你的機器可以聯網的前提下進行例如如下操做安全
(1) # yum install openssh-server # 安裝SSHbash
(2) # yum -y install openssh-clients網絡
# 假設你安裝SSh完畢以後,運行ssh出現系統沒法識別ssh的話,需要另外安裝openssh-clients
ssh
(3) # mkdir -p ~/.ssh # 假設你在安裝完SSH後,這些文件夾都未本身主動生成,請自行建立oop
(4) # ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
ssh-keygen 表示生成密鑰
-t 表示指定生成的密鑰類型
dsa 是dsa密鑰認證的意思,即密鑰類型
-P 提供密語
-f 指定生成的密鑰文件
(5) # cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
# 將公鑰加到用於認證的公鑰文件裏。authorized_keys是用於認證的公鑰文件
(6) # ssh -version
# 驗證SSH是否安裝完畢,正確安裝會有類似例如如下的結果:
(7)至此主要的配置已經幾乎相同了,只是仍是不可以進行免password登陸。最後一步就是要配置兩個東西的權限屬性:
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys
這兩步是必要的。否則你可能就不能免password登陸了。
(8)$ ssh localhost # 驗證
(1)下載hadoop-x.x.x
解壓到指定文件夾。好比/home/u
(2)改動配置文件的配置信息
# vim ~/hadoop-1.2.1/conf/core-site.xml
# vim ~/hadoop-1.2.1/conf/hdfs-site.xml
# vim ~/hadoop-1.2.1/conf/mapred-site.xml
(3) # ~/hadoop-1.2.1/bin/hadoop namenode -format # 格式化文件系統
(4) # ~/hadoop-1.2.1/bin/start-all.sh # 啓動所有進程
(5)驗證Hadoop是否成功安裝
進入瀏覽器,分別輸入下面網址進行驗證:
http://localhost:50030 (MapReduce的Web頁面)
http://localhost:50070 (HDFS的Web頁面)
驗證演示樣例:
MapReduce的Web頁面
HDFS的Web頁面
當我使用教程中的shell命令在hadoop文件夾中運行bin/start-all.sh時,總是報JAVA_HOME is not set.
可是我在shell裏也設置了JAVA_HOME了啊,而且我去查看系統中的JAVA_HOME也是OK的,例如如下:
這一點讓我很是是奇怪。如是我找到一篇論壇,裏面的狀況和個人有一些類似。只是他的一句話讓我察覺到本身的搞錯了一個地方。那就是上面提示的JAVA_HOME事實上是要在配置文件裏去設置的。
運行vim ~/hadoop-1.2.1/conf/hadoop-env.sh,這個文件夾請依據本身你的路徑來寫,改動例如如下:
這裏假設你是在Linux下直接從網絡上下載的話,應該會沒什麼事情。只是,假設你跟筆者同樣。是使用WinSCP上傳到Linux上的話,這裏可以會有一個小地方需要改動。
否則會報這樣一個錯誤:
可以看到這個錯誤是在咱們運行hadoop這個可運行文件時報的錯誤。那咱們就僅僅要對這個文件進行權限的改動就可以了。因爲後面的還會用到一些其它的可運行文件,那麼這裏我就對所有的文件都作了一個可運行權限的改動(固然,這裏是因爲咱們是在學習和測試階段,爲了不麻煩,偷了個懶。假設要從安全的角度來考慮,這裏咱們是不能這樣作的)。
固然咱們把以前的一些配置信息都搞了的時候。這時可能還會有一個問題,就是咱們HDFS的Web頁面沒法訪問。
這個問題事實上是咱們以前的一些錯誤配置遺留下來的問題。咱們以前說過一個運行文件的權限問題,咱們在操做格式化HDFS時,這個正是這個權限的問題在干擾。如是我把以前啓動的進程都stop掉。
而後又一次format就OK了。
格式化HDFS正確時的提示信息例如如下: