<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    最新Hadoop-2.7.2+hbase-1.2.0+zookeeper-3.4.8 HA高可用集群配置安裝

    Ip

     主機名

    程序

    進程

    192.168.128.11

    h1

    Jdk

    Hadoop

    hbase

    Namenode

    DFSZKFailoverController

    Hamster

    192.168.128.12

    h2

    Jdk

    Hadoop

    hbase

    Namenode

    DFSZKFailoverController

    Hamster

    192.168.128.13

    h3

    Jdk

    Hadoop

    resourceManager

    192.168.128.14

    h4

    Jdk

    Hadoop

     

    resourceManager

    192.168.128.15

    h5

    Jdk

    Hadoop

    Zookeeper

    Hbase

    Datanode

    nodeManager

    JournalNode

    QuorumPeerMain

    HRegionServer

    192.168.128.16

    h6

    Jdk

    Hadoop

    Zookeeper

    Hbase

    Datanode

    nodeManager

    JournalNode

    QuorumPeerMain

    HRegionServer

    192.168.128.17

    h7

    Jdk

    Hadoop

    Zookeeper

    hbase

    Datanode

    nodeManager

    JournalNode

    QuorumPeerMain

    HRegionServer


    關于準備工作  我這里就不一一寫出來了,總結一下有主機名,ip,主機名和ip的映射關系,防火墻,ssh免密碼,jdk的安裝及環境變量的設置。

    安裝zookeeper h5h6h7上面

    修改 /home/zookeeper-3.4.8/conf的zoo_sample.cfg

    cp zoo_sample.cfg 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=/home/zookeeper-3.4.8/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.1=h5:2888:3888

    server.2=h6:2888:3888

    server.3=h7:2888:3888


     


    創建 data文件夾  和在里面  創建文件myid  并寫入數字1

    touch data/myid

     

    echo 1 > data/myid

     

    拷貝整個zookeeper到另外兩個節點上

     

    scp -r /home/zookeeper-3.4.8  h6:/home/

    scp -r /home/zookeeper-3.4.8  h7:/home/

    其他兩個節點的myid  修改為 2  3

    安裝hadoop


    /home/hadoop-2.7.2/etc/Hadoop

     

    hadoop-env.sh

    export JAVA_HOME=/home/jdk

     

    core-site.xml

     

     

    <configuration>

    <!-- 指定hdfs的nameservice為masters -->

    <property>

    <name>fs.defaultFS</name>

    <value>hdfs://masters</value>

    </property>

    <!-- 指定hadoop臨時目錄 -->

    <property>

    <name>hadoop.tmp.dir</name>

    <value>/home/hadoop-2.7.2/tmp</value>

    </property>

    <!-- 指定zookeeper地址 -->

    <property>

    <name>ha.zookeeper.quorum</name>

    <value>h5:2181,h6:2181,h7:2181</value>

    </property>

    </configuration>

     

     

    hdfs-site.xml

     

     

     

    <configuration>

    <!--指定hdfs的nameservice為masters,需要和core-site.xml中的保持一致 -->

            <property>

                    <name>dfs.nameservices</name>

                    <value>masters</value>

            </property>

            <!-- h1下面有兩個NameNode,分別是h1,h2 -->

            <property>

                    <name>dfs.ha.namenodes.masters</name>

                    <value>h1,h2</value>

            </property>

            <!-- h1的RPC通信地址 -->

            <property>

                    <name>dfs.namenode.rpc-address.masters.h1</name>

                    <value>h1:9000</value>

            </property>

            <!-- h1的http通信地址 -->

            <property>

                    <name>dfs.namenode.http-address.masters.h1</name>

                    <value>h1:50070</value>

            </property>

            <!-- h2的RPC通信地址 -->

            <property>

                    <name>dfs.namenode.rpc-address.masters.h2</name>

                    <value>h2:9000</value>

            </property>

            <!-- h2的http通信地址 -->

            <property>

                    <name>dfs.namenode.http-address.masters.h2</name>

                    <value>h2:50070</value>

            </property>

            <!-- 指定NameNode的元數據在JournalNode上的存放位置 -->

            <property>

                    <name>dfs.namenode.shared.edits.dir</name>

                    <value>qjournal://h5:8485;h6:8485;h7:8485/masters</value>

            </property>

            <!-- 指定JournalNode在本地磁盤存放數據的位置 -->

            <property>

                    <name>dfs.journalnode.edits.dir</name>

                    <value>/home/hadoop-2.7.2/journal</value>

            </property>

            <!-- 開啟NameNode失敗自動切換 -->

            <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

                            shell(/bin/true)

                    </value>

            </property>

            <!-- 使用sshfence隔離機制時需要ssh免登陸 -->

            <property>

                    <name>dfs.ha.fencing.ssh.private-key-files</name>

                    <value>/root/.ssh/id_rsa</value>

            </property>

            <!-- 配置sshfence隔離機制超時時間 -->

            <property>

                    <name>dfs.ha.fencing.ssh.connect-timeout</name>

                    <value>30000</value>

            </property>

    </configuration>

     

     

     

    mapred-site.xml

     

     

    <configuration>

    <!-- 指定mr框架為yarn方式 -->

    <property>

    <name>mapreduce.framework.name</name>

    <value>yarn</value>

    </property>

    </configuration>

     

    yarn-site.xml

     

    <configuration>

     

    <!-- 開啟RM高可靠 -->

            <property>

                    <name>yarn.resourcemanager.ha.enabled</name>

                    <value>true</value>

            </property>

            <!-- 指定RM的cluster id -->

            <property>

                    <name>yarn.resourcemanager.cluster-id</name>

                    <value>RM_HA_ID</value>

            </property>

            <!-- 指定RM的名字 -->

            <property>

                    <name>yarn.resourcemanager.ha.rm-ids</name>

                    <value>rm1,rm2</value>

            </property>

            <!-- 分別指定RM的地址 -->

            <property>

                    <name>yarn.resourcemanager.hostname.rm1</name>

                    <value>h3</value>

            </property>

            <property>

                    <name>yarn.resourcemanager.hostname.rm2</name>

                    <value>h4</value>

            </property>

            <property>

                    <name>yarn.resourcemanager.recovery.enabled</name>

                    <value>true</value>

            </property>

            

            <property>

                    <name>yarn.resourcemanager.store.class</name>

                    <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>

            </property>

            <!-- 指定zk集群地址 -->

            <property>

                    <name>yarn.resourcemanager.zk-address</name>

                    <value>h5:2181,h6:2181,h7:2181</value>

            </property>

            <property>

                    <name>yarn.nodemanager.aux-services</name>

                    <value>mapreduce_shuffle</value>

            </property>

    </configuration>

     

     

    Slaves

     

    h5

    h6

    h7

     

    然后 拷貝到其他節點

     

     

    scp -r hadoop-2.7.2 h2:/home/    等等


     

    這個地方說明一下  yarn 的HA  是在  h3和h4  上面


    啟動順序

    ###注意:嚴格按照下面的步驟

     

    1.       啟動zookeeper集群

     

    [root@h6 ~]# cd /home/zookeeper-3.4.8/bin/

    [root@h6 bin]# ./zkServer.sh start

     

    H5  h6  h7  都一樣

    [root@h6 bin]# ./zkServer.sh status

    查看狀態

     

    2.       啟動journalnode

    [root@h5 bin]# cd /home/hadoop-2.7.2/sbin/

    [root@h5 sbin]# ./hadoop-daemons.sh start journalnode

    h5: starting journalnode, logging to /home/hadoop-2.7.2/logs/hadoop-root-journalnode-h5.out

    h7: starting journalnode, logging to /home/hadoop-2.7.2/logs/hadoop-root-journalnode-h7.out

    h6: starting journalnode, logging to /home/hadoop-2.7.2/logs/hadoop-root-journalnode-h6.out

    [root@h5 sbin]# jps

    2420 JournalNode

    2309 QuorumPeerMain

    2461 Jps

    [root@h5 sbin]# ^C

     

     

    3.       格式化HDFS

     

    在h1上執行命令:

    hdfs namenode -format

    格式化后會在根據core-site.xml中的hadoop.tmp.dir配置生成個文件

    拷貝tmp  h2

    [root@h1 hadoop-2.7.2]# scp -r tmp/ h2:/home/hadoop-2.7.2/

     

    4. 格式化ZK(h1上執行即可)

     

    [root@h1 hadoop-2.7.2]# hdfs zkfc -formatZK

     

    5. 啟動HDFS(h1上執行)

     

    [root@h1 hadoop-2.7.2]# sbin/start-dfs.sh

    16/02/25 05:01:14 WARN hdfs.DFSUtil: Namenode for ns1 remains unresolved for ID null.  Check your hdfs-site.xml file to ensure namenodes are configured properly.

    16/02/25 05:01:14 WARN hdfs.DFSUtil: Namenode for ns2 remains unresolved for ID null.  Check your hdfs-site.xml file to ensure namenodes are configured properly.

    16/02/25 05:01:14 WARN hdfs.DFSUtil: Namenode for ns3 remains unresolved for ID null.  Check your hdfs-site.xml file to ensure namenodes are configured properly.

    Starting namenodes on [h1 h2 masters masters masters]

    masters: ssh: Could not resolve hostname masters: Name or service not known

    masters: ssh: Could not resolve hostname masters: Name or service not known

    masters: ssh: Could not resolve hostname masters: Name or service not known

    h2: starting namenode, logging to /home/hadoop-2.7.2/logs/hadoop-root-namenode-h2.out

    h1: starting namenode, logging to /home/hadoop-2.7.2/logs/hadoop-root-namenode-h1.out

    h5: starting datanode, logging to /home/hadoop-2.7.2/logs/hadoop-root-datanode-h5.out

    h7: starting datanode, logging to /home/hadoop-2.7.2/logs/hadoop-root-datanode-h7.out

    h6: starting datanode, logging to /home/hadoop-2.7.2/logs/hadoop-root-datanode-h6.out

    Starting journal nodes [h5 h6 h7]

    h5: journalnode running as process 2420. Stop it first.

    h6: journalnode running as process 2885. Stop it first.

    h7: journalnode running as process 2896. Stop it first.

    Starting ZK Failover Controllers on NN hosts [h1 h2 masters masters masters]

    masters: ssh: Could not resolve hostname masters: Name or service not known

    masters: ssh: Could not resolve hostname masters: Name or service not known

    masters: ssh: Could not resolve hostname masters: Name or service not known

    h2: starting zkfc, logging to /home/hadoop-2.7.2/logs/hadoop-root-zkfc-h2.out

    h1: starting zkfc, logging to /home/hadoop-2.7.2/logs/hadoop-root-zkfc-h1.out

    [root@h1 hadoop-2.7.2]#

     

    6. 啟動YARN(是在h3上執行start-yarn.sh,把namenoderesourcemanager分開是因為性能問題,因為他們都要占用大量資源,所以把他們分開了,他們分開了就要分別在不同的機器上啟動)

     

    [root@h3 sbin]# ./start-yarn.sh

     

    [root@h4 sbin]# ./yarn-daemons.sh start resourcemanager

     

     

    驗證:

     

    http://192.168.128.11:50070

     

    Overview 'h1:9000' (active)

     

     

    http://192.168.128.12:50070

     

     

    Overview 'h2:9000' (standby)

     

    上傳文件

    [root@h4 bin]# hadoop fs -put /etc/profile /profile

    [root@h4 bin]# hadoop fs -ls

    ls: `.': No such file or directory

    [root@h4 bin]# hadoop fs -ls /

    Found 1 items

    -rw-r--r--   3 root supergroup       1814 2016-02-26 19:08 /profile

    [root@h4 bin]#

     

    殺死h1

    [root@h1 sbin]# jps

    2480 NameNode

    2868 Jps

    2775 DFSZKFailoverController

    [root@h1 sbin]# kill -9 2480

    [root@h1 sbin]# jps

    2880 Jps

    2775 DFSZKFailoverController

    [root@h1 sbin]# hadoop fs -ls /

    Found 1 items

    -rw-r--r--   3 root supergroup       1814 2016-02-26 19:08 /profile

     

    此時 h2  變為active

     

    手動啟動 h1 namenode

     

    [root@h1 sbin]# ./hadoop-daemon.sh start namenode

    starting namenode, logging to /home/hadoop-2.7.2/logs/hadoop-root-namenode-h1.out

    [root@h1 sbin]# hadoop jar /home/hadoop-2.7.2/s

     

    觀察  h1 狀態為standby

     

    驗證yarn

     

    [root@h1 sbin]# hadoop jar /home/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /profile /out

    16/02/26 19:14:23 INFO input.FileInputFormat: Total input paths to process : 1

    16/02/26 19:14:23 INFO mapreduce.JobSubmitter: number of splits:1

    16/02/26 19:14:23 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1456484773347_0001

    16/02/26 19:14:24 INFO impl.YarnClientImpl: Submitted application application_1456484773347_0001

    16/02/26 19:14:24 INFO mapreduce.Job: The url to track the job: http://h3:8088/proxy/application_1456484773347_0001/

    16/02/26 19:14:24 INFO mapreduce.Job: Running job: job_1456484773347_0001

    16/02/26 19:14:49 INFO mapreduce.Job: Job job_1456484773347_0001 running in uber mode : false

    16/02/26 19:14:49 INFO mapreduce.Job:  map 0% reduce 0%

    16/02/26 19:15:05 INFO mapreduce.Job:  map 100% reduce 0%

    16/02/26 19:15:22 INFO mapreduce.Job:  map 100% reduce 100%

    16/02/26 19:15:23 INFO mapreduce.Job: Job job_1456484773347_0001 completed successfully

    16/02/26 19:15:23 INFO mapreduce.Job: Counters: 49

            File System Counters

                    FILE: Number of bytes read=2099

                    FILE: Number of bytes written=243781

                    FILE: Number of read operations=0

                    FILE: Number of large read operations=0

                    FILE: Number of write operations=0

                    HDFS: Number of bytes read=1901

                    HDFS: Number of bytes written=1470

                    HDFS: Number of read operations=6

                    HDFS: Number of large read operations=0

                    HDFS: Number of write operations=2

            Job Counters

                    Launched map tasks=1

                    Launched reduce tasks=1

                    Data-local map tasks=1

                    Total time spent by all maps in occupied slots (ms)=13014

                    Total time spent by all reduces in occupied slots (ms)=13470

                    Total time spent by all map tasks (ms)=13014

                    Total time spent by all reduce tasks (ms)=13470

                    Total vcore-milliseconds taken by all map tasks=13014

                    Total vcore-milliseconds taken by all reduce tasks=13470

                    Total megabyte-milliseconds taken by all map tasks=13326336

                    Total megabyte-milliseconds taken by all reduce tasks=13793280

            Map-Reduce Framework

                    Map input records=80

                    Map output records=256

                    Map output bytes=2588

                    Map output materialized bytes=2099

                    Input split bytes=87

                    Combine input records=256

                    Combine output records=156

                    Reduce input groups=156

                    Reduce shuffle bytes=2099

                    Reduce input records=156

                    Reduce output records=156

                    Spilled Records=312

                    Shuffled Maps =1

                    Failed Shuffles=0

                    Merged Map outputs=1

                    GC time elapsed (ms)=395

                    CPU time spent (ms)=4100

                    Physical memory (bytes) snapshot=298807296

                    Virtual memory (bytes) snapshot=4201771008

                    Total committed heap usage (bytes)=138964992

            Shuffle Errors

                    BAD_ID=0

                    CONNECTION=0

                    IO_ERROR=0

                    WRONG_LENGTH=0

                    WRONG_MAP=0

                    WRONG_REDUCE=0

            File Input Format Counters

                    Bytes Read=1814

            File Output Format Counters

                    Bytes Written=1470

    [root@h1 sbin]# hadoop fs -ls /

    Found 3 items

    drwxr-xr-x   - root supergroup          0 2016-02-26 19:15 /out

    -rw-r--r--   3 root supergroup       1814 2016-02-26 19:08 /profile

    drwx------   - root supergroup          0 2016-02-26 19:14 /tmp

    [root@h1 sbin]#

     

    Hadoop ha  集群搭建完成


    安裝hbase

    hbase-env.sh

     

    export JAVA_HOME=/home/jdk

    export HBASE_MANAGES_ZK=false

     

     

     

    hbase-site.xml:

     

     

    <configuration>

    <property>

    <name>hbase.rootdir</name>

    <value>hdfs://h1:9000/hbase</value>

    </property>

    <property>

    <name>hbase.cluster.distributed</name>

    <value>true</value>

    </property>

     

    <property>

    <name>hbase.master</name>

    <value>h1:60000</value>

    </property>

     <property>

     <name>hbase.master.port</name>

     <value>60000</value>

     <description>The port master should bind to.</description>

     </property>

     

     

    <property>

    <name>hbase.zookeeper.quorum</name>

    <value>h5,h6,h7</value>

    </property>

    <property>

    <name>dfs.replication</name>

    <value>3</value>

    </property>

    </configuration>

     

    注意:$HBASE_HOME/conf/hbase-site.xml的hbase.rootdir的主機和端口號與$HADOOP_HOME/conf/core-site.xml的fs.default.name的主機和端口號一致

     

     

    Regionservers:內容為:

    h5

    h6

    h7

     

    復制到h2  h5,h6,h7上面


    整個啟動順序

     

    按照上面啟動hadoop  ha  的順序  先啟動好

     

    然后在h1h2上啟動hbase

     

    ./start-hbase.sh

     

     

    測試進入 hbase

     

    [root@h1 bin]# hbase shell

    SLF4J: Class path contains multiple SLF4J bindings.

    SLF4J: Found binding in [jar:file:/home/hbase-1.2.0/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]

    SLF4J: Found binding in [jar:file:/home/hadoop-2.7.2/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]

    SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

    SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]

    HBase Shell; enter 'help<RETURN>' for list of supported commands.

    Type "exit<RETURN>" to leave the HBase Shell

    Version 1.2.0, r25b281972df2f5b15c426c8963cbf77dd853a5ad, Thu Feb 18 23:01:49 CST 2016

     

    hbase(main):001:0> esit

    NameError: undefined local variable or method `esit' for #<Object:0x7ad1caa2>

     

    hbase(main):002:0> exit

     

    至此全部結束。

     

    posted on 2016-02-26 16:23 威爾 閱讀(4891) 評論(1)  編輯  收藏

    評論

    # re: 最新Hadoop-2.7.2+hbase-1.2.0+zookeeper-3.4.8 HA高可用集群配置安裝 2016-03-11 11:11 docker

    珠三角地區關注這方面技術的同學可以加

    QQ群479189837討論   回復  更多評論   


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2016年3月>
    282912345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    導航

    統計

    常用鏈接

    留言簿(1)

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 午夜影院免费观看| 亚洲AV综合色区无码一二三区| 亚洲日本一区二区三区在线| 免费又黄又爽又猛的毛片 | 亚洲视频免费一区| 亚洲av日韩综合一区在线观看| 亚洲精品午夜无码专区| 自拍偷自拍亚洲精品情侣| 在线观看亚洲天天一三视| 亚洲综合另类小说色区| 亚洲乱码国产一区三区| 亚洲AV无码国产精品麻豆天美 | 国产1000部成人免费视频| 国内精自视频品线六区免费| 99热在线精品免费全部my| 国国内清清草原免费视频99| 欧美最猛性xxxxx免费| 久久综合AV免费观看| 午夜视频免费成人| 四只虎免费永久观看| 亚洲综合亚洲综合网成人| 中文字幕不卡亚洲| 亚洲AV日韩AV永久无码免下载| 久久久久亚洲AV无码专区首JN| 亚洲中文无码线在线观看| 亚洲国产精品99久久久久久| 含羞草国产亚洲精品岁国产精品| 啦啦啦高清视频在线观看免费 | 日本黄页网址在线看免费不卡| 日本一区二区三区在线视频观看免费 | 成年性午夜免费视频网站不卡| 成全视频免费高清 | 久久久高清日本道免费观看| 色猫咪免费人成网站在线观看| 69式互添免费视频| 成人免费在线视频| 亚洲国产精品日韩| 337p日本欧洲亚洲大胆艺术| 亚洲一区二区三区免费视频| 国产亚洲精品美女久久久久久下载| 一级毛片在线免费视频|