天天看點

CentOS7下搭建hadoop2.7.3完全分布式

這裡搭建的是3個節點的完全分布式,即1個nameNode,2個dataNode,分别如下:

CentOS-master   nameNode   192.168.11.128

CentOS-node1   dataNode    192.168.11.131

CentOS-node2   dataNode    192.168..11.132

1.首先建立好一個CentOS虛拟機,将它作為主節點我這裡起名為CentOS-master,起什麼都行,不固定要求

2.VMware中打開虛拟機,輸入java -version,檢查是否有JDK環境,不要用系統自帶的openJDK版本,要自己安裝的版本

3.輸入 systemctl status firewalld.service ,若如圖,防火牆處于running狀态,則執行第4和第5步,否則直接進入第6步

CentOS7下搭建hadoop2.7.3完全分布式

 4.輸入 systemctl stop firewalld.service ,關閉防火牆

CentOS7下搭建hadoop2.7.3完全分布式

5.輸入 systemctl disable firewalld.service ,禁用防火牆

CentOS7下搭建hadoop2.7.3完全分布式

6.輸入 mkdir /usr/local/hadoop 建立一個hadoop的檔案夾

CentOS7下搭建hadoop2.7.3完全分布式

7.将hadoop的tar包放到剛建立好的目錄

CentOS7下搭建hadoop2.7.3完全分布式

8.進入hadoop目錄,輸入 tar -zxvf hadoop-2.7.3.tar.gz 解壓tar包

CentOS7下搭建hadoop2.7.3完全分布式

9.輸入 vi /etc/profile ,配置環境變量

CentOS7下搭建hadoop2.7.3完全分布式

10.加入如下内容,儲存并退出

HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.3/

PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

CentOS7下搭建hadoop2.7.3完全分布式

11.輸入 . /etc/profile ,使環境變量生效

CentOS7下搭建hadoop2.7.3完全分布式

12.任意目錄輸入 hado ,然後按Tab,如果自動補全為hadoop,則說明環境變量配的沒問題,否則檢查環境變量哪出錯了

CentOS7下搭建hadoop2.7.3完全分布式

13.建立3個之後要用到的檔案夾,分别如下:

mkdir /usr/local/hadoop/tmp

CentOS7下搭建hadoop2.7.3完全分布式

mkdir -p /usr/local/hadoop/hdfs/name

CentOS7下搭建hadoop2.7.3完全分布式

mkdir /usr/local/hadoop/hdfs/data

CentOS7下搭建hadoop2.7.3完全分布式

14.進入hadoop解壓後的 /etc/hadoop 目錄,裡面存放的是hadoop的配置檔案,接下來要修改這裡面一些配置檔案

CentOS7下搭建hadoop2.7.3完全分布式

15.有2個.sh檔案,需要指定一下JAVA的目錄,首先輸入 vi hadoop-env.sh 修改配置檔案

CentOS7下搭建hadoop2.7.3完全分布式

16.将原有的JAVA_HOME注釋掉,根據自己的JDK安裝位置,精确配置JAVA_HOME如下,儲存并退出

export JAVA_HOME=/usr/local/java/jdk1.8.0_102/

CentOS7下搭建hadoop2.7.3完全分布式

17.輸入 vi yarn-env.sh 修改配置檔案

CentOS7下搭建hadoop2.7.3完全分布式

18.加入如下内容,指定JAVA_HOME,儲存并退出

export JAVA_HOME=/usr/local/java/jdk1.8.0_102

CentOS7下搭建hadoop2.7.3完全分布式

19.輸入 vi core-site.xml 修改配置檔案

CentOS7下搭建hadoop2.7.3完全分布式

20.在configuration标簽中,添加如下内容,儲存并退出,注意這裡配置的hdfs:master:9000是不能在浏覽器通路的

<property>

<name> fs.default.name </name>

<value>hdfs://master:9000</value>

<description>指定HDFS的預設名稱</description>

</property>

<name>fs.defaultFS</name>

<description>HDFS的URI</description>

<name>hadoop.tmp.dir</name>

<value>/usr/local/hadoop/tmp</value>

<description>節點上本地的hadoop臨時檔案夾</description>

CentOS7下搭建hadoop2.7.3完全分布式

21.輸入 vi hdfs-site.xml 修改配置檔案

CentOS7下搭建hadoop2.7.3完全分布式

22.在configuration标簽中,添加如下内容,儲存并退出

        <name>dfs.namenode.name.dir</name>

        <value>file:/usr/local/hadoop/hdfs/name</value>

<description>namenode上存儲hdfs名字空間中繼資料 </description>

    </property>

    <property>

        <name>dfs.datanode.data.dir</name>

        <value>file:/usr/local/hadoop/hdfs/data</value>

<description>datanode上資料塊的實體存儲位置</description>

        <name>dfs.replication</name>

        <value>1</value>

<description>副本個數,預設是3,應小于datanode機器數量</description>

CentOS7下搭建hadoop2.7.3完全分布式

23.輸入 cp mapred-site.xml.template mapred-site.xml 将mapred-site.xml.template檔案複制到目前目錄,并重命名為mapred-site.xml

CentOS7下搭建hadoop2.7.3完全分布式

24.輸入 vi mapred-site.xml 修改配置檔案

CentOS7下搭建hadoop2.7.3完全分布式

25.在configuration标簽中,添加如下内容,儲存并退出

        <name>mapreduce.framework.name</name>

        <value>yarn</value>

<description>指定mapreduce使用yarn架構</description>

CentOS7下搭建hadoop2.7.3完全分布式

26.輸入 vi yarn-site.xml 修改配置檔案

CentOS7下搭建hadoop2.7.3完全分布式

27.在configuration标簽中,添加如下内容,儲存并退出

        <name>yarn.resourcemanager.hostname</name>

        <value>master</value>

<description>指定resourcemanager所在的hostname</description>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

<description>

NodeManager上運作的附屬服務。

需配置成mapreduce_shuffle,才可運作MapReduce程式

</description>

CentOS7下搭建hadoop2.7.3完全分布式

28.輸入 vi slaves 修改配置檔案

CentOS7下搭建hadoop2.7.3完全分布式

29.将localhost删掉,加入如下内容,即dataNode節點的主機名

node1

node2

CentOS7下搭建hadoop2.7.3完全分布式

30.将虛拟機關閉,再複制兩份虛拟機,重命名為如下,注意這裡一定要關閉虛拟機,再複制

CentOS7下搭建hadoop2.7.3完全分布式

31.将3台虛拟機都打開,後兩台複制的虛拟機打開時,都選擇“我已複制該虛拟機”

CentOS7下搭建hadoop2.7.3完全分布式

32.在master機器上,輸入 vi /etc/hostname,将localhost改為master,儲存并退出

CentOS7下搭建hadoop2.7.3完全分布式

33.在node1機器上,輸入 vi /etc/hostname,将localhost改為node1,儲存并退出

CentOS7下搭建hadoop2.7.3完全分布式

34.在node2機器上,輸入 vi /etc/hostname,将localhost改為node2,儲存并退出

CentOS7下搭建hadoop2.7.3完全分布式

35.在三台機器分别輸入 vi /etc/hosts 修改檔案,其作用是将一些常用的網址域名與其對應的IP位址建立一個關聯,當使用者在通路網址時,系統會首先自動從Hosts檔案中尋找對應的IP位址

36.三個檔案中都加入如下内容,儲存并退出,注意這裡要根據自己實際IP和節點主機名進行更改,IP和主機名中間要有一個空格

192.168.11.128 master

192.168.11.131 node1

192.168.11.132 node2

37.在master機器上輸入 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 建立一個無密碼的公鑰,-t是類型的意思,dsa是生成的密鑰類型,-P是密碼,’’表示無密碼,-f後是秘鑰生成後儲存的位置

CentOS7下搭建hadoop2.7.3完全分布式

38.在master機器上輸入 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 将公鑰id_dsa.pub添加進keys,這樣就可以實作無密登陸ssh

CentOS7下搭建hadoop2.7.3完全分布式

39.在master機器上輸入 ssh master 測試免密碼登陸

CentOS7下搭建hadoop2.7.3完全分布式

如果有詢問,則輸入 yes ,回車

CentOS7下搭建hadoop2.7.3完全分布式

40.在node1主機上執行 mkdir ~/.ssh

CentOS7下搭建hadoop2.7.3完全分布式

41.在node2主機上執行 mkdir ~/.ssh

CentOS7下搭建hadoop2.7.3完全分布式

42.在master機器上輸入 scp ~/.ssh/authorized_keys root@node1:~/.ssh/authorized_keys 将主節點的公鑰資訊導入node1節點,導入時要輸入一下node1機器的登陸密碼

CentOS7下搭建hadoop2.7.3完全分布式

43.在master機器上輸入 scp ~/.ssh/authorized_keys root@node2:~/.ssh/authorized_keys 将主節點的公鑰資訊導入node2節點,導入時要輸入一下node2機器的登陸密碼

CentOS7下搭建hadoop2.7.3完全分布式

44.在三台機器上分别執行 chmod 600 ~/.ssh/authorized_keys 賦予密鑰檔案權限

CentOS7下搭建hadoop2.7.3完全分布式
CentOS7下搭建hadoop2.7.3完全分布式
CentOS7下搭建hadoop2.7.3完全分布式

45.在master節點上分别輸入 ssh node1 和 ssh node2 測試是否配置ssh成功

CentOS7下搭建hadoop2.7.3完全分布式

46.如果node節點還沒有hadoop,則master機器上分别輸入如下指令将hadoop複制

scp -r /usr/local/hadoop/ root@node1:/usr/local/

scp -r /usr/local/hadoop/ root@node2:/usr/local/

47.在master機器上,任意目錄輸入 hdfs namenode -format 格式化namenode,第一次使用需格式化一次,之後就不用再格式化,如果改一些配置檔案了,可能還需要再次格式化

CentOS7下搭建hadoop2.7.3完全分布式

48.格式化完成

CentOS7下搭建hadoop2.7.3完全分布式

49.在master機器上,進入hadoop的sbin目錄,輸入 ./start-all.sh 啟動hadoop

CentOS7下搭建hadoop2.7.3完全分布式

50.輸入yes,回車

CentOS7下搭建hadoop2.7.3完全分布式

51.輸入 jps 檢視目前java的程序,該指令是JDK1.5開始有的,作用是列出目前java程序的PID和Java主類名,nameNode節點除了JPS,還有3個程序,啟動成功

CentOS7下搭建hadoop2.7.3完全分布式

52.在node1機器和node2機器上分别輸入 jps 檢視程序如下,說明配置成功

CentOS7下搭建hadoop2.7.3完全分布式
CentOS7下搭建hadoop2.7.3完全分布式

53.在浏覽器通路nameNode節點的8088端口和50070端口可以檢視hadoop的運作狀況

CentOS7下搭建hadoop2.7.3完全分布式

54.在master機器上,進入hadoop的sbin目錄,輸入 ./stop-all.sh 關閉hadoop

文章可以轉載,必須以連結形式标明出處。

本文轉自 張沖andy 部落格園部落格,原文連結: http://www.cnblogs.com/andy6/p/7440804.html  ,如需轉載請自行聯系原作者