搭建Hadoop集群(centos6.7+hadoop-2.7.3)

来源:https://www.cnblogs.com/qiuyuesu/archive/2018/02/01/8398091.html
-Advertisement-
Play Games

hadoop集群有三種運行模式:單機模式、偽分佈模式、完全分佈模式。我們這裡搭建第三種完全分佈模式,即使用分散式系統,在多個節點上運行。 1 環境準備 1.1 配置DNS 進入配置文件,添加主節點和從節點的ip映射關係: 1.2 關閉防火牆 1.3 配置免密碼登錄 (1)每個節點都首先進入/root ...


  hadoop集群有三種運行模式:單機模式、偽分佈模式、完全分佈模式。我們這裡搭建第三種完全分佈模式,即使用分散式系統,在多個節點上運行。

1 環境準備

1.1 配置DNS

  進入配置文件,添加主節點和從節點的ip映射關係:

# vim /etc/hosts

10.0.0.45  master
10.0.0.46  slave1
10.0.0.47  slave2

1.2 關閉防火牆

# service iptables stop    //關閉服務
# chkconfig iptables off    //關閉開機自啟動

1.3 配置免密碼登錄

 (1)每個節點都首先進入/root/.ssh目錄下,生成密鑰:


# ssh-keygen -t rsa  //輸入命令之後連續回車就行了

(2)在主節點上,將公鑰拷貝到一個特定文件中:


[root@master .ssh]# cp id_rsa.pub authorized_keys

(3)將每個從節點上生成的公鑰複製到主節點上:

[root@slave1 .ssh]# scp id_rsa.pub master:/root/.ssh/id_rsa_slave1.pub
[root@slave2 .ssh]# scp id_rsa.pub master:/root/.ssh/id_rsa_slave2.pub

(4)在主節點上合併從節點的公鑰:


[root@master .ssh]# cat id_rsa_slave1.pub>>authorized_keys 
[root@master .ssh]# cat id_rsa_slave2.pub>>authorized_keys

(5)將主節點上合併後的公鑰複製到從節點上:


[root@master .ssh]# scp authorized_keys slave1:/root/.ssh
[root@master .ssh]# scp authorized_keys slave2:/root/.ssh

   配置完成,在各個節點上進行ssh訪問,若無需密碼就能訪問,則配置成功。

1.4 配置java環境

   首先下載jdk,保存到指定目錄。設置環境變數:

# vim  /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_112 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin
# source /etc/profile //使配置生效

   驗證配置是否成功:

# java -vesrion

  若出現下麵的配置信息則表示java環境配置成功了:

2 部署Hadoop集群

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

2.1 安裝Hadoop

  下載hadoop安裝包,下載地址:http://archive.apache.org/dist/hadoop/common/hadoop-2.7.3/,並解壓:

# tar xvf hadoop-2.7.3.tar.gz

  配置環境變數:

# vim /etc/profile

export HADOOP_HOME=/home/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

2.2 修改配置文件

  進入Hadoop的配置文件目錄$HADOOP_HOME/etc/hadoop,可以看到有許多配置文件,Hadoop集群配置主要是對以下幾個文件的修改:

  • core-site.xml

  • hdfs-site.xml
  • yarn-site.xml
  • mapred-site.xml
  • slaves、hadoop-env.sh、yarn-env.sh

下麵就介紹文件的具體配置,按實際情況修改配置信息:

(1)core-site.xml

<configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://master:9000</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/home/hadoop _tmp</value>
        </property>
</configuration>

(2)hdfs-site.xml

<configuration>
       <property>
           <name>dfs.permissions.enabled</name>
           <value>false</value>
        </property>
        <property>
            <name>dfs.support.append</name>
            <value>true</value>
        </property>
        <property>
            <name>dfs.replication</name>
            <value>2</value>
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:///home/dfs_data</value>
        </property>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>file:///home/dfs_name</value>
        </property>
        <property>
            <name>dfs.namenode.rpc-address</name>
            <value>master:9000</value>
        </property>
        <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>slave1:50090</value>
        </property>
        <property>
            <name>dfs.namenode.secondary.https-address</name>
            <value>slave1:50091</value>
        </property>
<property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> </configuration>

(3)yarn-site.xml

<configuration>
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>master</value>
        </property>
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
        <property>
            <name>yarn.nodemanager.resource.memory-mb</name>
            <value>20480</value>
        </property>
        <property>
            <name>yarn.scheduler.maximum-allocation-mb</name>
            <value>10240</value>
        </property>
        <property>
            <name>yarn.nodemanager.resource.cpu-vcores</name>
            <value>5</value>
        </property>
        <property>
            <name>yarn.nodemanager.vmem-check-enabled</name>
            <value>false</value>
        </property>
</configuration>

(4)mapred-site.xml

<configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
</configuration>

(5)slaves

    啟動Hadoop集群需要讀取該文件,以確定從節點主機名,從而啟動DataNode、NodeManager等守護進程,因此需要在該文件中添加從節點主機名。

slave1
slave2

(6)hadoop-env.sh

   修改如下內容:

export JAVA_HOME=/usr/java/jdk1.8.0_112

(7)yarn-env.sh

  添加如下內容:

export JAVA_HOME=/usr/java/jdk1.8.0_112

  到此,完成了主節點上所有的配置,只需將這些配置信息複製到各個從節點:

# scp /home/hadoop-2.7.3/etc/hadoop/* slave1:/home/hadoop-2.7.3/etc/hadoop/
# scp /home/hadoop-2.7.3/etc/hadoop/* slave2:/home/hadoop-2.7.3/etc/hadoop/

2.3 啟動Hadoop

(1)第一次啟動HDFS時需要初始化,在主節點上執行:

# cd /home/hadoop-2.7.3   
# ./bin/hadoop namenode -format

(2)啟動HDFS:

# ./sbin/start-dfs.sh

  成功啟動後,訪問http://master:50070/即可看到HDFS Web界面。

(3) 啟動YARN:

# ./sbin/start-yarn.sh

  成功啟動後,訪問http://master:8088/即可看到YARN Web界面。

 

  這裡也可以直接執行下麵的命令一鍵啟動,但第一次啟動不建議這樣做:

# start-all.sh

  到此,Hadoop集群環境已經搭建好了,可以根據自己的業務需求,在上面愉快的“玩耍”了。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • eBay:使用MongoDB創建關鍵業務的多數據中心應用 作為全球前十的零售品牌,eBay的活躍用戶有一億七千多萬,並擁有跨越全世界190個市場的10億購物清單,這樣的規模下,eBay絕對不允許出現宕機的情況。這也就是為什麼公司會依賴於MongoDB提供企業級平臺標準以及面向用戶的應用。 在今年的M ...
  • mysql: dbs 資料庫系統 bdms 資料庫管理系統 bda 資料庫管理員 db 資料庫 dba通過dbms來操作db! 軟體項目開發周期中資料庫設計01.需求分析階段:分析客戶的業務和數據處理需求02.概要設計階段:設計資料庫的E-R模型圖,確認需求信息的正確和完整03.詳細設計階段:應用三 ...
  • 在使用關係資料庫時,表連接和對結果集的篩選是必不可少的查詢技能,對於他們的用法你都搞清楚了麽?請讓我們一起來過一遍。 表創建與初始化: Inner Join 結果集: 對於Inner Join, 條件在on里或者where 里效果相同 Left Join 結果集: Left Join 條件在On從句 ...
  • Guaranteeing Message Processing Storm保證每一個tuple被完全處理。Strom中一個核心的機制是它提供了一種跟蹤tuple血統的能力,它使用了一種十分有效的方式跟蹤topology中的tuple。 Storm中最基本的抽象是提供了至少一次(at-least-on ...
  • 一、問題現象 20180201:15:06:25:028653 gpinitsystem:sdw1-2:gpadmin-[INFO]: 20180201:15:06:25:028653 gpinitsystem:sdw1-2:gpadmin-[INFO]:-Greenplum Primary Seg ...
  • 準備 1、三台虛擬機 192.168.1.128 Nimbus 192.168.1.131 Supervisor 192.168.1.132 Supervisor 2、JDK1.8 3、Zookeeper3.4.10 4、Storm-1.1.1 步驟 1、配置Storm(PS:三台機器的配置都是這樣 ...
  • --用INSERT插入單行數據 在SQL中,可以通過INSERT...VALUES語句直接向資料庫表中插入數據。可以整行,也可以部分列。 基本語法: INSERT INTO table_name [column1,column2...] VALUES (values1,values2...) 如果t ...
  • LSQL Developer作為強大的Oracle編輯工具,卻只支持32bit,本文提供在安裝用LSQL Developer打開64bitOracle的操作方法 工具/原料 oracle11g安裝包(64位) oracle11g客戶端(32位) LSQL Developer安裝包 oracle11g ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...