博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
高可用集群搭建
阅读量:4562 次
发布时间:2019-06-08

本文共 7796 字,大约阅读时间需要 25 分钟。

高可用集群搭建 

创建hadoop账户

  1. 创建hadoop账户(#注意,接下来的操作均在hadoop账户下运行

    # useradd hadoop# passwd hadoop su - hadoop mkdir soft disk1 disk2 mkdir -p disk{1,2}/dfs/{dn,nn} mkdir -p disk{1,2}/nodemgr/local

     

  2. 将本地目录下的hadoop-2.6.0-cdh5.5.0.tar.gz,上传到虚拟机的/home/hadoop/soft目录下,并且更改名字。
    1 tar -xzvf hadoop-2.6.0-cdh5.502 mv hadoop-2.6.0-cdh5.50 hadoop
  3. 配置hadoop的环境变量
    1 vim ~/.bashrc2 export HADOOP_HOME=/home/hadoop/soft/hadoop3 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH4 source ~/.bashrc
  4. 进入/home/hadoop/soft/hadoop/etc/hadoop修改配置文件
    修改core-site.xml
    修改hdfs-site.xml
    修改mapred-site.xml
    修改yarn-site.xml
    修改环境变量(下面有文字版)
     增加hadoop环境变量
    vim ~/.bashrc

     

  5. 格式化namenode
    hdfs namenode -format
  6. 启动start-all.sh启动全部服务,或者可以分别启动(start-dfs.sh,start-yarn.sh)/(hadoop-daemon.sh)
  7. 启动之后可以通过jps查看当前开启的服务以及netstat -tnlp查询端口信息(或者可以在windows下通过登录xxx:50070和xxx:8088查看)

 

高可用的搭建

  1. 将所有的服务全部关掉。
  2. 开启zookeeper(配置安装请参考)
  3. 在kslave5,kslave6,kslave7上执行
    cdmkdir disk1/dfs/jn
  4. 进入/home/hadoop/soft/hadoop/etc/hadoop修改配置文件

    修改core-site.xml
    1 
    2
          
    3
    fs.defaultFS
    4
    hdfs://kcluster
    5
    6
      
    7
    ha.zookeeper.quorum
    8
    kslave5:2181,kslave6:2181,kslave7:2181
    9
    10
    修改hdfs-site.xml
    1 
    2
    3
    4
    dfs.replication
    5
    7
    6
    7
    8
    9
    dfs.namenode.name.dir
    10
    file:///home/hadoop/disk1/dfs/nn,file:///home/hadoop/disk2/dfs/nn
    11
    12
    13
    14
    dfs.datanode.data.dir
    15
    file:///home/hadoop/disk1/dfs/dn,file:///home/hadoop/disk2/dfs/dn
    16
    17
    18
    19
    dfs.tmp.dir
    20
    /home/hadoop/disk1/tmp
    21
    22
    23
    24
    dfs.nameservices
    25
    kcluster
    26
    27
    28
    29
    dfs.ha.namenodes.kcluster
    30
    kma1,kma2
    31
    32
    33
    34
    dfs.namenode.rpc-address.kcluster.kma1
    35
    kmaster1:8020
    36
    37
    38
    dfs.namenode.rpc-address.kcluster.kma2
    39
    kmaster2:8020
    40
    41
    42
    43
    dfs.namenode.http-address.kcluster.kma1
    44
    kmaster1:50070
    45
    46
    47
    dfs.namenode.http-address.kcluster.kma2
    48
    kmaster2:50070
    49
    50
    51
    52
    dfs.namenode.shared.edits.dir
    53
    qjournal://kslave5:8485;kslave6:8485;kslave7:8485/kcluster
    54
    55
    56
    57
    dfs.journalnode.edits.dir
    58
    /home/hadoop/disk1/dfs/jn
    59
    60
    61
    62
    dfs.client.failover.proxy.provider.kcluster
    63
    org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
    64
    65
    66
    67
    dfs.ha.fencing.methods
    68
    shell(/bin/true)
    69
    70
    71
    72
    dfs.ha.automatic-failover.enabled
    73
    true
    74
    75
    修改mapred-site.xml
    1 
    2
    3
    4
    mapreduce.framework.name
    5
    yarn
    6
    7
    8
    9
    mapreduce.jobhistory.address
    10
    kmaster1:10020
    11
    12
    13
    14
    mapreduce.jobhistory.webapps.address
    15
    kmaster1:19888
    16
    17
    18
    19
    yarn.app.mapreduce.am.staging-dir
    20
    /user
    21
    22
    修改yarn-site.xml
    yarn.resourcemanager.ha.enabled
    true
    yarn.resourcemanager.cluster-id
    yarn-ha
    yarn.resourcemanager.ha.rm-ids
    krm1,krm2
    yarn.resourcemanager.hostname.krm1
    kmaster1
    yarn.resourcemanager.hostname.krm2
    kmaster2
    yarn.resourcemanager.recovery.enabled
    true
    yarn.resourcemanager.store.class
    org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore
    yarn.resourcemanager.zk-address
    kslave5:2181,kslave6:2181,kslave7:2181
    yarn.nodemanager.aux-services
    mapreduce_shuffle
    yarn.nodemanager.local-dirs
    file:///home/hadoop/disk1/nodemgr/local,file:///home/hadoop/disk2/nodemgr/local
    yarn.nodemanager.log-dirs
    file:///home/hadoop/disk1/log/hadoop-yarn/containers
    yarn.nodemanager.remote-app-log-dir
    file:///home/hadoop/disk1/log/hadoop-yarn/apps
    yarn.log-aggregation-enable
    true
    修改hadoop-env.sh(默认情况下HADOOP_PID_DIR指定位置是/tmp目录,但是/tmp目录每次重启会做定时的更新,所以会不稳定,所以在完全分布式环境下需要进行修改)
    1 export JAVA_HOME=/usr/java/default2 export HADOOP_PID_DIR=/home/hadoop/disk1/tmp
    修改mapred-env.sh
    1 export MAPRED_PID_DIR=/home/hadoop/disk1/tmp
    修改yarn-env.sh
    1 export YARN_PID_DIR=/home/hadoop/disk1/tmp

     

    配置hadoop环境变量(将接下来集群需要的zookeeper和hbase的环境变量都加好了)
    1 vim ~/.bashrc 2 export HADOOP_HOME=/home/hadoop/soft/hadoop 3 export HADOOP_PREFIX=$HADOOP_HOME 4 export HADOOP_COMMON_HOME=$HADOOP_PREFIX 5 export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop 6 export HADOOP_HDFS_HOME=$HADOOP_PREFIX 7 export HADOOP_MAPRED_HOME=$HADOOP_PREFIX 8 export HADOOP_YARN_HOME=$HADOOP_PREFIX 9 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin10 export ZOOKEEPER_HOME=/home/hadoop/soft/zk11 export PATH=$PATH:$ZOOKEEPER_HOME/bin12 export HBASE_HOME=/home/hadoop/soft/hbase13 export PATH=$PATH:$HBASE_HOME/bin
     
  5. 开启journalnode(日志服务器)
    1 hadoop-daemon.sh start journalnode

     

  6. 初始化原来的namenode:
    1 # 初始化edits目录2 hdfs namenode -initializeSharedEdits3 # 重新启动namenode4 hadoop-daemon.sh start namenode5 # 查看namenode状态6 hdfs haadmin -getServiceState kma1

     

  7. 初始化现在的namenode:
    1 hdfs namenode -bootstrapStandby2 # 启动第二台 namenode3hadoop-daemon.sh start namenode 4 # 查看状态 5 hdfs haadmin -getServiceState kma2

     

  8. 格式化zookeeper控制器,选择一台namenode格式操作:
    1 hdfs zkfc -formatZK

     再次查看namenode状态

    hdfs haadmin -getServiceState kma1

      active

    hdfs haadmin -getServiceState kma2

      standby

     查看到一个namenode(active),另一个namenode(standby)。接下来,开启其余节点上的服务,均正常运行。至此,HA集群搭建完毕。

转载于:https://www.cnblogs.com/Try-kevin/p/7868539.html

你可能感兴趣的文章
字符串操作
查看>>
Visual Studio中改变environment 的布局和显示风格
查看>>
2016-XCTF Final-Richman
查看>>
文件下载
查看>>
extjs grid renderer用法
查看>>
vue 如何在循环中绑定v-model
查看>>
shell脚本
查看>>
[代码笔记]JS保持函数单一职责,灵活组合
查看>>
cmd 重定向
查看>>
【IOS开发】如何画1像素的线
查看>>
【计算机视觉】双目测距(五)--匹配算法对比
查看>>
KMP模板
查看>>
luogu 1314 聪明的质检员
查看>>
[转载]求职者防骗必读!楼主亲身经历告诉你岗前培训多么不靠谱而且违法!
查看>>
Hibernate内存溢出分析一例
查看>>
基于Axis1.4的webservice接口开发(接口调用)
查看>>
Hive内置函数详解
查看>>
【转】MyEclipse快捷键大全
查看>>
IT职业技能图谱10--Hadoop家族技能图谱
查看>>
Java - 反射(1)
查看>>