在linux系統中安裝Hadoopjava
1.安裝環境配置
1)安裝linux虛擬機node
2)安裝SSH服務
3)安裝Java
4)解壓Hadoop安裝包
5)編輯conf/hadoop-env.sh文件
進入hadoop解壓文件夾
編輯conf/hadoop-env.sh
把JACA_HOME 設置爲Java安裝的根路徑
export JAVA_HOME=/usr/java/jdk.1.6.0.24linux
2.安裝步驟
hadoop集羣支持三種運行模式:單機模式,僞分佈模式和徹底分佈模式服務器
拷貝到/usr/local目錄下ssh
1)單機模式:安裝簡單,幾乎不用作任何配置,默認狀況下,Hadoop被配置成一個以非分佈模式運行的獨立的Java進程,適合開始時作調試工做
2)僞分佈模式:hadoop能夠在單節點上以僞分佈模式運行,用不一樣的Java進程模擬分佈式運行中的各種節點(NameNode,DataNode,JobTracker,TaskTracker,Secondary NameNode)分佈式
(1)進入hadoop的解壓目錄,編輯conf目錄下的core-site.xml,hdfs-site.xml和mapred-site.xml
三個核心配置文件oop
core-site.xml調試
<configuration>
<property>
<name>fs.default.name</name> 指定NameNode的ip地址和端口號
<value>hdfs://localhost:9000</value>
</property>
</configuration>orm
hdfs-site.xmlxml
<configuration>
<property>
<name>dfs.data.dir</name> 指定數據節點存放數據目錄
<value>/usr/local/hadoop/data</value> 目錄事先建好
</property>
<property>
<name>dfs.replication</name> 指定數據塊 複製
<value>1</value> 僞分佈式只有一個節點
</property>
<configuration>
mapred-site.xml 文件
<configuration>
<property>
<name>mapred.job.tracker</name> 指定做業跟蹤器位置
<value>localhost:9001</value>
</property>
</configuration>
(2)配置ssh 生成祕鑰,使到ssh能夠免密碼鏈接到localhost,
(3)hadoop運行
a 格式化分佈式文件系統
bin/hadoop namenode -format
b 啓動hadoop守護進程
bin/start-all.sh
成功執行後,將在本機上啓動NameNode,DataNode,JobTracker,TaskTracker,Secondary NameNode五個java進程
c中止hadoop守護進程
bin/stop-all.sh
3)徹底分佈式模式:正常的hadoop的集羣,由多個各司其職的節點構成
(1)配置NameNode和DataNode
配置成功的關鍵在於確保個機器的主機和IP地址之間能正確解析,修改每臺機器的/etc/hosts,若是該機器做NameNode用,則須要添加集羣中全部機器的IP地址及其對應主機名,若是該臺機器僅做爲DataNode用,只需添加本機和NameNode的Ip地址及其對應的主機名,假如h1爲NameNode,h2,h3爲DataNode
127.0.0.1 localhost
192.168.80.100 h1
192.168.80.101 h2
192.168.80.102 h3
(2)在全部的機器上創建相同的用戶grid
(3)SSH配置,目的是免密碼登陸
分發ssh公鑰,把各個節點的authorized-keys的內容互相拷貝加入到對方的此文件中,而後就能夠免密碼彼此ssh連入
(4)配置hadoop
首先在namenode h1上配置
a 解壓hadoop,在解壓目錄下按照僞分佈模式相同的方法修改core-site.xml,hdfs-site.xml,mapred-site.xml等配置文件 (注意:localhost,修改成指定的ip地址)
b 編輯masters和slaves文件,每一個服務器各一行
masters
h1
slaves
h2
h3
c 向各個節點複製hadoop(配置好後)
scp -r /hadoop-0.20.2 h2:/home/grip
scp -r /hadoop-0.20.2 h3:/home/grip
d 編輯全部機器的/conf/hadoop-env.sh文件,將JAVA_HOME變量設置爲各自Java安裝的根
目錄
至此,hadoop已經在集羣上部署完畢,若是要新加入或刪除節點,僅需修改NameNode的masters和slaves
(5)hadoop運行
a格式化分佈式文件系統
/bin/hadoop namenode -format
b啓動hadoop守護進程,在h1上啓動namenode,JobTracker和Secondary NameNode 在h2,h3上啓動DataNode和TaskTracker
在namenode
/bin/start-all.sh 啓動腳本
檢測守護進程啓動狀況
/usr/java/jdk1.6.0-26/bin/jps 查看跟java有關的進程信息
在DataNode用相同的命令觀察