溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

虛擬機(jī)搭建Hadoop

發(fā)布時(shí)間:2020-08-11 18:19:14 來源:網(wǎng)絡(luò) 閱讀:998 作者:zhj789 欄目:大數(shù)據(jù)

最近學(xué)習(xí)搭建hadoop,通過邊查資料邊搭建,花了半天也搭建好了,借此寫下搭建總結(jié),在這里感謝博友【數(shù)據(jù)放大鏡】的文章,很不錯(cuò),就是按照他的步驟搭建下來的,在這里,自己完善了一下,不說了,直接開搞:Ps:由于自己的本本配置略差,所以只裝了3個(gè)虛擬機(jī)


1:工具列表
Linux 這里使用的是:CentOS 6.5
Hadoop 這里使用的是:hadoop-1.2.1-bin.tar.gz
JDK 這里使用的是:jdk-8u172-linux-x64.tar.gz


2:通過VMware裝3個(gè)Linux系統(tǒng)的虛擬機(jī),這里就不做介紹了(這里使用的是CentOS 6.5版本)
裝好系統(tǒng)以后,下面的步驟建議在root用戶下操作


3 :配置網(wǎng)絡(luò)
將3臺(tái)機(jī)器的IP配置成固定IP, 網(wǎng)絡(luò)設(shè)置成NET方式

        配置固定IP
        cd  /etc/sysconfig/network-scripts;  vi  ifcfg-eth0

        DEVICE="eth7"
  BOOTPROTO="static"        #這里是設(shè)置固定IP模式的: static固定,  DHCP自動(dòng)獲取#
  HWADDR="00:0C:29:2A:0E:89"
  IPV6INIT="yes"
  NM_CONTROLLED="yes"
  ONBOOT="yes"
  TYPE="Ethernet"
  UUID="8ffaa06d-8057-43a1-bb93-1302400da0b9"
  IPADDR=192.168.183.130      #這里是設(shè)置IP
  GATEWAY=192.168.183.2      #網(wǎng)關(guān)

        我這里設(shè)置的是192.168.183.130(父)
             其他兩個(gè)環(huán)境分別設(shè)置成: 192.168.183.128(子)
                                                              192.168.183.129(子)

 設(shè)置虛擬機(jī)登錄方式:(這里我個(gè)人設(shè)置的NET連接方式,其他的應(yīng)該也可以,可以嘗試一下)

     NET聯(lián)網(wǎng)設(shè)置
     虛擬機(jī)(編輯----.>虛擬網(wǎng)絡(luò)編輯器),選擇NET模式     下面的子網(wǎng)IP  設(shè)置成 192.168.183.0    進(jìn)入NET設(shè)置,里面將網(wǎng)關(guān)設(shè)置成192.168.183.2

     然后進(jìn)入自己本機(jī)的網(wǎng)絡(luò)設(shè)置頁面: 打開網(wǎng)絡(luò)與共享中心----->更改適配器設(shè)置------>  進(jìn)入VMware Network Adapter VMnet8的屬性IPv4設(shè)置  
      默認(rèn)網(wǎng)關(guān)設(shè)置成192.168.183.2

        然后重啟虛擬機(jī)的網(wǎng)絡(luò)連接(虛擬機(jī)右下角的電腦圖標(biāo),斷開連接,再重新連接)
        虛擬機(jī)的設(shè)置里面    設(shè)置--->硬件-----> 網(wǎng)絡(luò)適配器-----> 網(wǎng)絡(luò)連接(選擇自定義,復(fù)選VMnet8(NET模式))
        重啟虛擬機(jī)

4:配置hostname 和 免密互相訪問

  配置hostname  
        cd   /etc;    vi  hosts

        在文件內(nèi)容下面追加
        192.168.183.130 blue
  192.168.183.129 blue2
  192.168.183.128 blue3

         注: 要對3個(gè)環(huán)境分別修改操作

         配置network文件

         cd  /etc/sysconfig ;  vi  network 
         編輯network的值,分別修改成blue    blue2    blue3

         重啟虛擬機(jī),執(zhí)行hostname   命令,會(huì)發(fā)現(xiàn)hostname修改成功了

     設(shè)置免密互相訪問

         生成秘鑰key
         首先建立目錄:   mkdir  /root/.ssh
         執(zhí)行命令    ssh-keygen     (過程中出現(xiàn)需要確認(rèn)情況,直接回車跳過----這些確認(rèn)步驟是提示設(shè)置密碼的)
         執(zhí)行結(jié)束后會(huì)在  /root/.ssh 目錄下生成2個(gè)文件   id_rsa    id_rsa.pub
         不通的機(jī)器生成的文件內(nèi)容不同:
         比如:
         192.168.183.130環(huán)境生成的 id_rsa.pub:
         ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxxuQrPBqE09NVjfHbquem5abgu7htljA7bNddQsAP/7wuko7dy6JC5lc1+oant4TrDSu+QTEEMt4anIyp3dk2FAP1FrSlyZvioC0oPhcAfXlVUe/WOLaoVsXvXc7BaRx/DVeWBoadYoVN/zb/jrgBiVSN0mklawrZou+GkNs0I2EtOL8URx6ZGO5H5pyfy8tZeebCoE2BgMw7nZBHccnL1InCc38Hpn90cyu5vA9xNT0Akp1npCGKmLYMkoWnCdSqPwwM69ZkRHAo4gL/0ZeyAkPzSa6cyFAQa40wTxq5ye8M2eCGBmjhKhauRgyo8SdN7A9sJ63FXMGCJkzI48aIw== root@blue

         192.168.183.128環(huán)境生成的 id_rsa.pub:
         ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAucpajUU3o6XCk6V6JxPT7fgUDJ7Cw/tItDEFB9EMDSoCfua+tARPUdickq6qdqcrzE0JS2sB1Clil4p8nO7DL0HPQwK4ER3CEzXUDB9uoUeuDKNDpRHJFZvvDHs1Lqo+OPMZ6hbWVGh2DE+yFLOKBQ3DtbfGYZhePXryqhh/W2FrI/3LjT1DLSTckGa7ZgqaPh6t4YmktpLGzue3KjWzRAb2BPdKqgK5f67w5RSv4s3ttZbAMOGebg/PNdl9M77oSX7HsMIDkvbkogIZDHV+2LWIyHpaCAvBNDzHQd/67+XlRH1GJummFQjFrl3wJ1epJFl2rPhZjmT+37CCnMUbAQ== root@blue3
         192.168.183.129環(huán)境生成的 id_rsa.pub:
         ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzkKeSoDQx9AnAKkBoygiWLH25Pp6GlwjaqqG9LnbCwif5LcUX4N2mfWyXrgpJ3C5PB0r4xq7T776U1Q+VUj43/JEBmlFzpzIiQt0k0yB10mzDVdJwHSWspjQGNkCsiCF9gnuUpcxU5QO0J9gCvJhgfoK6mbVM+xBjF3B5pBaIdnSLZJTqlAlG62SH+kOQQWjkhiFzrxJdfViAcq4Leyg5WP+rBs7tKXysmwnFtpbn6Tok4V+p3VGFqg9/p8OB2HwWokHPV/ZISGbo4G6UpEtYp2hfcLJyo8JjJ1LCDszMyyvIrAZwo/wm6HCNuQU5kG4glghpUrhIEwPqivTeKq4eQ== root@blue2

         將id_rsa.pub寫入authorized_keys    
         在父節(jié)點(diǎn)執(zhí)行命令:  cat id_rsa.pub > authorized_keys
         然后將子節(jié)點(diǎn)的id_rsa.pub 文件追加到authorized_keys,最后追加后的內(nèi)容的root 改成blue.  最終的authorized_keys文件內(nèi)容為:

         ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxxuQrPBqE09NVjfHbquem5abgu7htljA7bNddQsAP/7wuko7dy6JC5lc1+oant4TrDSu+QTEEMt4anIyp3dk2FAP1FrSlyZvioC0oPhcAfXlVUe/WOLaoVsXvXc7BaRx/DVeWBoadYoVN/zb/jrgBiVSN0mklawrZou+GkNs0I2EtOL8URx6ZGO5H5pyfy8tZeebCoE2BgMw7nZBHccnL1InCc38Hpn90cyu5vA9xNT0Akp1npCGKmLYMkoWnCdSqPwwM69ZkRHAo4gL/0ZeyAkPzSa6cyFAQa40wTxq5ye8M2eCGBmjhKhauRgyo8SdN7A9sJ63FXMGCJkzI48aIw== root@blue

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzkKeSoDQx9AnAKkBoygiWLH25Pp6GlwjaqqG9LnbCwif5LcUX4N2mfWyXrgpJ3C5PB0r4xq7T776U1Q+VUj43/JEBmlFzpzIiQt0k0yB10mzDVdJwHSWspjQGNkCsiCF9gnuUpcxU5QO0J9gCvJhgfoK6mbVM+xBjF3B5pBaIdnSLZJTqlAlG62SH+kOQQWjkhiFzrxJdfViAcq4Leyg5WP+rBs7tKXysmwnFtpbn6Tok4V+p3VGFqg9/p8OB2HwWokHPV/ZISGbo4G6UpEtYp2hfcLJyo8JjJ1LCDszMyyvIrAZwo/wm6HCNuQU5kG4glghpUrhIEwPqivTeKq4eQ== blue@blue2
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAucpajUU3o6XCk6V6JxPT7fgUDJ7Cw/tItDEFB9EMDSoCfua+tARPUdickq6qdqcrzE0JS2sB1Clil4p8nO7DL0HPQwK4ER3CEzXUDB9uoUeuDKNDpRHJFZvvDHs1Lqo+OPMZ6hbWVGh2DE+yFLOKBQ3DtbfGYZhePXryqhh/W2FrI/3LjT1DLSTckGa7ZgqaPh6t4YmktpLGzue3KjWzRAb2BPdKqgK5f67w5RSv4s3ttZbAMOGebg/PNdl9M77oSX7HsMIDkvbkogIZDHV+2LWIyHpaCAvBNDzHQd/67+XlRH1GJummFQjFrl3wJ1epJFl2rPhZjmT+37CCnMUbAQ== blue@blue3

將authorized_keys 文件分發(fā)到2個(gè)子節(jié)點(diǎn):
在父節(jié)點(diǎn)執(zhí)行命令:
scp –r authorized_keys 192.168.183.128:~/.ssh
scp –r authorized_keys 192.168.183.129:~/.ssh

該步驟結(jié)束后,會(huì)發(fā)現(xiàn)三個(gè)環(huán)境可以可以免密互相訪問了


5: 配置安裝Hadoop (中間需要安裝JDK,配置環(huán)境變量)

首先對環(huán)境進(jìn)項(xiàng)配置:
    關(guān)閉3個(gè)環(huán)境的防火墻
    命令:  service  iptables  stop
    查看狀態(tài):  service  iptables  status  
   出現(xiàn)這種提示:iptables: Firewall is not running. 表明防火墻已經(jīng)關(guān)閉  
 或者執(zhí)行   iptables   -L
 出現(xiàn)下面的這種提示,也表明防火墻已經(jīng)關(guān)閉
 Chain INPUT (policy ACCEPT)

target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination


 安裝JDK(我這里使用的是jdk-8u172-linux-x64.tar.gz):將下載好的軟件包解壓到指定目錄: (這里的目錄是  安裝部署目錄為 /usr/local/src)

 tar  -zxvf   jdk-8u172-linux-x64.tar.gz
 解壓后當(dāng)前目錄下生成  jdk1.8.0_172目錄

 配置環(huán)境變量:  
 vi   /root/.bashrc
 在文件中追加內(nèi)容:
 #set java path

export JAVA_HOME=/usr/local/src/jdk1.8.0_172
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin/:$PATH

然后讓環(huán)境變量生效
source .bashrc

執(zhí)行命令: java 可以查看環(huán)境變量是否生效。

按照相同的方法在其他兩個(gè)環(huán)境中分別安裝JDK,配置環(huán)境變量。

********************************************************************************************************************************************************************************************

 安裝Hadoop軟件(我這里使用的是hadoop-1.2.1-bin.tar.gz):  將下載好的軟件包解壓到指定目錄:(這里的目錄是  安裝部署目錄為 /usr/local/src)
 解壓包

 tar  -zxvf  hadoop-1.2.1-bin.tar.gz 

對解壓后的目錄 hadoop-1.2.1 進(jìn)行修改 mv hadoop-1.2.1 hadoop (也可以不修改,只要保證這個(gè)目錄名跟下面的配置文件的目錄名保持一致就OK,只是筆者有強(qiáng)迫癥)

修改Hadoop工具配置文件:
cd /usr/local/src/hadoop/conf;
修改的配置文件有6個(gè)
分別為
masters
slaves
core-site.xml
mapred-site.xml
hdfs-site.xml
hadoop-env.sh

 開始配置:
 vi  masters
 將內(nèi)容修改成:
 blue

 +++++++++++++++++++++++++++++++

 vi  slaves
 將內(nèi)容修改成
 blue2
 blue3

 +++++++++++++++++++++++++++++++

 vi  core-site.xml
補(bǔ)充configuration內(nèi)的內(nèi)容
修改后的文件內(nèi)容
<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/src/hadoop/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.183.130:9000</value>
</property>
</configuration>

+++++++++++++++++++++++++++++++++++

vi mapred-site.xml
補(bǔ)充configuration內(nèi)的內(nèi)容
修改后的文件內(nèi)容
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>http://192.168.183.130:9001</value>
</property>
</configuration>

++++++++++++++++++++++++++++++++++

vi hdfs-site.xml
補(bǔ)充configuration內(nèi)的內(nèi)容
修改后的文件內(nèi)容
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>

++++++++++++++++++++++++++++++++++++++

vi hadoop-env.sh
在配置文件中追加一行內(nèi)容:
export JAVA_HOME= /usr/local/src/jdk1.8.0_172

+++++++++++++++++++++++++++++++++++++++++++

配置完成后將Hadoop目錄分發(fā)到其他兩個(gè)環(huán)境:
scp -rp /usr/local/src/hadoop 192.168.183.128:/usr/local/src
scp -rp /usr/local/src/hadoop 192.168.183.129:/usr/local/src

再次檢查防火墻狀態(tài):
service iptables status

啟動(dòng)Hadoop
啟動(dòng)之前需要格式換節(jié)點(diǎn)(以下操作均在父節(jié)點(diǎn)操作):

cd hadoop/bin ; ./hadoop namenode -format

輸出:
18/05/13 06:32:14 INFO namenode.NameNode: STARTUP_MSG:
/****
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = blue/192.168.183.130
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 1.2.1
STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152; compiled by 'mattf' on Mon Jul 22 15:23:09 PDT 2013
STARTUP_MSG: java = 1.8.0_172
****/
Re-format filesystem in /usr/local/src/hadoop/tmp/dfs/name ? (Y or N) y
Format aborted in /usr/local/src/hadoop/tmp/dfs/name
18/05/13 06:32:20 INFO namenode.NameNode: SHUTDOWN_MSG:
/****
SHUTDOWN_MSG: Shutting down NameNode at blue/192.168.183.130
****/


啟動(dòng)Hadoop
./start-all.sh
輸出:
starting namenode, logging to /usr/local/src/hadoop/libexec/../logs/hadoop-root-namenode-blue.out
blue3: starting datanode, logging to /usr/local/src/hadoop/libexec/../logs/hadoop-root-datanode-blue3.out
blue2: starting datanode, logging to /usr/local/src/hadoop/libexec/../logs/hadoop-root-datanode-blue2.out
blue: starting secondarynamenode, logging to /usr/local/src/hadoop/libexec/../logs/hadoop-root-secondarynamenode-blue.out
starting jobtracker, logging to /usr/local/src/hadoop/libexec/../logs/hadoop-root-jobtracker-blue.out
blue2: starting tasktracker, logging to /usr/local/src/hadoop/libexec/../logs/hadoop-root-tasktracker-blue2.out
blue3: starting tasktracker, logging to /usr/local/src/hadoop/libexec/../logs/hadoop-root-tasktracker-blue3.out


執(zhí)行命令:
jps
輸出:
3889 SecondaryNameNode
4194 Jps
3971 JobTracker
3740 NameNode


在2個(gè)子節(jié)點(diǎn)執(zhí)行命令:
jps
分別輸出:
3859 DataNode
3932 TaskTracker
4030 Jps

2998 TaskTracker
3096 Jps
2925 DataNode
這就表示搭建配置成功了。


如果執(zhí)行jps的時(shí)候出現(xiàn):
bash:jps:command not found
表示環(huán)境變量的問題,檢查一下環(huán)境變量設(shè)置


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI