偽分散式安裝Hadoop
Hadoop簡單介紹
Hadoop:適合大資料分散式儲存與計算的平臺。
Hadoop兩大核心專案:
1、HDFS:Hadoop分散式檔案系統
HDFS的架構: 主從結構:
主節點,只有一個:namenode
1、接收使用者操作請求
2、維護檔案系統的目錄結構
3、管理檔案與block之間關係,block與datanode之間關係
從節點,有很多個:datanodes
1、儲存檔案
2、檔案被分成block儲存在磁碟上
3、為保證資料安全,檔案會有多個副本
2、MapReduce:平行計算框架
MapReducede的架構:主從結構:
主節點,只有一個:JobTracker
1、接收客戶端提交的計算任務
2、把計算任務分給TaskTrackers執行
3、監控TaskTracker的執行情況
從節點,有很多個:TaskTrackers
執行JobTracker分配的計算任務
Hadoop的特點:
1、擴容能力
2、成本低
3、高效率
4、可靠性
Hadoop部署方式:
1、本地模式
2、偽分佈模式
3、叢集模式
安裝前準備軟體:
1、Vitual Box/VMWare
2、centOS
3、jdk-6u24-linux-xxx.bin
4、hadoop-1.1.2.tar.gz
1.hadoop的偽分佈安裝
1.1 設定ip地址
執行命令 service network restart
驗證: ifconfig
1.2 關閉防火牆
執行命令 service iptables stop
驗證: service iptables status
1.3 關閉防火牆的自動執行
執行命令 chkconfig iptables off
驗證: chkconfig --list | grep iptables //過濾出iptables
1.4 設定主機名(按下面這兩步進行)
執行命令 (1)hostname chaoren //設定當前主機名為chaoren,但是重啟系統後會失效
(2)vi /etc/sysconfig/network //編輯檔案設定主機名,重啟後不會失效
1.5 ip與hostname繫結
執行命令 vi /etc/hosts //在檔案下面增加一行 192.168.80.100 chaoren
驗證: ping chaoren
1.6 設定ssh免密碼登陸
執行命令 (1)ssh-keygen -t rsa //一直回車即可
(2)cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
驗證: ssh chaoren
windows與Linux之間傳輸檔案工具: WinSCP
安裝好,開啟設定: 主機名:192.168.56.100 使用者名稱:root 密碼:hadoop
然後點選儲存,勾選上儲存密碼,然後雙擊連線登入。
將左側Windows下的檔案,拖動複製到右側Linux下的目錄/usr/local下。
1.7 安裝jdk
執行命令 (1)cd /usr/local
(2)chmod u+x jdk-6u24-linux-i586.bin //增加執行的許可權
(3)./jdk-6u24-linux-i586.bin //解壓
(4)mv jdk-1.6.0_24 jdk //重新命名
(5)vi /etc/profile 增加內容如下:
export JAVA_HOME=/usr/local/jdk
export PATH=.:JAVA H OME/bin: JAVAHOME/bin:PATH
(6)source /etc/profile //重新整理環境變數
驗證: java -version (改變後,OpenJdk就變成了oracle下的jdk了)
1.8 安裝hadoop
執行命令 (1)tar -zxvf hadoop-1.1.2.tar.gz //解壓
(2)mv hadoop-1.1.2 hadoop //重新命名
(3)vi /etc/profile 修改環境變數,增加內容如下:
export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/usr/local/hadoop
export PATH=.:HADOOP H OME/bin: HADOOPHOME/bin:JAVA_HOME/bin:$PATH
(4)source /etc/profile
(5)修改conf目錄下的配置檔案(直接在WinSCP中編輯修改儲存)
export JAVA_HOME=/usr/local/jdk/
core-site.xml:
fs.default.name
hdfs://主機名:9000
hadoop.tmp.dir
/usr/local/hadoop/tmp
hdfs-site.xml:
dfs.replication
1
dfs.permissions
false
mapred-site.xml:
mapred.job.tracker
主機名:9001
(6)hadoop namenode -format //儲存之前,要對檔案系統進行格式化
(7)start-all.sh
驗證: (1)執行命令jps 如果看到5個新的java程序,分別是NameNode、SecondaryNameNode、DataNode、JobTracker、TaskTracker
(2)在瀏覽器檢視,http://chaoren:50070 http://chaoren:50030
1.9 啟動時沒有NameNode的可能原因:
(1)沒有格式化
(2)環境變數設定錯誤
(3)ip與hostname繫結失敗