千家信息网

HDFS高可用环境搭建

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,HA(high availability) HA 使用的是分布式日志管理方式 1. 问题 Namenode出现问题,整个集群将不能使用。 配置两个namenode:Activ
千家信息网最后更新 2026年11月01日HDFS高可用环境搭建
                             HA(high availability)    HA 使用的是分布式日志管理方式    1.  问题    Namenode出现问题,整个集群将不能使用。    配置两个namenode:Active namenode,standby namenode    2.  实现方式    1.  两个namenode内存中存储的元数据同步,namenode启动时,会读镜像文件。    2.  编辑日志的安全    分布式的存储日志文件,存储于2n+1奇数个节点。(n个节点写入成功,日志写入成功。)    Zookeeper监控    监控两个namenode,一个namenode出现问题,实现故障转移。    Zookeeper对时间同步要求较高(ntp时间同步)    3.  客户端如何知道访问哪一个namenode    使用proxy代理    隔离机制    使用sshfence    两个namenode之间无密码登陆    安装配置    1.  基础环境配置
node1node2node3node1node2
192.168.103.26192.168.103.27192.168.103.28192.168.103.29192.168.103.30
namenodenamenodedatanodedatanodedatanode
DFSZKFailoverControllerDFSZKFailoverControllerjournalnodejournalnodejournalnode
QuorumPeerMainQuorumPeerMainQuorumPeerMain
    配置主机名与IP之间的映射    vim /etc/hosts    192.168.103.26 node1    192.168.103.27 node2    192.168.103.28 node3    192.168.103.29 node4    192.168.103.30 node5    配置各个节点之间的免密登陆    Node1    ssh-kengen -t rsa -P '' 在~/.ssh/目录下生成id_rsa, id_rsa.put密钥    ssh-copy-id -I ~/.ssh/id._rsa.pub (node1,node2,node3,node4.node5)    Node2操作同node1    配置时间同步,node1作为ntp服务器    1.  yum install ntp -y (所有节点)    2.  node1            vim /etc/ntp.conf    server 210.72.145.44    # 中国国家受时中心    server    127.127.1.0     #为局域网用户提供服务    fudge     127.127.1.0     stratum 10    systemctl start ntpd    3.node2,node3,node4,node5    ntpdate node1    2.  安装hadoop    1.  tar -zxvf jdk-8u171-linux-x64.tar.gz -C /    mv jdk1.8.0_171/ jdk    tar -zxvf hadoop-2.7.7.tar.gz -C /    mv hadoop-2.7.7/ Hadoop    tar -zxvf zookeeper-3.4.10.tar.gz -C /    mv zookeeper-3.4.10 zookeeper    3.  vim /etc/profile    export JAVA_HOME=/jdk    export HADOOP_HOME=/Hadoop    export ZOOKEEPER_HOME=/zookeeper    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin    source /etc/profile    scp /etc/profile node2:/etc/             node3,node4,node5    scp -r /jdk node2:/etc         node3,node4,node5      4.  配置zookeeper    进入zookeeper目录,创建zkdata目录    创建myid文件,node3,node4,node5文件中的值为1,2,3    scp -r /zookeeper node2:/etc         node3,node4,node5分别修改zookeeper节点的myid文件    5.  安装hadoop(重点!!!)    1.  hadoop-env.sh    export JAVA_HOME = /jdk    2.  core-site.xml            fs.defaultFS    hdfs://ns1            ha.zookeeper.quorum    node3:2181,node4:2181,node5:2181        hadoop.tmp.dir    /hadoop/tmp        3.  hdfs.site.xml                    dfs.nameservices            ns1                    dfs.ha.namenodes.ns1            nn1,nn2                    dfs.namenode.rpc-address.ns1.nn1            node1:8020                    dfs.namenode.rpc-address.ns1.nn2            node2:8020                            dfs.ha.namenode.http-address.ns1.nn1            node1:50070                    dfs.ha.namenode.http-address.ns1.nn2            node2:50070                    dfs.namenode.shared.edits.dir            qjournal://node3:8485;node4:8485;node5:8485/ns1                    dfs.journalnode.edits.dir            /journalnode                    dfs.client.failover.proxy.provider.ns1    org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider                    dfs.ha.fencing.methods            sshfence                    dfs.ha.fencing.ssh.private-key-files            /home/root/.ssh/id_rsa                    dfs.ha.automatic-failover.enabled            true    vim slaves    node3    node4    node5    4.  启动    node3,node4,node5    hadoop-daemon.sh start journalnode    zkServer.sh start  node1    hdfs namenode -format        scp -r /Hadoop/tmp node2:/Hadoop/  hdfs zkfc -formatZK  start-dfs.sh    5.  验证HDFS HA    通过浏览器查看node1与node2 namenode状态    ![](https://cache.yisu.com/upload/information/20200310/72/146158.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)    ![](https://cache.yisu.com/upload/information/20200310/72/146160.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)    hadoop-daemon.sh stop namenode    ![](https://cache.yisu.com/upload/information/20200310/72/146161.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
配置 文件 节点 两个 日志 同步 之间 时间 目录 问题 存储 成功 分布式 方式 服务 登陆 监控 环境 安全 主机 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海挚品互联网科技有限公司 上海睿民互联网科技有限公司 广州万易互联网科技有限公司 互联网与科技金融数据 远拓互联网科技 滨湖区互联网智能科技产品供应 太原新华互联网科技学校怎么样 中化能源互联网科技招聘 互联网时代科技改变生活 武汉健翔互联网络科技有限公司 互联网科技和信息 中国互联网十大科技股排名 本届互联网博览会上的黑科技 华中科技大学互联网的牛人 广州千川互联网科技有限公司 2021世界互联网领先科技成果发布 长沙渺峰互联网科技有限公司 互联网科技创新创业项目 上海旺乐尼互联网科技有限公司 互联网科技企业文化 科技互联网企业 科技互联网龙头 互联网科技金融 广州慧亚互联网科技怎么样 花神(南京)互联网科技有限公司 互联网科技产业特征 苏州铭阳互联网科技有限公司 国产互联网科技公司 广西科技产业互联网是什么 广州智享互联网科技
0