1. 程式人生 > >hadoop叢集-zookper高可用

hadoop叢集-zookper高可用

  1. 文件地址: 百度網盤
    提取碼:169f
    WPS 2019文件,內附詳細安裝過程

    Linux安裝路徑及備份恢復都可在這裡恢復

    如何將原來的系統匯入到virtualbox中

    準備linux 準備一張centos的盤 Redhat:https://www.redhat.com/en

    Ubuntu:https://www.ubuntu.com/download/desktop
    Centos:https://www.centos.org/

    安裝包:CentOS-6.10-x86_64-minimal.iso 將光碟插入到光碟機中;

    安裝linux

    使用者名稱:root 密碼:123456

    關機: Halt -n Init 0

    備份–快照

    硬碟空間夠用的話,有事木事就備份一下;

    上網 上網方式:
    https://jingyan.baidu.com/article/9f7e7ec04f73c66f28155484.html 現狀
    真實機(宿主機)可以上外網 虛擬機器可以上外網;(但是真實機與虛擬機器網路不通) 虛擬機器即能上外網又能真實機互通; 修改網絡卡,防火牆
    網絡卡

    Mac地址;網絡卡的身份證;12位16進位制組成;

    操作命令如下:

    進入到配置網絡卡的目錄 cd /etc/sysconfig/network-scripts/

    檢視指定檔案的內容;

    eth0:第一塊網絡卡,直接複製一下就可以 less ifcfg-eth0

    列出當前目錄下面有哪些資料夾和資料夾;dos:dir Ls

    #將網絡卡1,複製一份變成網絡卡2 cp ifcfg-eth0 ifcfg-eth1

    編輯網絡卡2; vi ifcfg-eth1

    檢視模式(預設的),編輯模式,命令模式;

    如果想修改,按下i;就可以編輯;(編輯模式)

    退出:儲存(按下esc鍵鬆了,g4再按下:x),或者(按下esc鍵,再按下:wq!):不儲存:(按下esc鍵,:q!)

    將網路服務重啟; service network restart

    檢視ip ifconfig

    Ifcfg-eth1的內容; DEVICE=eth1 TYPE=Ethernet
    UUID=e8d5353d-aa82-4804-8d1e-0683b3ece70b

    把no變成yes,就可以隨機啟動 ONBOOT=yes NM_CONTROLLED=yes

    動態獲取ip BOOTPROTO=dhcp HWADDR=08:00:27:2F:C1:40 DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no

    NAME=“System eth0” 靜態IP DEVICE=eth1 TYPE=Ethernet
    UUID=e8d5353d-aa82-4804-8d1e-0683b3ece70b

    把no變成yes,就可以隨機啟動 ONBOOT=yes NM_CONTROLLED=yes

    靜態ip BOOTPROTO=static HWADDR=08:00:27:2F:C1:40 DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no

    NAME=“System eth0”

    配置一下IP;先換成動態的,再換成靜態的; IPADDR=192.168.56.101

    防火牆 臨時修改

    永久修改

    check config Chkconfig

    查詢所有的隨機啟動程式 Chkcnofig

    根目錄

    一個軟體有三部分組成: Windows Java linux
    可執行檔案:bin Exe,msi,bat,cmd 和作業系統相關 *.sh 配置檔案:conf xml Properties Xml
    json Conf(etc目錄) 庫(工具) dll jar包 *.so
    Windows和java一樣,都是把一個軟體的三部分放到了一個目錄中 Bin:可執行檔案;建議把所有軟體的可執行檔案都放到此目錄中
    Boot:引導檔案;啟動的時候可以找到linux系統 Dev:裝置;dvd,usb; Etc:配置檔案
    Home:每一個使用者在建立的時候會有一個home目錄;(建議使用者把自已的檔案放到home目錄下面) Lib:庫
    lib64:64位作業系統的庫 lost+found: Media:多媒體;片;光盤裡面的內容
    Mnt:掛載;插u盤,手動掛載一下;(快捷方式) Opt:使用者安裝的系統都擱到此目錄下面;c:/program file;
    Proc:程序的相關資訊 Root:root使用者的home目錄 Sbin:多個bin檔案組合到一起;批量可執行檔案
    Selinux:linux自帶的安全管理元件(一般禁用) Srv: sys
    Tmp:臨時檔案;(重啟Linux,如果硬碟空間不夠,會優先刪除此目錄下面所有的檔案;不安全) Usr:和opt類似
    Var:變數,哪些檔案經常發生變化,放到此目錄;如日誌(log4j2)

    硬碟分割槽

    統一將軟體安裝到/data目錄;

    修改的是/etc/fstab檔案

    重啟 備份

    yum yum源 自動下載rpm包(最新的) 自動驗證rpm是否完整 自動安裝, 自動測試 自動執行 安裝yum-程式
    命令上傳

    lrzsz yum -y install lrzsz

    上傳-y:如果檔案已經存存,-y表示覆蓋 rz -y

    sz檔名 Sz -y

    編輯器 vi–編輯器 檢視模式 Ctrl+f:翻下頁 Ctrl+b:翻上頁 輸入數字,然後輸入大寫的G;
    直接輸入大寫的G是最後一行; 按下兩下d;刪除當前行 Shift+0以段落為單位進行切換; Home鍵,end鍵
    按下回車鍵,一次一行 編輯模式 按下i進入到編輯模式 按下esc:從編輯模式進入到檢視模式;
    :wq!(儲存退出),:x(儲存退出),:q!(不儲存退出) 命令模式;在檢視模式下面直接輸入:就會進入到命令模式; :set
    nu打回車,就看到了行號 搜尋:查詢;/關鍵字;按下n,找下一個,按下大寫的n(shift+n)(找上一個)

    vim–編輯器 Vi和vim完全一樣,只不過vim有色兒;(顏色)

    安裝–wget 下載工具;wget;windows版本的迅雷

    檢查wget如何使用 wget --help

    -y:相當一路下一步 yum -y install wget

    wget url;在瀏覽器中彈出一個下載框 wget https://dldir1.qq.com/qqfile/qq/QQ9.0.8/24207/QQ9.0.8.24207.exe

    斷點續傳 wget https://dldir1.qq.com/qqfile/qq/QQ9.0.8/24207/QQ9.0.8.24207.exe -c

    備份 每當有需要改變或者增加新的程式,或者配置檔案時多備份 以上單獨一臺虛擬機器的基礎標配 hadoop–叢集標配
    多臺虛擬機器–標配 建立虛擬機器

    趕緊要看一下,新複製出來的新電腦是不是可以上網; 要保證新複製出來的電腦,MAC地址不一樣(網絡卡的身份證);先關機

    重新配置一下網路(參照初始安裝linux如何配置網路)

    重啟兩次 Xshell必備

    標準配置 保證網路暢通 虛擬機器之間相互通暢

    真實機與虛擬機器之間暢通

    修改主機名

    修改hosts檔案(離線版dns); linux的hosts檔案

    Windows的hosts檔案

    免金鑰

    上鎖;鎖和鑰匙 ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa

    是把鑰匙放到另外一個檔案中(給鄰居) cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    把這個檔案變成600; chmod 600 ~/.ssh/authorized_keys

    把A的鑰匙給了B,A可以登陸B

    做備份

    四臺虛擬機器

    叢集搭建 JDK Hadoop叢集 主機名 Node-1 Node-2 Node-3 Node-4 Namenode ✔
    Datanode ✔ ✔ ✔ secondnamenode ✔ Resourcemanager ✔
    nodemanager ✔ ✔ ✔ 先安裝jdk; 先將jdk上傳到node-1上,
    將node-1上的jdk分別在node-2,node-3,node-4擱一份

    將jdk的rpm手動上傳到node-2,node-3,node-4;

    本地的網路相當的慢;

    利用伺服器的網路來傳輸內容;

    scp -r(遞迴) 檔案或者資料夾的名字 使用者名稱@主機名(ip):目標伺服器的路徑 scp -r jdk-8u192-linux-x64.rpm [email protected]:/root

    簡寫;使用者名稱可以省略(預設是當前的使用者名稱)

    pwd:在源機器上,一定要進入到最終的目錄; 在目標伺服器上,最終目錄一定要存在;

    在源機器上目錄是:root; 如果目標機器上木有root目錄,建議先建立好(一定要注意) scp -r jdk-8u192-linux-x64.rpm node-3:pwd

    第三種寫法 scp jdk-8u192-linux-x64.rpm node-4:$PWD

    hadoop 先配置好一臺伺服器(node-1) 檢視jdk安裝路徑 Witch javac / whereis
    javac

    Jdk裝到哪了?

    環境變數在哪配置 全域性的系統變數

    先將hadoop上傳到node-1上;都放到了/data/hadoop/下面
    配置檔案:(etc/hadoop/hadoop-env.sh)

    export HDFS_NAMENODE_USER=root export HDFS_DATANODE_USER=root export
    HDFS_SECONDARYNAMENODE_USER=root export
    YARN_RESOURCEMANAGER_USER=root export YARN_NODEMANAGER_USER=root

    配置檔案(etc/hadoop/core-site.xml) <?xml version=“1.0”
    encoding=“UTF-8”?> <?xml-stylesheet type=“text/xsl”
    href=“configuration.xsl”?>

    fs.defaultFS
    hdfs://node-1:9000

    hadoop.tmp.dir
    /data/hadoop/data/hadoop-${user.name}

    配置檔案(etc/hadoop/hdfs-site.xml) <?xml version=“1.0”
    encoding=“UTF-8”?> <?xml-stylesheet type=“text/xsl”
    href=“configuration.xsl”?>

    dfs.replication
    2

    <!-- 許可權檢查 -->
    <property>
        <name>dfs.permissions.enabled</name>
        <value>false</value>
    </property>
    
    <!-- namenode的訪問地址;http協議,網頁訪問 -->
    <property>
        <name>dfs.namenode.http-address</name>
        <value>node-1:9870</value>
    </property>
    <!-- secondary的訪問地址;http協議,網頁訪問 -->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>node-2:9868</value>
    </property>
    
    <!-- dfs.namenode.name.dir:namenode的目錄放的路徑在hadoop.tmp.dir之上做了修改 		file://${hadoop.tmp.dir}/dfs/name
    
    	dfs.datanode.data.dir:namenode的目錄放的路徑在hadoop.tmp.dir之上做了修改
    	file://${hadoop.tmp.dir}/dfs/data
     --> </configuration>
    

    配置檔案(etc/hadoop/mapred-site.xml) <?xml version="1.0"?>

    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>


    mapreduce.framework.name yarn


      mapreduce.map.memory.mb   200
      mapreduce.map.java.opts
      -Xmx200M
      mapreduce.reduce.memory.mb   200
      mapreduce.reduce.java.opts
      -Xmx200M

    配置檔案(etc/hadoop/yarn-site.xml) <?xml version="1.0"?>

    yarn.nodemanager.aux-services
    mapreduce_shuffle


    yarn.nodemanager.env-whitelist
    JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME

    <!-- resourcemanager的地址 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>node-1</value>
    </property> </configuration>
    

    配置檔案(etc/hadoop/workers);(放的是datanode,每一個datanode預設都有一個nodemanager)
    node-2 node-3 node-4

    將配置好的hadoop分發到node-2,node-3,node-4上面;用scp

    一定是在hadoop軟體(框架)所在的目錄下面 /data/hadoop

    在node-1執行此命令,將hadoop拷貝到node-2 scp -r hadoop/ node-2:$PWD

    拷貝到node-3上 scp -r hadoop/ node-3:pwd

    拷貝到node-4上 scp -r hadoop/ node-4:/data/hadoop

    在namenode上執行hadoop的啟動命令;(node-1)

    格式化,只操作一次,要格式化的時候要慎重 bin/hdfs namenode -format

    啟動dfs sbin/start-dfs.sh

    啟動yarn sbin/start-yarn.sh

    訪問 Node-1:9870

    日誌 如果啟動報錯,看日誌

    在namenode的內容

    在datanode儲存的資料;(木有加密)

    zookeeper高可用 內容: 分散式有缺點: 只有大哥和二哥,如果都掛了呢?
    Namenod掛了,seconnamenode都不能自動接棒 Namenode和secondnamenode都掛了,沒有三哥;
    Zookeeper: Zookeeper:動物園管理員 作用:(多臺伺服器)
    把多臺伺服器中的硬碟當成一塊使用,如果沒有hadoop或者hadoop自己本身執行的時候也需要儲存資料
    每臺伺服器都要裝zookeeper;自己有一個選舉的機制(如:選班長) 投票: 選leader;
    Leader掛了;剩下的人自己選擇 如果leader活了,當成小弟,跟著leader走
    自己主動檢測leader掛了,自動切換(通知所有人)

    官網(http://zookeeper.apache.org/)

    實戰 Zookeeper 單機版本 Windows 版本
    直接解壓此檔案”zookeeper-3.4.13.tar.gz”,最好別放在中文目錄中 去掉版本號 標準目錄

    Bin:可執行檔案 Conf:配置檔案 Contrib:第三方提供的jar包 Dist-maven:使用maven打包的釋出版本
    Docs:文件 Lib:jar 包 Src:原始碼 核心的jar包:zookeeper-3.4.13.jar
    Readme.md(讀我) 配置檔案(conf/zoo_sample.cfg複製一份為zoo.cfg)

    伺服器啟動 雙擊 bin/zkServer.cmd

    啟動成功

    啟動命令

    客戶端啟動

    客戶端常用命令:把zookeeper理解為 linux 上的檔案系統 也有檔案和資料夾,(資料夾上可以儲存內容)

    建立一個目錄/檔案(在這叫路徑);

    create:目錄/檔案,資料 create /hw test

    檢視/表示根路徑和linux很像 Ls 路徑

    修改 Set 路徑 值

    檢視內容 Get 路徑

    刪除(路徑) rmr /hw

    建立一個子目錄; Create 路徑 值

    路徑必須得存在; create /a/b test_2

    create s:(永久性節點)e:(臨時性節點); 臨時檔案 Create -s /s a Create -e /e b

    儲存位置

    Linux版本

    一定要將zookeeper的tar包傳到伺服器上,

    解壓tar包 tar -xzvf zookeeper-3.4.13.tar.gz

    改名 mv zookeeper-3.4.13/ zookeeper

    配置檔案:(conf/zoo_sample.cfg到zoo.cfg);

    一定要注意我的當前目錄 cp zoo_sample.cfg zoo.cfg

    啟動 bin/zkServer.sh start

    檢視是否啟動 Jps bin/zkServer.sh status !ps ps aux|grep pwd

    檢視日誌(zookeeper.out)

    啟動客戶端 bin/zkCli.sh 退出客戶端: Quit/ctrl+d

    Zookeeper多級版本 Node-1 Node-2 Node-3 Node-4 zk ✔ ✔ ✔

    先裝好一個(不能完全裝完) 修改配置檔案(conf/zoo.cfg);

    The number of milliseconds of each tick tickTime=2000

    The number of ticks that the initial

    synchronization phase can take initLimit=10

    The number of ticks that can pass between

    sending a request and getting an acknowledgement syncLimit=5

    the directory where the snapshot is stored.

    do not use /tmp for storage, /tmp here is just

    example sakes. dataDir=/data/zookeeper/data/

    the port at which the clients will connect clientPort=2181

    the maximum number of client connections.

    increase this if you need to handle more clients

    #maxClientCnxns=60

    Be sure to read the maintenance section of the

    administrator guide before turning on autopurge.

    http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance

    The number of snapshots to retain in dataDir

    #autopurge.snapRetainCount=3

    Purge task interval in hours

    Set to “0” to disable auto purge feature

    #autopurge.purgeInterval=1

    叢集的配置

    server.隨機起(zk自己識別的名字)=主機名:埠1:埠2 server.1=node-1:2888:3888 server.2=node-2:2888:3888 server.3=node-3:2888:3888

    將zookeeper從node-1同步到node-2,和node-3;

    一定要在/data/zookeeper下面;當前目錄下面得有zookeeper scp -r zookeeper/ node-2:pwd scp -r zookeeper/ node-3:pwd

    一定要在 zoo.cfg配置檔案中data目錄下面建立一個myid;myid檔案中填寫的是zookeeper自己為伺服器起的別名

    三臺伺服器一塊啟動 zokeeper

    重啟 bin/zkServer.sh restart

    檢視狀態 bin/zkServer.sh status

    客戶端使用和單機版一樣

    在三個zookeeper任意一臺操作,會自動的同步到其它伺服器上; 都是框架來和zookeeper互動

    高可用–hight avaible

    參照網址:
    http://hadoop.apache.org/docs/r3.1.1/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html 一定要讓zookeeper正常工作 Node-1 Node-2 Node-3 Node-4 Namenode ✔ ✔
    Datanode ✔ ✔ ✔ Resourcemanager ✔ ✔ Zookeeper ✔ ✔ ✔
    Journalnode ✔ ✔ ✔ Journal node:hadoop負責與zookeeper進行溝通;
    Zkfc:zookeeper failover controller;大哥掛了自動切換;

    配置檔案 Hadoop-evn.sh

    定義一些變數 export HDFS_NAMENODE_USER=root export HDFS_DATANODE_USER=root export HDFS_SECONDARYNAMENODE_USER=root

    export YARN_RESOURCEMANAGER_USER=root export
    YARN_NODEMANAGER_USER=root export HDFS_JOURNALNODE_USER=root export
    HDFS_ZKFC_USER=root

    Core-site.xml <?xml version="1.0" encoding="UTF-8"?>

    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>


    fs.defaultFS
    hdfs://jh

    hadoop.tmp.dir
    /data/hadoop/data/hadoop-${user.name}

    <!-- 告訴hadoop,zookeeper放哪了 -->
    <property>
        <name>ha.zookeeper.quorum</name>
        <value>node-1:2181,node-2:2181,node-3:2181</value>
    </property> </configuration>
    

    Hdfs-site.xml <?xml version="1.0" encoding="UTF-8"?>

    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>


    dfs.replication
    2

    <!-- 許可權檢查 -->
    <property>
        <name>dfs.permissions.enabled</name>
        <value>false</value>
    </property>
    
    <!-- dfs.namenode.name.dir:namenode的目錄放的路徑在hadoop.tmp.dir之上做了修改 		file://${hadoop.tmp.dir}/dfs/name
    
    	dfs.datanode.data.dir:namenode的目錄放的路徑在hadoop.tmp.dir之上做了修改
    	file://${hadoop.tmp.dir}/dfs/data
     -->
    <!-- 為nameservice起一個別名
        董事會
     -->
    <property>
        <name>dfs.nameservices</name>
        <value>jh</value>
    </property>
    
    <!-- 董事會的成員 -->
    <property>
        <name>dfs.ha.namenodes.jh</name>
        <value>nn1,nn2</value>
    </property>
    <!-- 配置每一個攻事會成員
        每一個配置的時候得有rpc(底層),http(上層==網頁)
     -->
    <property>
        <name>dfs.namenode.rpc-address.jh.nn1</name>
        <value>node-1:8020</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.jh.nn1</name>
        <value>node-1:9870</value>
    </property>
    
    <!-- 第二個成員 -->
    <property>
        <name>dfs.namenode.rpc-address.jh.nn2</name>
        <value>node-2:8020</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.jh.nn2</name>
        <value>node-2:9870</value>
    </property>
    
    <!-- journalnode:負責hadoop與zk進行溝通 -->
    <property>
        <name>dfs.namenode.shared.edits.dir</name>
        <value>qjournal://node-2:8485;node-3:8485;node-4:8485/jh</value>
    </property>
    
    <!-- 哪個類決定了自動切換
        哪個namenode是活著的(active)
     -->
    <property>
        <name>dfs.client.failover.proxy.provider.jh</name>
        <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
    </property>
    
    <!-- journal的儲存位置 -->
    <property>
        <name>dfs.journalnode.edits.dir</name>
        <value>/data/hadoop/data/journal/</value>
    </property>
    
    <!-- 大哥掛了,自動切換到二哥上
        啟動故障轉移
     -->
    <property>
        <name>dfs.ha.automatic-failover.enabled</name>
        <value>true</value>
    </property>
    
    <!-- (ssh免密碼登入) -->
    <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> </configuration>
    

    將配置檔案傳遞到其他的伺服器上 檔案所在的目錄打包傳送

    一定要注意,此命令的基礎是在hadoop的目錄下面 scp -r etc/ node-2:pwd scp -r etc/ node-3:pwd scp -r etc/ node-4:pwd

    啟動hadoop 刪除/data/hadoop/data 下所有檔案 Journalnode
    在node-2,node-3,node-4三個伺服器上啟動journalnode伺服器,執行以下命令
    sbin/hadoop-daemon.sh start journalnode bin/hdfs --daemon start
    journalnode

    啟動namenode 格式化namenode ,在其中任何一臺namenode上格式化(我是在 node-1 上做得格式化)
    bin/hdfs namenode -format

    把剛才格式化後的元資料拷貝到另外一個namenode上(將node-拷貝到node-2)

    一定要進入到/data/hadoop/data中 scp -r hadoop-root/ node-2:pwd

    啟動剛剛格式化的namenode:(node-1) sbin/hadoop-daemon.sh start namenode
    bin/hdfs --daemon start namenode

    在沒有格式化的namenode上執行:(node-2) bin/hdfs namenode -bootstrapStandby

    啟動第二個namenode(node-2) sbin/hadoop-daemon.sh start namenode bin/hdfs
    –daemon start namenode

    在其中一個節點上初始化zkfc(node-1)(一定要啟動zookeeper) bin/hdfs zkfc -formatZK

    重新啟動hdfs

    sbin/stop-dfs.sh sbin/start-dfs.sh

    測試 停止active的namenode,自動切換 Kill -9 bin/hdfs --daemon stop namenode

    高可用的yarn 參照網址:
    http://hadoop.apache.org/docs/r3.1.1/hadoop-yarn/hadoop-yarn-site/ResourceManagerHA.html
    配置檔案 <?xml version="1.0"?>

    yarn.nodemanager.aux-services
    mapreduce_shuffle


    yarn.nodemanager.env-whitelist
    JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME

    <!-- yarn開啟ha -->
    <property>
        <name>yarn.resourcemanager.ha.enabled</name>
        <value>true</value>
    </property>
    <!-- yarn董事會的名字 -->
    <property>
        <name>yarn.resourcemanager.cluster-id</name>
        <value>jh-yarn</value>
    </property>
    <!-- 董事會列表 -->
    <property>
        <name>yarn.resourcemanager.ha.rm-ids</name>
        <value>rm1,rm2</value>
    </property>
    <!-- hostname,webapp-->
    <property>
        <name>yarn.resourcemanager.hostname.rm1</name>
        <value>node-1</value>
    </property>
     <property>
        <name>yarn.resourcemanager.webapp.address.rm1</name>
        <value>node-1:8088</value>
    </property>
    <!-- 第二臺 -->
    <property>
        <name>yarn.resourcemanager.hostname.rm2</name>
        <value>node-2</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address.rm2</name>
        <value>node-2:8088</value>
    </property>
    <!-- zookeeper -->
    <property>
        <name>yarn.resourcemanager.zk-address</name>
        <value>node-1:2181,node-2:2181,node-3:2181</value>
    </property> </configuration>
    

    啟動yarn sbin/start-yarn.sh

    Yarn相關的命令

    檢查一下當前所在的節點,resource是active還是standby yarn rmadmin -getServiceState rm1

    配置成功後 一旦配置成功以後,都是使用以下命令 sbin/stop-all.sh sbin/start-all.sh

    Hadoop 往zookeeper都寫了啥