溫馨提示×

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

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

hadoop完全分布式集群如何搭建

發(fā)布時(shí)間:2021-11-18 17:21:46 來源:億速云 閱讀:204 作者:小新 欄目:云計(jì)算

這篇文章將為大家詳細(xì)講解有關(guān)hadoop完全分布式集群如何搭建,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

                hadoop分布式集群搭搭建(環(huán)境:linux虛擬機(jī)上)

1.準(zhǔn)備工作:(規(guī)劃主機(jī)名,ip及用途,先搭建三臺(tái),第四臺(tái)動(dòng)態(tài)的添加

            用途欄中,也可以把namenode,secondaryNamenode及jobTracker

            分開部署,看實(shí)際需求,不唯一)

  主機(jī)名        機(jī)器ip        用途

  cloud01    192.168.1.101    namenode/secondaryNamenode/jobTracker

  cloud02    192.168.1.102    datanode/taskTracker

  cloud03    192.168.1.103    datanode/taskTracker

  cloud04    192.168.1.104    datanode/taskTracker

2.配置linux環(huán)境(以下參照偽分布式的搭建)

    2.1修改主機(jī)名(cloud01,cloud02,cloud03)

    2.2修改每臺(tái)機(jī)器的ip(按照自己分配的)

    2.3修改主機(jī)名與ip的映射關(guān)系

       (只在cloud01上修改,改完后拷貝到其它機(jī)器上就行,指令:

        scp /etc/profile cloud02:/etc/

        scp /etc/profile cloud03:/etc/)

    2.4關(guān)閉防火墻

    2.5重啟

3.安裝jdk(參照偽分布式的搭建,版本以jdk1.6.0_45為例)

  只需要在一臺(tái)機(jī)器上安裝,然后拷貝到其他機(jī)器上(軟件最好統(tǒng)一管理)

  例如在cloud01上jdk安裝在/soft/java下

  (使用指令:scp -r /soft/java/ cloud02:/soft/

            scp -r /soft/java/ cloud03:/soft/

  就可以把jdk拷貝過去了.但是我們暫時(shí)不拷貝過去,等下面hadoop安裝好后,一起拷過去)

4.安裝hadoop集群(hadoop版本以hadoop-1.1.2為例)

    4.1上傳hadoop壓縮包到/soft目錄下,并解壓到該目錄下(參照偽分布式的搭建)

    4.2配置hadoop(這次需要配置6個(gè)文件)

    4.21hadoop-env.sh

        在第九行

        export JAVA_HOME=/soft/java/jdk1.6.0_45 (注意把前面的#號(hào)去掉)

    4.22core-site.xml

        <!-- 指定HDFS的namenode的通信地址 -->

        <property>

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

            <value>hdfs://cloud01:9000</value>

        </property>

        <!-- 指定hadoop運(yùn)行時(shí)產(chǎn)生文件的存放目錄 -->

        <property>

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

            <value>/soft/hadoop-1.1.2/tmp</value>

        </property>

    4.23hdfs-site.xml

        <!-- 配置HDFS副本的數(shù)量(根據(jù)需求,實(shí)際情況自己定義,默認(rèn)為3份) -->

        <property>

            <name>dfs.replication</name>

            <value>3</value>

        </property>

    4.24mapred-site.xml

        <!-- 指定jobtracker地址 -->

        <property>

            <name>mapred.job.tracker</name>

            <value>cloud01:9001</value>

        </property>

    4.25masters(指定secondarynamenode地址)

        cloud01

    4.26slaves(指定子節(jié)點(diǎn))

        cloud02

        cloud03

    4.3將配置好的hadoop拷貝到其他兩臺(tái)機(jī)器上

        直接將soft那個(gè)文件夾都拷貝過去(里面包含了jdk和hadoop,所以強(qiáng)烈建議

        文件要統(tǒng)一管理)

        指令:

        scp -r /soft/ cloud02:/

        scp -r /soft/ cloud03:/

    4.4配置ssh免登

        是主節(jié)點(diǎn)到子節(jié)點(diǎn)的免登陸

        即cloud01到cloud02和cloud03的免登陸

        在cloud01上生成即可

        指令:ssh-keygen -t rsa

        然后拷貝到其它兩臺(tái)機(jī)器上

        指令:ssh-copy-id -i cloud02

         ssh-copy-id -i cloud03

    4.5格式化hadoop

        只需要在cloud01(主節(jié)點(diǎn)namenode)上格式化就行

        指令:hadoop namenode -format

    4.6驗(yàn)證

        啟動(dòng)集群 指令:start-all.sh

        如果啟動(dòng)過程,報(bào)錯(cuò)safemode相關(guān)的Exception

        執(zhí)行命令:hadoop dfsadmin -safemode leave(退出安全模式)

        再次啟動(dòng)hadoop

        然后jps一下,查看各臺(tái)機(jī)器,看是否和規(guī)劃好的用途一樣即可)

        OK,如果和規(guī)劃好的一樣,就大功告成了.

5.動(dòng)態(tài)添加一臺(tái)節(jié)點(diǎn)

        (在實(shí)際生產(chǎn)過程中,很常見,很實(shí)用)

        cloud04    192.168.1.104    datanode/taskTracker

    5.1通過clone的方式添加一臺(tái)linux(以clone cloud01為例.實(shí)際生產(chǎn)過程中不會(huì)這樣,

       因?yàn)閷?shí)際生產(chǎn)過程中很少用虛擬機(jī),都是直接服務(wù)器.注意,clone時(shí),

       得先把要clone的機(jī)器給停掉)

    5.2修改主機(jī)名,ip地址,配置映射文件,關(guān)閉防火墻,再hadoop配置

        文件slaves中添加cloud04,設(shè)置免登陸,重啟

       (clone的話,就無需再配置映射文件,和關(guān)閉防火墻了.因?yàn)?/p>

        你clone的那臺(tái)機(jī)器已經(jīng)配置好了)

    5.3重啟機(jī)器后,分別啟動(dòng)datanode和taskTracker

        指令:hadoop-daemon.sh start datanode

         hadoop-daemon.sh start tasktracker

    5.4在cloud01上即namenode所在節(jié)點(diǎn)上運(yùn)行命令刷新

       hadoop dfsadmin -refreshNodes

    5.5驗(yàn)證

        http://linux的ip:50070(hdfs管理界面)

        看是否多了一個(gè)節(jié)點(diǎn),如果多了一個(gè),則大功告成了!

6.刪除一臺(tái)節(jié)點(diǎn)(此處為收集)

    6.1在cloud01上修改/soft/hadoop-1.1.2/conf/hdfs-site.xml文件

        添加配置信息:

        <property>

            <name>dfs.hosts.exclude</name>

            <value>/soft/hadoop-1.1.2/conf/excludes</value>

        </property>

    6.2確定要下架的機(jī)器

        dfs.hosts.exclude定義的文件內(nèi)容為,每個(gè)需要下線的機(jī)器,一行一個(gè)。

    6.3強(qiáng)制重新加載配置

        指令:hadoop dfsadmin  -refreshNodes

    6.4關(guān)閉節(jié)點(diǎn)

        指令:hadoop dfsadmin -report 

        可以查看到現(xiàn)在集群上連接的節(jié)點(diǎn)

        正在執(zhí)行Decommission,會(huì)顯示: 

        Decommission Status : Decommission in progress   

        執(zhí)行完畢后,會(huì)顯示: 

        Decommission Status : Decommissioned 

    6.5再次編輯excludes文件

        一旦完成了機(jī)器下架,它們就可以從excludes文件移除了

        登錄要下架的機(jī)器,會(huì)發(fā)現(xiàn)DataNode進(jìn)程沒有了,但是TaskTracker依然存在,

        需要手工處理一下

關(guān)于“hadoop完全分布式集群如何搭建”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

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

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

AI