徹底分佈式Hadoop的搭建

前提工做:node

克隆2臺虛擬機完成後:新的2臺虛擬機,請務必依次修改3臺虛擬機的ip地址和主機名稱【建議三臺主機名稱依次叫作:master、node一、node2 】 上一篇博客web

(三臺虛擬機都要開機)chrome

Hadoop2.6.0 的壓縮包,這裏我提供百度雲,沒有的能夠進行下載shell

    連接:https://pan.baidu.com/s/1euN5AwSHHP-mqz4U_6ldEQ
    提取碼:jh1m windows

一、設置主機名與ip的映射,修改配置文件命令:vi /etc/hosts瀏覽器

二、將hosts文件拷貝到node1和node2節點app

命令:ssh

scp /etc/hosts node1:/etc/hostswebapp

scp /etc/hosts node2:/etc/hostsoop

三、上述修改完成後,請依次重啓三臺虛擬機:重啓命令:reboot

四、關閉防火牆(三臺都要操做),使用命令:service iptables stop

五、關閉防火牆的自動啓動(三臺都要操做),使用命令:chkconfig iptables off

六、設置ssh免密碼登陸(只在Master 這臺主機操做

  主節點執行命令  ssh-keygen -t rsa     產生密鑰 一直回車

  執行命令

七、將密鑰拷貝到其餘兩個子節點,命令以下:

ssh-copy-id -i node1

ssh-copy-id -i node2

實現免密碼登陸到子節點。

八、實現主節點master本地免密碼登陸

首先進入到/root 命令:cd  /root

再進入進入到 ./.ssh目錄下

命令:cd ./.ssh/

九、而後將公鑰寫入本地執行命令:

cat ./id_rsa.pub >> ./authorized_keys

如圖

--------------------------------------------------------------------------如下操做都在master上進行-----------------------------------------------------------------------------------------------------------------------

十、將hadoop的jar包先上傳到虛擬機/usr/local/soft目錄下,主節點。可使用xshell拖拽

十一、解壓。tar -zxvf hadoop-2.6.0.tar.gz 解壓完後會出現 hadoop-2.6.0的目錄

十二、修改master中hadoop的一個配置文件/usr/local/soft/etc/hadoop/slaves

 刪除原來的全部內容,修改成以下(你的節點名稱)

node1

node2

1三、修改hadoop的幾個組件的配置文件 進入cd /usr/local/soft/hadoop-2.6.0/etc/hadoop 目錄下(請必定要注意配置文件內容的格式,能夠直接複製過去黏貼。不要隨意改 !!!!!!!!)

* 修改hadoop-env.sh文件

加上一句:

export JAVA_HOME=/usr/local/soft/jdk1.8.0_171 (本身的jdk路徑)

1四、修改 core-site.xml

將下面的配置參數加入進去修改爲對應本身的

複製代碼
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value> //這裏的master是個人主機名
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/soft/hadoop-2.6.0/tmp</value> //你的Hadoop路徑
</property>
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
</configuration>
複製代碼

1五、修改 hdfs-site.xml 將dfs.replication設置爲1  (由於我這裏就只有一個主節點和兩個子節點)

複製代碼
<configuration>
<property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> </configuration>
複製代碼

1六、修改文件yarn-site.xml

複製代碼
 1 <configuration>
 2 <property>
 3 <name>yarn.resourcemanager.hostname</name>
 4 <value>master</value>                        //你的主機名
 5 </property>
 6 <property>
 7 <name>yarn.nodemanager.aux-services</name>
 8 <value>mapreduce_shuffle</value>
 9 </property>
10 <property>
11 <name>yarn.log-aggregation-enable</name>
12 <value>true</value>
13 </property>
14 <property>
15 <name>yarn.log-aggregation.retain-seconds</name>
16 <value>604800</value>
17 </property>
18 <property>  
19 <name>yarn.nodemanager.resource.memory-mb</name>  
20 <value>20480</value>  
21 </property>  
22 <property>  
23 <name>yarn.scheduler.minimum-allocation-mb</name>  
24 <value>2048</value>  
25 </property>  
26 <property>  
27 <name>yarn.nodemanager.vmem-pmem-ratio</name>  
28 <value>2.1</value>  
29 </property>  
30 </configuration>
複製代碼

1七、(將mapred-site.xml.template 複製一份爲 mapred-site.xml

命令:cp mapred-site.xml.template mapred-site.xml) 而後修改 mapred-site.xml

複製代碼
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>  
<name>mapreduce.jobhistory.address</name>  
<value>master:10020</value>    //個人主節點名字叫master
</property>  
<property>  
<name>mapreduce.jobhistory.webapp.address</name>  
<value>master:19888</value>   //個人主節點名字叫master
</property> 
</configuration>
複製代碼

1八、將hadoop的安裝目錄分別拷貝到其餘子節點

 scp -r /usr/local/soft/hadoop-2.6.0  node1:/usr/local/soft/

 scp -r /usr/local/soft/hadoop-2.6.0  node2:/usr/local/soft/

1九、啓動hadoop

首先看下hadoop-2.6.0目錄下有沒有tmp文件夾。

若是沒有 執行一次格式化命令:

cd  /usr/local/soft/hadoop-2.6.0目錄下

執行命令:

./bin/hdfs namenode -format

會生成tmp文件。

20、/usr/local/soft/hadoop-2.6.0目錄下

  啓動執行:./sbin/start-all.sh 

2一、啓動完成後經過jps命令查看驗證進程:jps

主節點進程爲下面幾個(下面是進程名稱,不是命令):

Namenode

secondarnamenode

resourcemanager

2二、子節點進程 (在node1和node2上分別輸入命令:jps)

datanode

nodenodemanager

2三、驗證hdfs:

能夠windows電腦登陸瀏覽器(強烈建議chrome瀏覽器)

地址:192.168.1.80:50070 (ip地址是master的地址)

看到下面頁面證實 hdfs裝好了

下圖是我已經建立了一個hdfs上的目錄,剛裝好的hadoop應該是空的什麼都沒有

 

 

 

 

 

 

 

******* 若是第一次啓動失敗了,請從新檢查配置文件或者哪裏步驟少了。

再次重啓的時候

1須要手動將每一個節點的tmp目錄刪除:

rm -rf /usr/local/soft/hadoop-2.6.0/tmp

而後執行將namenode格式化

2在主節點執行命令:

./bin/hdfs namenode -format

 

若是在put文件的過程當中出現了_COPYING_ could only be replicated to 0 nodes instead  of minReplication (=1).

的報錯

1 格式化重來

2 若是不行,看下時間,防火牆

3 修改 hosts文件,把裏面那兩條刪了

相關文章
相關標籤/搜索