zoukankan      html  css  js  c++  java
  • hadoop-2.7.2-HA安装笔记

    配置方案如图

     

    NN

    DN

    ZK

    ZKFC

    JN

    RM

    NM(任务管理器)

     HMaster

     Region Server

    Node1

    1

    1

    1

    1

     1

    Node2

    1

    1

    1

    1

    1

    1

     1

    Node3

    1

    1

    1

    1

     1

     1

    Node4

    1

    1

    1

     1

     1

    一、进入hadoop2.7/etc/hadoop/文件夹,修改hadoop-env.sh的JAVA_HOME路径。

    二、 修改hdfs-site.xml配置文件

      1、配置命名服务

    <property>
      <name>dfs.nameservices</name>
      <value>mycluster</value>
    </property>

    2、配置所有namenode名字
    <property>
      <name>dfs.ha.namenodes.mycluster</name>
      <value>nn1,nn2</value>
    </property>

    3、配置RPC协议端口

    <property> <name>dfs.namenode.rpc-address.mycluster.nn1</name> <value>node1:8020</value> </property> <property> <name>dfs.namenode.rpc-address.mycluster.nn2</name> <value>node2:8020</value> </property>

    4、配置http端口

    <property> <name>dfs.namenode.http-address.mycluster.nn1</name> <value>node1:50070</value> </property> <property> <name>dfs.namenode.http-address.mycluster.nn2</name> <value>node2:50070</value> </property>

    5、配置journalname的uri

    <property>
      <name>dfs.namenode.shared.edits.dir</name>
      <value>qjournal://node2:8485;node3:8485;node4:8485/mycluster</value>
    </property>

    6、配置客户端使用的类
    <property>
      <name>dfs.client.failover.proxy.provider.mycluster</name>
      <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
    </property>

    7、配置sshfence

    <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_dsa</value>
    </property>

    8、配置journalname的工作目录

    <property>
      <name>dfs.journalnode.edits.dir</name>
      <value>/opt/journalname/data</value>
    </property>

    9、开启自动切换
    <property>
       <name>dfs.ha.automatic-failover.enabled</name>
       <value>true</value>
     </property>

    三、配置core-site.xml配置文件

    1、配置namenode入口

    <property> <name>fs.defaultFS</name> <value>hdfs://mycluster</value> </property>

    2、配置zookeeper集群的位置

    <property>
       <name>ha.zookeeper.quorum</name>
       <value>node1:2181,node2:2181,node3:2181</value>
     </property>

    3、配置hadoop的工作目录

    <property>
       <name>hadoop.tmp.dir</name>
       <value>/opt/hadoop2</value>
     </property>

    四、配置slaves
    node2
    node3
    node4

    五、进入zookeeper的conf/zoo.cfg 配置zookeeper集群

    1、
    dataDir=/opt/zookeeper
    2、
    server.1=node1:2888:3888 server.2=node2:2888:3888 server.3=node3:2888:3888
    3、创建mkdir /opt/zookeeper,创建一个文件myid
    里面写上机器编号(node1里写1,Node2里写2)每台zookeeper机器都要创建
    4、在etc/profile配置zookeeper的环境变量
    export PATH=$PATH:/home/zookeeper-3.4.6/bin

    六、启动集群

    1、启动zookeeper集群,装有zookeeper都要启动,在zookeeper/bin/zkServer.sh start

    2、启动JournalNode daemons(仅在所在的机器启动)
    hadoop/sbin/
    ./hadoop-daemon.sh start journalnode

    3、格式化namenode(任意一个)
    hadoop/bin/
    ./hdfs namenode -format
    然后启动这个节点,复制到另一个节点
     ./hadoop-daemon.sh start namenode
    在另一台没有格式化的机器执行
    hadoop/bin下
     ./hdfs namenode -bootstrapStandby

    4、停止hdfs的所有服务
    ./stop-dfs.sh

    5、初始化zkfc
    ./hdfs zkfc -formatZK

    6、启动hdfs
     ./start-dfs.sh
    七、配置mapreduce

    1、 mapred-site.xml
    <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
    2、yarn-site.xml
    <property>
         <name>yarn.resourcemanager.hostname</name>
         <value>node1</value>
    </property>
    <property>
         <name>yarn.nodemanager.aux-services</name>
         <value>mapreduce_shuffle</value>
    </property>
    <property>
         <name>yarn.nodemanager.aux-services.shuffle.class</name>
         <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>

    八、配置hbase

    1、修改
    hbase-env.sh的Javahome
    和export HBASE_MANAGES_ZK=false



    2.修改hbase-site.xml
    <property>
       
    <name>hbase.rootdir</name>
     
    <value>hdfs://node1:8020/hbase</value>
     
    </property>

    <property>

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

    </property>
    <property>
        
      <name>hbase.zookeeper.quorum</name>
       
       <value>node1,node2,node3</value>
      
      </property>
     
       <property>
        
      <name>hbase.zookeeper.property.dataDir</name>
      
        <value>/opt/zookeeper</value>
      
      </property>


    3、修改regionservers
    node1
    node2
    node3
    node4

    4、复制hdfss-site.xml到hbase/conf下

    5、启动hbase
    随意一台机器都可以启动,启动的那台机器为hmaster
    ./start-hbase.sh
    也可以在其他机器增加hmaster
    ./hbase-daemon.sh start master



    其他:
    一些/etc/profile变量
    export HADOOP_HOME=/home/hadoop-2.7.2
    export HADOOP_COMMON_HOME=$HADOOP_HOME
    export HADOOP_HDFS_HOME=$HADOOP_HOME
    export HADOOP_MAPRED_HOME=$HADOOP_HOME
    export HADOOP_YARN_HOME=$HADOOP_HOME
    export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOOME/sbin:$HADOOP_HOME/lib
    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
    export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

    遇到的问题:
    1、安装过程有些步骤需要关闭防火墙
    2、虽然我在64位的linux上重新编译了hadoop,并跟踪编译后端hadoop2.7.2进行部署。部署后启动,但出现了警告:
    WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    该警告通过如下方法消除了:
    在hadoop-env.sh中 修改HADOOP_OPTS:
    export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib:$HADOOP_PREFIX/lib/native"


    博文地址:http://julyme.com/c/hadoop_2_7_2_HA安装笔记
    个人博客地址:http://julyme.com








    
    

      

  • 相关阅读:
    高阶函数 map
    高阶函数_filter
    sort和sorted方法的使用
    一个函数作为另外一个函数的参数
    匿名函数
    jenkins+Xcode+蒲公英实现ipa自动打包发布全攻略
    iOS 画贝塞尔曲线 连续曲线 平滑曲线 曲线图表
    基于WebRTC实现iOS端音频降噪功能
    苹果ios音频的回声消除处理
    iOS实现录音功能
  • 原文地址:https://www.cnblogs.com/julyme/p/5196797.html
Copyright © 2011-2022 走看看