hadoop-2.7.1基於QMJ高可用安裝配置

来源:http://www.cnblogs.com/wsl222000/archive/2016/01/21/5148523.html
-Advertisement-
Play Games

1.修改主機名及hosts文件10.205.22.185 nn1 (主)作用namenode,resourcemanager,datanode,zk,hive,sqoop10.205.22.186 nn2 (備)作用namenode,resourcemanager,datanode,zk10.205...


1.修改主機名及hosts文件

10.205.22.185 nn1 (主)作用namenode,resourcemanager,datanode,zk,hive,sqoop
10.205.22.186 nn2 (備)作用namenode,resourcemanager,datanode,zk
10.205.22.187 dn1      作用datanode,zk

 

1.1配置ssh免密碼登錄

主節點能免密碼登錄各個從節點

ssh nn1
ssh nn2
ssh dn1

 

2. 安裝jdk1.8和zookeeper,hive,sqoop可搭建成功後再安裝

2.1修改profile文件,配置環境變數

export JAVA_HOME=/usr/java/jdk1.8.0_65
export JRE_HOME=/usr/java/jdk1.8.0_65/jre
export HADOOP_HOME=/app/hadoop-2.7.1
export HIVE_HOME=/app/hive
export SQOOP_HOME=/app/sqoop
export ZOOKEEPER_HOME=/app/zookeeper-3.4.6
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin:$HIVE_HOME/bin:$SQOOP_HOME/bin:$MAVEN_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
ulimit -SHn 65536

 

2.2 修改zookeeper配置文件zoo.cfg

添加:

server.1= nn1:2888:3888
server.2= nn2:2888:3888
server.3= dn1:2888:3888

 

3.安裝hadoop-2.7.1,修改配置文件

創建相應的目錄

mkdir -p /home/hadoop/tmp
mkdir -p /home/hadoop/hdfs/data
mkdir -p /home/hadoop/journal
mkdir -p /home/hadoop/name

 

修改slaves文件

nn1
nn2
dn1

 

修改hadoop-env.sh文件

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

 

3.1配置hdfs-site.xml

<configuration>
        <property>
               <name>dfs.nameservices</name>
               <value>masters</value>
        </property>
        <property>
               <name>dfs.ha.namenodes.masters</name>
               <value>nn1,nn2</value>
        </property>
        <property>
               <name>dfs.namenode.rpc-address.masters.nn1</name>
               <value>nn1:9000</value>
        </property>
        <property>
               <name>dfs.namenode.http-address.masters.nn1</name>
               <value>nn1:50070</value>
        </property>
        <property>
               <name>dfs.namenode.rpc-address.masters.nn2</name>
               <value>nn2:9000</value>
        </property>
        <property>
               <name>dfs.namenode.http-address.masters.nn2</name>
               <value>nn2:50070</value>
        </property>
        <property>
               <name>dfs.datanode.data.dir</name>
               <value>file:/home/hadoop/hdfs/data</value>
        </property>
        <property>
           <name>dfs.replication</name>
              <value>2</value>
        </property>
        <property>
               <name>dfs.namenode.name.dir</name>
               <value>file:/home/hadoop/name</value>
        </property>
        <property>
               <name>dfs.namenode.shared.edits.dir</name>
               <value>qjournal://nn1:8485;nn2:8485;dn1:8485/masters</value>
        </property>
        <property>
               <name>dfs.journalnode.edits.dir</name>
               <value>/home/hadoop/journal</value>
        </property>
        <property>
               <name>dfs.ha.automatic-failover.enabled</name>
               <value>true</value>
        </property>
        <property>                                   
         <name>dfs.client.failover.proxy.provider.masters</name>             
         <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
        </property>
        <property>
               <name>dfs.ha.fencing.methods</name>
               <value>sshfence</value>
        </property>
        <property>
            <name>dfs.ha.fencing.ssh.private-key-files</name>
               <value>/root/.ssh/id_rsa</value>
        </property>
        <property>
               <name>dfs.ha.fencing.ssh.connect-timeout</name>
               <value>30000</value>
        </property>
</configuration>

 

3.2配置core-site.xml文件

<configuration>
   <property>
       <name>fs.defaultFS</name>
       <value>hdfs://masters</value>
   </property>
   <property>
       <name>hadoop.tmp.dir</name>
       <value>/home/hadoop/tmp</value>
   </property>
   <property>
       <name>ha.zookeeper.quorum</name>
       <value>nn1:2181,nn2:2181,dn1:2181</value>
   </property>

   <property>
       <name>io.compression.codecs</name>
       <value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec,org.apache.hadoop.io.compress.BZip2Codec</value>
   </property>
   <property>
       <name>io.compression.codec.lzo.class</name>
       <value>com.hadoop.compression.lzo.LzoCodec</value>
   </property>
</configuration>

 

3.3配置yarn-site.xml文件

<configuration>
    <property>
       <name>yarn.resourcemanager.ha.enabled</name>
       <value>true</value>
    </property>
    <property>
        <name>yarn.resourcemanager.cluster-id</name>
        <value>rm-cluster</value>
    </property>
    <property>
        <name>yarn.resourcemanager.ha.rm-ids</name>
        <value>rm1,rm2</value>
    </property>
    <property>
        <name>yarn.resourcemanager.ha.automatic-failover.enabled</name>
        <value>true</value>
    </property>
    <property>
        <name>yarn.resourcemanager.ha.automatic-failover.embedded</name>
        <value>true</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname.rm1</name>
        <value>nn1</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname.rm2</name>
        <value>nn2</value>
   </property>
    <property>
       <name>yarn.resourcemanager.store.class</name>
       <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
    </property>
    <property>
       <name>yarn.resourcemanager.zk-address</name>
       <value>nn1:2181,nn2:2181,dn1:2181</value>
    </property>
    <property>
       <name>yarn.resourcemanager.scheduler.address.rm1</name>
       <value>nn1:8030</value>
    </property>
    <property>
       <name>yarn.resourcemanager.scheduler.address.rm2</name>
       <value>nn2:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address.rm1</name>
       <value>nn1:8031</value>
    </property>
    <property>
       <name>yarn.resourcemanager.resource-tracker.address.rm2</name>
       <value>nn2:8031</value>
    </property>
    <property>
       <name>yarn.resourcemanager.address.rm1</name>
       <value>nn1:8032</value>
    </property>
    <property>
       <name>yarn.resourcemanager.address.rm2</name>
       <value>nn2:8032</value>
    </property>
    <property>
       <name>yarn.resourcemanager.admin.address.rm1</name>
       <value>nn1:8033</value>
    </property>
    <property>
       <name>yarn.resourcemanager.admin.address.rm2</name>
       <value>nn2:8033</value>
    </property>
    <property>
       <name>yarn.resourcemanager.webapp.address.rm1</name>
       <value>nn1:8088</value>
    </property>
    <property>
       <name>yarn.resourcemanager.webapp.address.rm2</name>
       <value>nn2:8088</value>
    </property>
    <property>
       <name>yarn.nodemanager.aux-services</name>
       <value>mapreduce_shuffle</value>
    </property>
    <property>
       <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
       <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    <property>
        <name>yarn.client.failover-proxy-provider</name>
        <value>org.apache.hadoop.yarn.client.ConfiguredRMFailoverProxyProvider</value>
    </property>
</configuration>

 

 

3.4配置mapred-site.xml文件

<configuration>
   <property>
       <name>mapreduce.framework.name</name>
       <value>yarn</value>
   </property>
   <property>
       <name>mapreduce.jobhistory.address</name>
       <value>nn1:10020</value>
   </property>
   <property>
       <name>mapreduce.jobhistory.webapp.address</name>
       <value>nn2:19888</value>
   </property>

   <property>
       <name>mapred.compress.map.output</name>
       <value>true</value>
   </property>
   <property>
       <name>mapred.map.output.compression.codec</name>
       <value>com.hadoop.compression.lzo.LzoCodec</value>
   </property>
   <property>
       <name>mapred.child.env</name>
       <value>LD_LIBRARY_PATH=/usr/local/lzo/lib</value>
   </property>
</configuration>

 

3.5同步hadoop到各個節點,並配置上述相關文件

 

4.啟動服務

4.1在各個節點啟動zookeeper,查看狀態

zkServer.sh start
zkServer.sh status

在主節點格式化zookeeper

hdfs zkfc -formatZK


4.2在各個節點啟日誌程式

hadoop-daemon.sh start journalnode

 

4.3在主namenode節點格式化hadoop

hadoop namenode -format


4.4在主namenode節點啟動namenode進程

hadoop-daemon.sh start namenode


4.5在備節點執行命令,這個是把備namenode節點的目錄格式化並把元數據從主namenode節點同步過來

hdfs namenode –bootstrapStandby
hadoop-daemon.sh start namenode 啟動namenode
yarn-daemon.sh start resourcemanager 啟動resourcemanager

 

4.6啟動其他相關服務

start-dfs.sh
start-yarn.sh

 

4.7 查看高可用狀態

hdfs haadmin -getServiceState nn1/nn2 查看namenode
yarn rmadmin -getServiceState rm1/rm2 查看resourcemanager

 

4.8登錄web查看狀態

http://nn1:50070
http://nn1:8088

 


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

-Advertisement-
Play Games
更多相關文章
  • 需求:把找到的文件逐行輸出,然後用rm在許可的情況下刪除前置準備:$lsrm.sh test1 test2 test3 test4 test5 test6$cat rm.sh#! /bin/bashwhile read fileinfodo rm -iv $fileinfodone< <( ...
  • TryVistalizator- this tool allows you to change display language in Windows editions other than (officially supported) Ultimate, like Starter, Home Ba...
  • 版權聲明:本內容為原創內容,轉載請聲明出處。原文地址:http://www.excelib.com/article/287/showfirewalld簡介Centos7中預設將原來的防火牆iptables升級為了firewalld,firewalld跟iptables比起來至少有兩大好處:1、fir...
  • nginx中可以將lua嵌,讓nginx執行lua腳本,可以處理高併發,非阻塞的處理各種請求,openresty項目中可以使用nignx可以直接構建 srcache_nginx+redis緩存,而不用通過動態語言來處理(QPS可以輕鬆的提高了)看一下openresty中srcache-nginx-m...
  • Opps, my computer system was broken again... Let's repire it.IntroductionThe system of my PC is broken. I could enter the UEFI setting. So that means ...
  • A few days ago, I have tried to write bare medal program but failed. Now I find that the main mistake is that I have mistake the address of GPIO of BC...
  • 所謂的處理器就是電腦的核心運算硬體,現在使用windows操作系統的用戶使用的機器之中的處理器多數都是X86內核,而實際之上很多時候我們用戶都是會在心目之中把一個處理器和其運行的特定操作系統掛鉤,之前說的X86和windows操作系統,而在Cortex-A系列硬體之上我們運行的多數都是Androi...
  • 1,使用工具概述 FT232Rl晶元+sscom32+示波器 2,接收數據分析 sscom32發送數據:0xaa[1010 1010] 波特率為:4800bps @5V系統 示波器測試FT232RL 發送引腳 Txd,得到數據如上圖所示。 從上圖中可以得到如下幾點結論: 1.Txd空閑為高電平。 2...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...