今天,企業對數據價值的認同已經成為共識,然而如何從海量的數據信息中挖掘其中的價值卻并不那么容易,幸運的是,找到了hadoop數據挖掘與分析工具。
Hadoop是一個開源的分布式系統基礎架構,由Apache基金會開發,使得用戶可以在不了解分布式底層細節的情況下,開發分布式應用程序,充分利用集群的威力實現高速運算和存儲。Hadoop尤其適合大數據的分析與挖掘,最為常見的應用就是Web數據分析。因為從本質上講,Hadoop提供了在大規模服務器集群中捕捉、組織、搜索、共享以及分析數據的模式,且可以支持多種數據源 (結構化、半結構化和非結構化),規模則能夠從幾十臺服務器擴展到上千臺服務器。
隨著越來越多的傳統企業開始關注大數據的價值,Hadoop也開始在傳統企業的商業智能或數據分析系統中扮演重要角色。相比傳統的基于數據庫的商業智能解決方案,Hadoop擁有無以比擬的靈活性優勢和成本優勢
“問題在于,你根據某種分析的需要將大批非結構化數據轉化成結構化數據之后,一旦分析的需求發生變化,你需要把之前的工作重新做一遍。Hadoop的內部數據存儲能力是非常重要的,能在你不知道該如何處理數據的時候盡可能多的保存數據,Hadoop系統允許你不斷的嘗試。在傳統的數據分析系統中,你必須明確的知道你希望做什么,需要哪些數據。”
目前,Hadoop三種安裝模式,即單機模式,偽分布式,真正分布式。
一 單機模式standalone
單機模式是Hadoop的默認模式。當首次解壓Hadoop的源碼包時,Hadoop無法了解硬件安裝環境,便保守地選擇了最小配置。在這種默認模式下所有3個XML文件均為空。當配置文件為空時,Hadoop會完全運行在本地。因為不需要與其他節點交互,單機模式就不使用HDFS,也不加載任何Hadoop的守護進程。該模式主要用于開發調試MapReduce程序的應用邏輯。
二 偽分布模式安裝
tar xzvf hadoop-0.20.2.tar.gz
Hadoop的配置文件:
conf/hadoop-env.sh 配置JAVA_HOME
core-site.xml 配置HDFS節點名稱和地址
hdfs-site.xml 配置HDFS存儲目錄,復制數量
mapred-site.xml 配置mapreduce的jobtracker地址
配置ssh,生成密匙,使到ssh可以免密碼連接
(RSA算法,基于因數不對稱加密:公鑰加密私鑰才能解密,私鑰加密公鑰才能解密)
cd /root
ssh -keygen -t rsa
cd .ssh
cp id_rsa.pub authorized_keys覆蓋公鑰,就能免密碼連接
啟動Hadoop bin/start-all.sh
停止Hadoop bin/stop-all.sh
三 完全分布式模式
1. 配置etc/hosts文件,使主機名解析為IP 或者使用DNS服務解析主機名
2. 建立hadoop運行用戶: useradd grid>passwd grid
3. 配置ssh密碼連入: 每個節點用grid登錄,進入主工作目錄,ssh -keygen -t rsa生產公鑰,然后將每個節點的公鑰復制到同一個文件中,再將這個包含所有節點公鑰的文件復制到每個節點authorized_keys目錄,這個每個節點之間彼此可以免密碼連接
4. 下載并解壓hadoop安裝包
5. 配置namenode,修改site文件
6. 配置hadoop-env.sh
7. 配置masters和slaves文件
8. 向各個節點復制hadoop
9. 格式化namenode
10.啟動hadoop
11.用jps檢驗各后臺進程是否成功啟動