CentOS6安裝各種大數據軟體 第四章:Hadoop分散式集群配置

来源:https://www.cnblogs.com/yangshibiao/archive/2019/03/28/10615667.html
-Advertisement-
Play Games

1. Hadoop安裝包的下載和解壓 基於apache原始廠商:https://archive.apache.org/dist/基於Cloudera廠商的cdh本:http://archiveprimary.cloudera.com/cdh5/cdh/5/,Cloudera有免費版和企業版,企業版只 ...


 

1. Hadoop安裝包的下載和解壓

基於apache原始廠商:https://archive.apache.org/dist/
基於Cloudera廠商的cdh本:http://archiveprimary.cloudera.com/cdh5/cdh/5/,
Cloudera有免費版和企業版,企業版只有試用期,不過cdh大部分功能都是免費的,使用解壓命令將hadoop解壓的目標文件夾。

 

2. Hadoop分散式集群配置_HDFS

安裝HDFS需要修改4個配置文件:hadoop-env.sh,core-site.xml,hdfs-site.xml和slaves

2.1. 在hadoop-env.sh配置文件中配置JAVA_HOME

# The java implementation to use.
export JAVA_HOME=/opt/modules/jdk1.8.0_144

2.2. 在core-site.xml中配置預設的文件系統

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://spark-node04.ouyang.com:9000</value>
</property>

2.3. 在hdfs-site.xml中配置文件的副本保存數量

<property>
    <name>dfs.replication</name>
    <value>3</value>
</property>

2.4. 在slaves文件中配置三個datanode的節點的地址

node01.ouyang.com
node02.ouyang.com
node03.ouyang.com

2.5. 將修改好的hadoop發送到其他的伺服器上

scp –r /export/servers/hadoop-2.7.4/ [email protected]:$PWD

2.6. 格式化HDFS文件系統

首次使用配置安裝號HDFS系統之後,需要進行格式化,在Hadoop的namenode伺服器的機器的頂級目錄執行如下命令: ./bin/hdfs namenode –format

2.7. 啟動HDFS

我們現在將一個節點上的HDFS文件系統配置完成和格式化完成了,接下來,我們啟動HDFS文件系統
#啟動namenode
./sbin/hadoop-daemon.sh start namenode
#啟動datanode
./sbin/hadoop-daemon.sh start datanode
#啟動之後可以在50070的web界面進行查看

 

3. Hadoop分散式集群配置_YARN

3.1. 在yarn-env.sh中配置JAVA_HOME

# some Java parameters
export JAVA_HOME=/opt/modules/jdk1.8.0_144

3.2. 在mapred-site.xml中配置資源調度框架是yarn

步驟一:修改mapred-site.xml.template為mapred-site.xml
步驟二:在mapred-site.xml中配置資源調度框架是yarn
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
步驟三:在mapred-site.xml中配置配置日誌的UI界面(可以不配)
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>node01.ouyang.com:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>node01.ouyang.com:19888</value>
    </property>

3.3. 在yarn-site.xml中設置資源調度的名稱

#必配
<!--設置資源調度的名稱-->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

#選配
<!--設置resourcemanager的主機名稱-->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>spark-node04.ouyang.com</value>
</property>
<!--配置日誌聚集-->
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>10000</value>
</property>

<!--配置resourcemanager的記憶體大小,保證不至於記憶體太小導致nodeManager掛掉-->
<property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>8192</value>
</property>
<!--表示的是可以使用的虛擬cpu個數-->
<property>
    <name>yarn.nodemanager.resource.cpu-vcores</name>
    <value>4</value>
</property>

3.4. 將修改好的配置文件分發到其他節點

scp -r hadoop/ node03.ouyang.com:$PWD

3.5. 啟動yarn

#啟動resourcemanager
./sbin/yarn-daemon.sh start resourcemanager
#啟動nodemanager
./sbin/yarn-daemon.sh start nodemanager
#啟動之後可以在8088的web界面進行查看

4. Hadoop環境變數配置

vim /etc/profile
export HADOOP_HOME=/export/server/hadoop-2.7.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile

5. Hadoop的額外配置和集成測試

5.1. 在hdfs-site.xml設置為不檢查許可權

<property>
    <name>dfs.permissions.enabled</name>
    <value>true</value>
</property>

5.2. 在core-site.xml配置靜態用戶和存儲目錄

<!--配置靜態用戶-->
<property>
    <name>hadoop.http.staticuser.user</name>
    <value>root</value>
</property>
<!--修改存儲目錄-->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/modules/hadoop-2.7.4/data/tmp</value>
</property>

5.3. 將修改好的配置文件分發到其他目錄

scp -r hadoop-2.7.4/ spark-node05.ouyang.com:$PWD
scp -r hadoop-2.7.4/ spark-node06.ouyang.com:$PWD

5.4. 關閉Hadoop的所有應用並重新格式化

在hadoop的sbin目錄下執行如下目錄:
./stop-all.sh
由於我們修改了namenode的目錄,因此,我們需要重新格式化namenode:
bin/hdfs namenode –format
一鍵啟動hadoop的hdfs和yarn服務:
./start-all.sh

5.5. 測試HDFS

#創建目錄
bin/hdfs dfs -mkdir -p /user/root/data/
#上傳文件
bin/hdfs dfs -put /opt/datas/words.txt /user/root/data/

5.6. YARN集群運行MapReduce程式

cd /export/server/hadoop-2.7.4/share/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-2.7.4.jar pi 20 50

6. 配置Hadoop一鍵啟動和停止腳本

#一鍵啟動腳本
echo "Hadoop開始啟動"
ssh 192.168.12.121 "source /etc/profile;nohup sh ${HADOOP_HOME}/sbin/start-all.sh >/dev/null 2>&1 &"
echo "Hadoop啟動完成"
echo "Hadoop日誌記錄開始啟動"
ssh 192.168.12.121 "source /etc/profile;nohup sh ${HADOOP_HOME}/sbin/mr-jobhistory-daemon.sh start historyserver >/dev/null 2>&1 &"
echo "Hadoop日誌記錄啟動完成"

#一鍵停止腳本
echo "Hadoop開始停止"
ssh 192.168.12.121 "source /etc/profile;nohup sh ${HADOOP_HOME}/sbin/stop-all.sh >/dev/null 2>&1 &"
echo "Hadoop停止完成"
echo "Hadoop日誌記錄開始停止"
ssh 192.168.12.121 "source /etc/profile;nohup sh ${HADOOP_HOME}/sbin/mr-jobhistory-daemon.sh stop historyserver >/dev/null 2>&1 &"
echo "Hadoop日誌記錄停止完成"

 


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

-Advertisement-
Play Games
更多相關文章
  • 本篇博文介紹瞭如何在URL中直接發起HTTP請求, 操作Solr的文檔? 如何通過Solr的Web界面添加、修改、刪除文檔? 還涉及到常見的Solr刪除文檔的方式: URL發起HTTP請求, Solr Web中的document中提交請求. ...
  • Redis 三大特性: Redis 支持數據的持久化,可以將記憶體中的數據保存在磁碟中,重啟的時候可以再次載入進行使用 Redis 不僅支持簡單的 鍵 * 值 類型的數據, 還提供list、set、zset、hash 等數據結構存儲 Redis 支持數據的備份,即master -slave模式的數據備 ...
  • 原理:多個msyql/mariadb之間可以實時同步,任意節點的操作可以立即同步到其他節點,底層採用galera插件同步,類似rsync,上層mysql相對於galera是透明的,可以實現多節點同時讀寫(無法實現讀寫分離)。 NOTE:普通的msyql/mariadb無法集成galera,要想使用g ...
  • zookeeper簡介 1.官網:http://zookeeper.apache.org/ 介紹:Apache ZooKeeper致力於開發和維護開源伺服器,實現高度可靠的分散式協調。 ZooKeeper是一種集中式服務,用於維護配置信息,命名,提供分散式同步和提供組服務。 所有這些類型的服務都以分 ...
  • 創建鏈接伺服器註意事項 當我們要跨本地資料庫,訪問另外一個資料庫表中的數據時,本地資料庫中就必須要創建遠程資料庫的DBLINK,通過DBLINNK資料庫可以像訪問本地資料庫一樣訪問遠程資料庫表中的數據。 鏈接伺服器允許訪問針對OLE DB數據源的分散式異構查詢。創建鏈接伺服器後,可以針對此伺服器運行 ...
  • 我們知道,HBASE在創建表的時候,會自動為表分配一個Region,當一個Region過大達到預設的閾值時(預設10GB大小),HBase中該Region將會進行split,分裂為2個Region,以此類推。表在進行split的時候,會耗費大量的資源,頻繁的分區對HBase的性能有巨大的影響。所以, ...
  • ODI(Oracle Data Integrator)是Oracle公司提供的一種數據集成工具,能高效地實現批量數據的抽取、轉換和載入。ODI可以實現當今大多數的主流關係型資料庫(Oracle、DB2、SQL Server、MySQL、SyBase)的集成。ODI提供了圖形化客戶端和agent(代理... ...
  • SolrCloud底層 添加/更新 文檔的過程是怎樣的? 它怎麼確定文檔要發給哪個Shard? 文檔的路由是做什麼的? 有什麼路由策略? 連同一些高效的實踐建議, 統統告訴你~ ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...