溫馨提示×

溫馨提示×

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

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

簡單搭建hadoop運行環境

發布時間:2020-07-06 23:33:15 來源:網絡 閱讀:702 作者:紙盒人 欄目:大數據


簡單搭建hadoop運行環境


  Hadoop是Apache軟件基金會旗下的一個開源分布式計算平臺。以Hadoop分布式文件系統(HDFS,Hadoop Distributed Filesystem)和MapReduce(Google MapReduce的開源實現)為核心的Hadoop為用戶提供了系統底層細節透明的分布式基礎架構

  對于Hadoop的集群來講,可以分成兩大類角色:Master和Salve。一個HDFS集群是由一個NameNode和若干個DataNode組成的。其中NameNode作為主服務器,管理文件系統的命名空間和客戶端對文件系統的訪問操作;集群中的DataNode管理存儲的數據。MapReduce框架是由一個單獨運行在主節點上的JobTracker和運行在每個集群從節點的TaskTracker共同組成的。主節點負責調度構成一個作業的所有任務,這些任務分布在不同的從節點上。主節點監控它們的執行情況,并且重新執行之前的失敗任務;從節點僅負責由主節點指派的任務。當一個Job被提交時,JobTracker接收到提交作業和配置信息之后,就會將配置信息等分發給從節點,同時調度任務并監控TaskTracker的執行。

  從上面的介紹可以看出,HDFS和MapReduce共同組成了Hadoop分布式系統體系結構的核心。HDFS在集群上實現分布式文件系統,MapReduce在集群上實現了分布式計算和任務處理。HDFS在MapReduce任務處理過程中提供了文件操作和存儲等支持,MapReduce在HDFS的基礎上實現了任務的分發、跟蹤、執行等工作,并收集結果,二者相互作用,完成了Hadoop分布式集群的主要任務



一、安裝前的準備

  已安裝"SoftwareDevelopment Workstation"軟件包的linux虛擬機3臺

  jdk-6u45-linux-x64.bin安裝包、hadoop-1.0.0.tar.gz安裝包

  

  1、設定linux虛擬機IP地址及主機名如下:

主機名  IP地址
master 192.168.232.129
salve1 192.168.232.130
salve2 192.168.232.131

  2、向/etc/hosts文件添加內容,使虛擬機之間使用主機名能夠互ping(非常重要!!!)

# 可以只修改一個主機的/etc/hosts文件,然后用scp命令遠程傳輸覆蓋其他主機的hosts文件
[root@master ~]# vim /etc/hosts
master 192.168.232.129
salve1 192.168.232.130
salve2 192.168.232.131

[root@master ~]# scp /etc/hosts root@salve1:/etc/hosts
[root@master ~]# scp /etc/hosts root@salve2:/etc/hosts

# 測試
[root@master ~]# ping master
[root@master ~]# ping salve1
[root@master ~]# ping salve2

  3、設置三臺主機ssh無密碼驗證配置

# 在master主機上生成密碼對
[root@master ~]# ssh-keygen -t rsa
# 敲兩次回車,便會在/root/.ssh目錄下生成id_rsa.pub(公鑰文件)、id_rsa(私鑰文件)
# 將公鑰文件追加到/root/.ssh/authorized_keys文件中,并測試是否可以實現無密碼登錄
[root@master ~]# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
[root@master ~]# ssh master

# 將公鑰文件遠程傳輸到salve1、salve2主機上
[root@master ~]# scp .ssh/id_rsa.pub root@salve1:/root/.ssh/
[root@master ~]# scp .ssh/id_rsa.pub root@salve2:/root/.ssh/
# 將傳輸過來的公鑰文件追加到authorized_keys,實現master主機ssh無密碼登陸salve1、salve2主機
[root@salve1 ~]# cat .ssh/id_rsa.pub >> .ssh/authorized_keys
[root@salve2 ~]# cat .ssh/id_rsa.pub >> .ssh/authorized_keys

# 測試
[root@master ~]# ssh salve1
[root@master ~]# ssh salve2
# 需要注意的是,以上操作還需要在其他主機上操作一次,以實現三臺主機均可以相互無密碼登錄

# 如果在以上操作完成后,出現登錄失敗的情況,請修改三個主機的ssh配置文件,修改以下參數,并重啟ssh服務
[root@master ~]# vim /etc/ssh/ssh_config
RSAAuthentication yes    # 啟用RSA認證
PubkeyAuthentication yes # 啟用公鑰、私鑰配對認證
[root@master ~]# service sshd restart



二、開始安裝配置

   1、Java環境安裝(如果在安裝linux時安裝了SoftwareDevelopment Workstation軟件包,這一步可跳過)

    

    1.1、安裝JDK

    所有機器上都要安裝JDK,現在就在master主機安裝,然后其他主機按照步驟重復進行即可

# 創建/usr/java目錄,將jdk-6u45-linux-x64.bin復制到此目錄下,賦予執行權限,并執行
[root@master ~]# mkdir /usr/java
[root@master ~]# cp jdk-6u45-linux-x64.bin /usr/java/
[root@master ~]# cd /usr/java/
[root@master java]# chmod +x jdk-6u45-linux-x64.bin
[root@master java]# ./jdk-6u45-linux-x64.bin
[root@master java]# lsjdk1.6.0_45  jdk-6u45-linux-x64.bin

# 安裝完成后發現當前目錄下多了 jdk1.6.0_45 文件夾,安裝結束

   1.2、配置環境變量

# 編輯/etc/profile文件,在尾部追加以下內容
[root@master ~]# vim /etc/profile
# set java environment
export JAVA_HOME=/usr/java/jdk1.6.0_45
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin:$$JAVA_HOME/jre/bin

# 執行下面命令使其配置立即生效,并進行測試
[root@master ~]# source /etc/profile
[root@master ~]# java -version
java version "1.6.0_45"
OpenJDK Runtime Environment (rhel-2.4.3.3.el6-x86_64 u45-b15)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)

   1.3、安裝配置其他主機(同上,略)




  2、hadoop集群安裝配置

    

    2.1、hadoop集群安裝

    所有機器上都要安裝JDK,現在就在master主機安裝,然后其他主機按照步驟重復進行即可

# 將軟件包解壓到/usr/目錄下,并重命名
[root@master ~]# tar –zxvf hadoop-1.0.0.tar.gz -C /usr/
[root@master ~]# cd /usr/
[root@master usr]# mv hadoop-1.0.0 hadoop

# 在hadoop目錄下創建tmp文件夾
[root@master usr]# cd hadoop
[root@master hadoop]# mkdir tmp

   2.2、配置環境變量

# 編輯/etc/profile文件,在尾部追加以下內容
[root@master ~]# vim /etc/profile
# set hadoop path
export HADOOP_HOME=/usr/hadoop
export PATH=$PATH:$HADOOP_HOME/bin

# 執行下面命令使其配置立即生效
[root@master ~]# source /etc/profile

   

  2.3、配置hadoop

    1)配置hadoop-env.sh

    該文件位于/usr/hadoop/conf目錄下

[root@master conf]# vim hadoop-env.sh

# 如果是自己配置的JDK,則添加以下內容
# set java enviroment
export JAVA_HOME=/usr/java/jdk1.6.0_45

# 如果是安裝SoftwareDevelopment Workstation軟件包,則添加以下內容
# set java enviromentexport JAVA_HOME=/usr

    2)配置core-site.xml文件

[root@master conf]# vim core-site.xml
<configuration>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/hadoop/tmp</value>
                <description>A base for other temporary directories</description>
        </property>
        <property>
                <name>fs.default.name</name>
                <value>hdfs://192.168.232.129:9000</value>
        </property>
</configuration>

    3)配置hdfs-site.xml文件

[root@master conf]# vim hdfs-site.xml
<configuration>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
</configuration>

    4)配置mapred-site.xml文件

[root@master conf]# vim mapred-site.xml
<configuration>
        <property>
                <name>mapred.job.tracker</name>
                <value>http://192.168.232.129:9001</value>
        </property>
</configuration>

    5)配置masters文件

# 將原來的localhost去掉
[root@master conf]# vim masters
192.168.232.129  # master主機的IP地址
# master    # master主機名(要保證hosts文件已修改)

    6)配置salves文件

[root@master conf]# vim slaves
192.168.232.130    # salve1的IP地址
192.168.232.131    # salve2的IP地址
# salve1    # salve1主機名(要保證hosts文件已修改)
# salve1    # salve2主機名(要保證hosts文件已修改)

   

    master主機配置完成


   2.4、配置salve1主機、salve2主機

# 只需要將配置好的hadoop文件夾遠程傳輸到salve1和salve2上即可
[root@master ~]# scp -r /usr/hadoop root@salve1:/usr/
[root@master ~]# scp -r /usr/hadoop root@salve2:/usr/
# 并且修改salve1主機、salve2主機的/etc/profile文件
[root@salve1 ~]# vim /etc/profile
# set hadoop pathexport HADOOP_HOME=/usr/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
# 執行下面命令使其配置立即生效
[root@salve1 ~]# source /etc/profile


    配置完成



三、啟動及驗證

   

   1、格式化HDFS文件系統(只需一次,下次啟動不再需要格式化)

[root@master ~]# hadoop namenode -format

   2、啟動hadoop

[root@master ~]# start-all.sh

   3、驗證hadoop

    3.1、用java自帶的jps查看進程

# 在master上查看
[root@master ~]# jps
5434 JobTracker
4447 SecondaryNameNode
5221 NameNode
5535 Jps
# 在salve1上查看
[root@salve1 ~]# jps
4313 Jps
4260 TaskTracker
4171 DataNode

    3.2、用"hadoop dfsadmin -report"查看Hadoop集群的狀態

[root@master ~]# hadoop dfsadmin -report

    3.3、用網頁查看集群

    1)訪問http://192.168.232.129:50030

    2)訪問http://192.168.232.129:50070

    


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女