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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

设置Apache Hadoop多节点集群

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

我們正在分享有關在基于Linux的機器(多節點)上安裝Apache Hadoop的經驗。 在這里,我們還將分享我們在各種故障排除方面的經驗,并在將來進行更新。

用戶創建和其他配置步驟–

  • 我們首先在每個集群中添加一個專用的Hadoop系統用戶。


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

輸出將類似于以下內容:

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 .....
  • 接下來,我們需要使用此新創建的密鑰啟用對本地計算機的SSH訪問:
hduser@node1:~$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

在所有群集節點中重復上述步驟,并通過執行以下語句進行測試

hduser@node1:~$ ssh localhost

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

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

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

$ sudo vi /etc/hosts

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

192.168.0.100 master 192.168.0.101 slave
  • 提供SSH訪問

主節點上的hduser用戶必須能夠連接

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

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

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

    配置Hadoop

    • 讓我們編輯conf / masters (僅在masters節點中)

    然后我們在文件中輸入master

    為此,我們告訴Hadoop在此計算機的多節點集群中啟動Namenode和secondary NameNodes 。

    主NameNode和JobTracker將始終在我們運行bin / start-dfs.sh和bin / start-mapred.sh的計算機上 。

    • 現在讓我們使用以下命令編輯conf / slaves (僅在masters節點中)
    master slave

    這意味著,我們也嘗試在主機上運行datanode進程-namenode也在其中運行。 如果我們擁有更多的機器作為數據節點,我們可以讓主服務器充當從服務器。

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

    master slave slave2 slave3

    等等…。

    現在,讓我們編輯兩個重要文件( 在集群的所有節點中):

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

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

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

    創建一個目錄,Hadoop將在其中存儲其數據–

    $ 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參數,該參數指定默認的塊復制。 它定義了單個文件可用之前應復制到多少臺計算機。 如果將其設置為大于可用從屬節點數(更確切地說是DataNode數)的值,則將開始在日志中看到很多“(找到零目標,forbidden1.size = 1)”類型錯誤文件。

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

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

    在master上運行以下命令

    bin/hadoop namenode -format
    • 讓我們啟動多節點集群:

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

    bin/start-dfs.sh

    檢查Hadoop狀態–

    一切開始后,在所有節點上運行jps命令以查看一切運行良好與否。

    在主節點上,所需的輸出將是–

    $ jps14799 NameNode 15314 Jps 14880 DataNode 14977 SecondaryNameNode

    在從站中:

    $ jps 15314 Jps 14880 DataNode

    當然,進程ID會因計算機而異。

    故障排除

    Datanode可能無法在我們所有的節點中啟動。 在這一點上,如果我們看到

    logs/hadoop-hduser-datanode-.log

    在受影響的節點上,以下情況除外:

    java.io.IOException: Incompatible namespaceIDs

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

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

    我們可以手動更新有問題的DataNode的namespaceID:

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

    資源資源

    • 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 設置Apache Hadoop Multi-Node Cluster 。

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

    總結

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

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。