站長資訊網
        最全最豐富的資訊網站

        Hadoop2.0完全分布式集群搭建方法(CentOS7+Hadoop2.7.7)

        本文詳細介紹搭建4個節點的完全分布式Hadoop集群的方法,Linux系統版本是CentOS 7,Hadoop版本是2.7.7,JDK版本是1.8。

        一、準備環境

        1. 在VMware workstations上創建4個Linux虛擬機,并配置其靜態IP。

        如何在VMware workstation上創建Linux虛擬機

        準備使用Linux虛擬機部署Hadoop集群,故在win10系統上安裝了VMware workstation,具體安裝非常簡單,在此不做闡述。本文主要介紹如何在VMware workstation上創建Linux虛擬機。

        步驟:

        1. 如下圖,在VMware workstation中,點擊【創建新的虛擬機】。

        Hadoop2.0完全分布式集群搭建方法(CentOS7+Hadoop2.7.7)

        2. Linux虛擬機的具體配置如下:

        Hadoop2.0完全分布式集群搭建方法(CentOS7+Hadoop2.7.7)

        有關【克隆Linux虛擬機及配置網絡】,請參考這里。

        2. 配置DNS(每個節點)

        編輯配置文件,添加主節點和從節點的映射關系。

        #vim /etc/hosts
        192.168.44.3 hadoop01
        192.168.44.4 hadoop02
        192.168.44.5 hadoop03
        192.168.44.6 hadoop04

         3. 關閉防火墻(每個節點)

        #關閉服務
        [root@hadoop01 opt]# systemctl stop firewalld
        #關閉開機自啟動
        [root@hadoop01 opt]# systemctl disable firewalld
        Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
        Removed symlink /etc/systemd/system/dbus-org.Fedoraproject.FirewallD1.service.

        4. 配置免密碼登錄
        有關【配置免密碼登錄方法】,請參考這里 http://m.0106606.com/Linux/2019-02/156882.htm。

        5. 配置Java環境(每個節點)

        本文詳細介紹Linux系統下配置Java環境的方法,使用JDK1.8版本。

        1. 從Oracle官網上下載Java8版本。

        下載鏈接:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

        2. 上傳Java包到Linux系統。

        使用rz命令將Java tar包上傳到Linux系統。(有關rz命令用法,請參考這里)

        3. 解壓Java安裝包

        [root@hadoop01 opt]# ls
        jdk-8u101-linux-x64.tar.gz
        [root@hadoop01 opt]# tar -zxvf jdk-8u101-linux-x64.tar.gz

        jdk1.8.0_101/man/ja_JP.UTF-8/man1/javapackager.1
        jdk1.8.0_101/man/ja_JP.UTF-8/man1/jstat.1
        [root@hadoop01 opt]# ls
        jdk1.8.0_101  jdk-8u101-linux-x64.tar.gz

        4. 配置Java環境變量

        #vim /etc/profile
        # Java
        export JAVA_HOME=/opt/jdk1.8.0_101  # 該路徑為java安裝路徑
        export CLASSPATH=$JAVA_HOME/lib/
        export PATH=$PATH:$JAVA_HOME/bin

        # :wq保存后,使配置文件生效
        #source /etc/profile

        5. 驗證Java安裝狀態

        [root@hadoop01 jdk1.8.0_101]# java -version
        java version “1.8.0_101”
        Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
        Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

        二、搭建Hadoop完全分布式集群

        在各個節點上安裝與配置Hadoop的過程都基本相同,因此可以在每個節點上安裝好Hadoop后,在主節點master上進行統一配置,然后通過scp 命令將修改的配置文件拷貝到各個從節點上即可。

        1. 下載Hadoop安裝包,解壓,配置Hadoop環境變量

        有關【Hadoop安裝包下載方法】。

        Hadoop3.0版本的誕生,引入了很多新功能,為了驗證Hadoop2.0與3.0版本的性能,需下載Hadoop的不同版本。故下文演示如何下載Hadoop安裝包的方法。

        1. 進入Apache Hadoop官網:http://hadoop.apache.org/

        2. 點擊左側【Download】按鈕,進入如下下載頁面:

        Hadoop2.0完全分布式集群搭建方法(CentOS7+Hadoop2.7.7)

        可點擊當前界面上顯示的Binary安裝包進入下載,亦可點擊【mirror site】進入鏡像頁面,選擇要安裝的版本進行下載。

        本文下載的Hadoop版本是2.7.7,指定一個目錄(比如:/opt),使用rz命令上傳Hadoop安裝包到Linux系統,解壓到指定目錄,配置Hadoop環境變量,并使其生效。實現命令如下:

        #配置Hadoop環境變量
        [root@hadoop02 opt]# vim /etc/profile
        #Hadoop
        export HADOOP_HOME=/opt/hadoop-2.7.7 # 該目錄為解壓安裝目錄
        export PATH=$PATH:$HADOOP_HOME/bin
        export PATH=$PATH:$HADOOP_HOME/sbin
        export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

        #保存后,使profile生效
        [root@hadoop02 opt]# source /etc/profile

        2. 配置Hadoop環境腳本文件中的JAVA_HOME參數

        #進入Had安裝目錄下的etc/hadoop目錄
        [root@hadoop01 ~]#cd /opt/hadoop-2.7.7/etc/hadoop

        #分別在hadoop-env.sh、mapred-env.sh、yarn-env.sh文件中添加或修改如下參數:

        [root@hadoop01 hadoop]# vim hadoop-env.sh
        [root@hadoop01 hadoop]# vim mapred-env.sh
        [root@hadoop01 hadoop]# vim yarn-env.sh
        export JAVA_HOME=”/opt/jdk1.8.0_101″  # 路徑為jdk安裝路徑

         3. 修改Hadoop配置文件

        Hadoop安裝目錄下的etc/hadoop目錄中,需修改core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves(3.0之后為workers)文件,根據實際情況修改配置信息。

        (1)core-site.xml

        <configuration>
        <property>
            <!– 配置hdfs地址 –>
            <name>fs.defaultFS</name>
            <value>hdfs://hadoop01:9000</value>
        </property>
        <property>
            <!– 保存臨時文件目錄,需先在/opt/hadoop-2.7.7下創建tmp目錄 –>
            <name>hadoop.tmp.dir</name>
            <value>/opt/hadoop-2.7.7/tmp</value>
        </property>

        <property>
            <name>hadoop.proxyuser.root.hosts</name>
            <value>*</value>
        </property>
        <property>
            <name>hadoop.proxyuser.root.groups</name>
            <value>*</value>
        </property>
        </configuration>

        (2)hdfs-site.xml

        <configuration>
            <property>
                <!– 主節點地址 –>
                <name>dfs.namenode.http-address</name>
                <value>hadoop01:50070</value>
            </property>
            <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/opt/hadoop/dfs/name</value>
            </property>
            <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/opt/hadoop/dfs/data</value>
            </property>
            <property>
                <!– 備份份數 –>
                <name>dfs.replication</name>
                <value>2</value>
            </property>
            <property>
                <!– 第二節點地址 –>
                <name>dfs.namenode.secondary.http-address</name>
                <value>hadoop02:9001</value>
            </property>
            <property>
            <name>dfs.webhdfs.enabled</name>
            <value>true</value>
            </property>
            <property>
                <name>dfs.permissions</name>
                <value>false</value>
                <description>配置為false后,可以允許不要檢查權限就生成dfs上的文件,需防止誤刪操作</description>
            </property>
        </configuration>

        (3)mapred-site.xml

        <configuration>
            <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
            </property>
            <property>
                <name>mapreduce.jobhistory.address</name>
                <value>hadoop01:10020</value>
            </property>
            <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>hadoop01:19888</value>
            </property>
        </configuration>

        (4)yarn-site.xml

        <configuration>
            <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
            </property>
            <property>
                <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
                <value>org.apache.hadoop.mapred.ShuffleHandler</value>
            </property>
            <property>
                <name>yarn.resourcemanager.address</name>
                <value>hadoop01:8032</value>
            </property>
            <property>
                <name>yarn.resourcemanager.scheduler.address</name>
                <value>hadoop01:8030</value>
            </property>
            <property>
                <name>yarn.resourcemanager.resource-tracker.address</name>
                <value>hadoop01:8031</value>
            </property>
            <property>
                <name>yarn.resourcemanager.admin.address</name>
                <value>hadoop01:8033</value>
            </property>
            <property>
                <name>yarn.resourcemanager.webapp.address</name>
                <value>hadoop01:8088</value>
            </property>
           
            <property>
                <name>yarn.nodemanager.resource.memory-mb</name>
                <!– NodeManager中的配置,這里配置過小可能導致nodemanager啟動不起來
                                  大小應該大于 spark中 executor-memory + driver的內存 –>
                <value>6144</value>
            </property>
            <property>
                <!– RsourceManager中配置
                                  大小應該大于 spark中 executor-memory + driver的內存 –>
                <name>yarn.scheduler.maximum-allocation-mb</name>
                <value>61440</value>
            </property>
            <property>
                <!– 使用核數 –>
                <name>yarn.nodemanager.resource.cpu-vcores</name>
                <value>2</value>
            </property>

            <property>
                <name>yarn.log-aggregation-enable</name>
                <value>true</value>
            </property>
            <property>
                <name>yarn.log-aggregation.retain-seconds</name>
                <value>604800</value>
            </property>
            <property>
                <name>yarn.nodemanager.vmem-check-enabled</name>
                <value>false</value>
                <description>忽略虛擬內存的檢查,如果你是安裝在虛擬機上,這個配置很有用,配上去之后后續操作不易出問題。</description>
            </property>
            <property>
              <!– 調度策略,設置為公平調度器 –>
              <name>yarn.resourcemanager.scheduler.class</name>
              <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
            </property>
        </configuration>

        (5)slaves文件

        #增加從節點地址(若配置了hosts,可直接使用主機名,亦可用IP地址)
        [root@hadoop01 hadoop]# vim slaves
        hadoop02
        hadoop03
        hadoop04

         4. 將配置好的文件夾拷貝到其他從節點

        [root@hadoop01 hadoop-2.7.7]# scp -r /opt/hadoop-2.7.7 root@hadoop02:/opt/
        [root@hadoop01 hadoop-2.7.7]# scp -r /opt/hadoop-2.7.7 root@hadoop03:/opt/
        [root@hadoop01 hadoop-2.7.7]# scp -r /opt/hadoop-2.7.7 root@hadoop04:/opt/

        5. 初始化 & 啟動

        #格式化
        [root@hadoop01 hadoop-2.7.7]# bin/hdfs namenode -format

        #啟動
        [root@hadoop01 hadoop-2.7.7]# sbin/start-dfs.sh
        [root@hadoop01 hadoop-2.7.7]# sbin/start-yarn.sh

        6. 驗證Hadoop啟動成功

        #主節點
        [root@hadoop01 hadoop-2.7.7]# jps
        5895 Jps
        5624 ResourceManager
        5356 NameNode

        #從節點
        [root@hadoop02 hadoop]# jps
        5152 SecondaryNameNode
        5085 DataNode
        5245 NodeManager
        5357 Jps

        [root@hadoop03 opt]# jps
        5080 DataNode
        5178 NodeManager
        5278 Jps

        [root@hadoop04 opt]# jps
        5090 NodeManager
        5190 Jps
        4991 DataNode

        7. Web端口訪問

        注:先開放端口或直接關閉防火墻

        # 查看防火墻狀態
        firewall-cmd –state
        # 臨時關閉
        systemctl stop firewalld
        # 禁止開機啟動
        systemctl disable firewalld

        在瀏覽器輸入:http://hadoop01:8088打開Hadoop Web頁面。

        在瀏覽器輸入:http://hadoop01:50070打開Hadoop Web頁面。

        Hadoop基本操作命令

        #hadoop dfsadmin -report 查看hdfs集群的存儲空間使用情況。
        #hadoop fs -du -h 目錄  查看當前目錄下各個文件占得內存
        #hadoop fs –rmr /tmp/aaa刪除一個目錄
        #hadoop fs –put文件 hdfs文件目錄上傳一個文件
        #hadoop fs –get  hdfs文件下載地址目錄下載一個文件
        #hadoop fs –moveFromLocal文件hdfs文件目錄上傳一個文件同時刪除本地文件
        #haddop fs –text hdfs目錄查看文件內容
        #haddopfs –cat hdfs目錄查看文件內容
        #hadoop job –list獲取任務列表
        #hadoop job –kill job-id殺死一個job
        #hadoop-daemon.sh start datanoe加入一個新的節點
        #hadoop mradmin/dfsadmin –refreshnones刪除一個節點
        #yarn application -kill application_任務id:停止在yarn上運行的spark任務,在resourcemanager上執行
        #hadoop fs -ls .Trash/Current (顯示Current目錄)
        #hadoop fs -rm -r .Trash/Current (刪除Current目錄及其子目錄)

        在 Linux Ubuntu 18.04/18.10上安裝Hadoop圖文詳解  http://m.0106606.com/Linux/2018-11/155282.htm

        CentOS 7 下搭建Hadoop 2.9 分布式集群  http://m.0106606.com/Linux/2018-11/155328.htm

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 2022精品国偷自产免费观看| 国内精品久久久久久久影视麻豆 | 99精品免费视频| 亚洲国产精品视频| 国产精品无打码在线播放| 国产成人精品日本亚洲专一区| 亚洲国产精品一区二区三区久久 | 国产精品你懂得| 国产精品一久久香蕉国产线看观看| 精品久久久久一区二区三区| 99国内精品久久久久久久| 精品九九久久国内精品| 国产AV国片精品| 国产精品区一区二区三在线播放 | 亚洲综合国产精品| 久久精品草草草| 国产成人精品免费视频动漫 | 国产伦精品一区二区三区| 亚洲精品国精品久久99热一| 日韩视频中文字幕精品偷拍| 九九精品在线视频| 九九热这里只有国产精品| 精品午夜国产人人福利| 国内精品视频在线观看| 国内精品久久久久久久涩爱| 国产精品夜色视频一级区 | 日本精品少妇一区二区三区| 惠民福利中文字幕人妻无码乱精品 | 精品久久久久久无码人妻蜜桃| 国自产精品手机在线观看视频| 国产成人精品免高潮在线观看| 91久久精品电影| 国产精品你懂的在线播放| 国产精品免费视频观看拍拍| 国产精品偷窥熟女精品视频 | 国产午夜精品免费一区二区三区| 久久精品国产99久久久| 久久久精品人妻一区二区三区蜜桃 | 国产亚洲精品免费视频播放 | 国产精品无码一区二区三区电影| 国产精品内射后入合集|