日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

设置Apache Hadoop多节点集群

發(fā)布時(shí)間:2023/12/3 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设置Apache Hadoop多节点集群 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我們正在分享有關(guān)在基于Linux的機(jī)器(多節(jié)點(diǎn))上安裝Apache Hadoop的經(jīng)驗(yàn)。 在這里,我們還將分享我們在各種故障排除方面的經(jīng)驗(yàn),并在將來進(jìn)行更新。

用戶創(chuàng)建和其他配置步驟–

  • 我們首先在每個(gè)集群中添加一個(gè)專用的Hadoop系統(tǒng)用戶。


$ sudo addgroup hadoop $ sudo adduser –ingroup hadoop hduser
  • 接下來,我們在所有群集上配置SSH(安全外殼)以啟用安全的數(shù)據(jù)通信。
user@node1:~$ su – hduser hduser@node1:~$ ssh-keygen -t rsa -P “”

輸出將類似于以下內(nèi)容:

Generating public/private rsa key pair. Enter file in which to save the key (/home/hduser/.ssh/id_rsa): Created directory '/home/hduser/.ssh'. Your identification has been saved in /home/hduser/.ssh/id_rsa. Your public key has been saved in /home/hduser/.ssh/id_rsa.pub. The key fingerprint is: 9b:82:ea:58:b4:e0:35:d7:ff:19:66:a6:ef:ae:0e:d2 hduser@ubuntu .....
  • 接下來,我們需要使用此新創(chuàng)建的密鑰啟用對本地計(jì)算機(jī)的SSH訪問:
hduser@node1:~$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

在所有群集節(jié)點(diǎn)中重復(fù)上述步驟,并通過執(zhí)行以下語句進(jìn)行測試

hduser@node1:~$ ssh localhost

還需要執(zhí)行此步驟,以將本地計(jì)算機(jī)的主機(jī)密鑰指紋保存到hduser用戶的known_hosts文件中。

接下來,我們需要編輯/ etc / hosts文件,在其中將集群中每個(gè)系統(tǒng)的IP和名稱放入其中。

在我們的方案中,我們有一個(gè)主機(jī)(IP 192.168.0.100)和一個(gè)從機(jī)(IP 192.168.0.101)

$ sudo vi /etc/hosts

然后將這些值作為鍵值對放入主機(jī)文件中。

192.168.0.100 master 192.168.0.101 slave
  • 提供SSH訪問

主節(jié)點(diǎn)上的hduser用戶必須能夠連接

  • 在這種情況下,通過ssh master可以將其自身的用戶帳戶轉(zhuǎn)移到master上,而不必是ssh localhost。
  • 通過無密碼SSH登錄到從設(shè)備的hduser帳戶。
  • 因此,我們將hduser @ master的SSH公鑰分配給它的所有從屬(在我們的情況下,我們只有一個(gè)從屬。如果您有更多從屬,請執(zhí)行以下語句更改計(jì)算機(jī)名稱,即slave,slave1,slave2)。

    hduser@master:~$ ssh-copy-id -i $HOME/.ssh/id_rsa.pub hduser@slave

    嘗試通過將主機(jī)連接到主機(jī),將主機(jī)連接到從機(jī),然后檢查是否一切正常。

    配置Hadoop

    • 讓我們編輯conf / masters (僅在masters節(jié)點(diǎn)中)

    然后我們在文件中輸入master

    為此,我們告訴Hadoop在此計(jì)算機(jī)的多節(jié)點(diǎn)集群中啟動(dòng)Namenode和secondary NameNodes 。

    主NameNode和JobTracker將始終在我們運(yùn)行bin / start-dfs.sh和bin / start-mapred.sh的計(jì)算機(jī)上 。

    • 現(xiàn)在讓我們使用以下命令編輯conf / slaves (僅在masters節(jié)點(diǎn)中)
    master slave

    這意味著,我們也嘗試在主機(jī)上運(yùn)行datanode進(jìn)程-namenode也在其中運(yùn)行。 如果我們擁有更多的機(jī)器作為數(shù)據(jù)節(jié)點(diǎn),我們可以讓主服務(wù)器充當(dāng)從服務(wù)器。

    如果我們有更多的奴隸,那么每行添加一個(gè)主機(jī),如下所示:

    master slave slave2 slave3

    等等…。

    現(xiàn)在,讓我們編輯兩個(gè)重要文件( 在集群的所有節(jié)點(diǎn)中):

  • conf / core-site.xml
  • conf / core-hdfs.xml
  • 1)conf / core-site.xml

    我們必須更改指定NameNode主機(jī)和端口的fs.default.parameter 。 (在我們的例子中,這是主機(jī))

    <property><name>fs.default.name</name> <value>hdfs://master:54310</value>…..[Other XML Values]</property>

    創(chuàng)建一個(gè)目錄,Hadoop將在其中存儲(chǔ)其數(shù)據(jù)–

    $ mkdir /app/hadoop

    我們必須確保該目錄可由任何用戶寫入:

    $ chmod 777?/app/hadoop

    再次修改core-site.xml以添加以下屬性:

    <property> <name>hadoop.tmp.dir</name> <value>/app/hadoop</value> </property>

    2)conf / core-hdfs.xml

    我們必須更改dfs.replication參數(shù),該參數(shù)指定默認(rèn)的塊復(fù)制。 它定義了單個(gè)文件可用之前應(yīng)復(fù)制到多少臺(tái)計(jì)算機(jī)。 如果將其設(shè)置為大于可用從屬節(jié)點(diǎn)數(shù)(更確切地說是DataNode數(shù))的值,則將開始在日志中看到很多“(找到零目標(biāo),forbidden1.size = 1)”類型錯(cuò)誤文件。

    dfs.replication的默認(rèn)值為3。但是,由于(在我們的方案中)只有兩個(gè)節(jié)點(diǎn)可用,因此我們將dfs.replication設(shè)置為2。

    <property> <name>dfs.replication</name> <value>2</value> …..[Other XML Values] </property>
    • 讓我們通過NameNode 格式化 HDFS文件系統(tǒng)。

    在master上運(yùn)行以下命令

    bin/hadoop namenode -format
    • 讓我們啟動(dòng)多節(jié)點(diǎn)集群:

    運(yùn)行命令:(在本例中,我們將在名為master的機(jī)器上運(yùn)行)

    bin/start-dfs.sh

    檢查Hadoop狀態(tài)–

    一切開始后,在所有節(jié)點(diǎn)上運(yùn)行jps命令以查看一切運(yùn)行良好與否。

    在主節(jié)點(diǎn)上,所需的輸出將是–

    $ jps14799 NameNode 15314 Jps 14880 DataNode 14977 SecondaryNameNode

    在從站中:

    $ jps 15314 Jps 14880 DataNode

    當(dāng)然,進(jìn)程ID會(huì)因計(jì)算機(jī)而異。

    故障排除

    Datanode可能無法在我們所有的節(jié)點(diǎn)中啟動(dòng)。 在這一點(diǎn)上,如果我們看到

    logs/hadoop-hduser-datanode-.log

    在受影響的節(jié)點(diǎn)上,以下情況除外:

    java.io.IOException: Incompatible namespaceIDs

    在這種情況下,我們需要執(zhí)行以下操作–

  • 停止整個(gè)集群,即MapReduce和HDFS層。
  • 刪除有問題的DataNode上的數(shù)據(jù)目錄:該目錄由conf / hdfs-site.xml中的 dfs.data.dir指定 在我們的例子中,相關(guān)目錄是/ app / hadoop / tmp / dfs / data
  • 重新格式化NameNode。 在格式化過程中,所有HDFS數(shù)據(jù)都會(huì)丟失。
  • 重新啟動(dòng)集群。
  • 要么

    我們可以手動(dòng)更新有問題的DataNode的namespaceID:

  • 停止有問題的DataNode。
  • 編輯$ {dfs.data.dir} / current / VERSION中的namespaceID的值,以匹配$ {dfs.name.dir} / current / VERSION中當(dāng)前NameNode的對應(yīng)值。
  • 重新啟動(dòng)固定的DataNode。
  • Apache Hadoop(多節(jié)點(diǎn)群集)中運(yùn)行Map-Reduce作業(yè)中 ,我們將按照apache hadoop示例分享有關(guān)Map Reduce Job Running的經(jīng)驗(yàn)。

    資源資源

    • http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/
    • http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/
    • http://hadoop.apache.org/docs/current/

    參考:通過Phlox Blog博客的JCG合作伙伴 Piyas De 設(shè)置Apache Hadoop Multi-Node Cluster 。

    翻譯自: https://www.javacodegeeks.com/2013/06/setting-up-apache-hadoop-multi-node-cluster.html

    總結(jié)

    以上是生活随笔為你收集整理的设置Apache Hadoop多节点集群的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。