• 对于三节点集群zookeeper配置步骤:


    步骤一;
    干净的集群,全新的hdfs
    在第一台主机上配置配置文件
    core-site.xml:
    <configuration>
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://bcqm1711</value>
    </property>
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/hadoop-2.6.1/hadoopdata/tmp</value>
    </property>
    <property>
    <name>io.file.buffer.size</name>
    <value>4096</value>
    </property>
    </configuration>

    hdfs-site.xml:
    <configuration>
    <!-- 指定hdfs的nameservice为beicai,就是那个代理程序,询问zk集群哪个namenode还活着 -->
    <property>
    <name>dfs.nameservices</name>
    <value>bcqm1711</value>
    </property>

    <!—指定hdfs的两个NameNode都是什么名字(等会儿下面会配置他们所对应的机器的信息)-->
    <property>
    <name>dfs.ha.namenodes.bcqm1711</name>
    <value>nn1,nn2</value>
    </property>

    <!—NameNode1的rpc通讯地址-->
    <property>
    <name>dfs.namenode.rpc-address.bcqm1711.nn1</name>
    <value>hdp-qm-01:8020</value>
    </property>

    <!—NameNode2的rpc通讯地址-->
    <property>
    <name>dfs.namenode.rpc-address.bcqm1711.nn2</name>
    <value>hdp-qm-02:8020</value>
    </property>

    <!—NameNode1的web界面地址-->
    <property>
    <name>dfs.namenode.http-address.bcqm1711.nn1</name>
    <value>hdp-qm-01:50070</value>
    </property>
    <!—NameNode2的web界面地址-->
    <property>
    <name>dfs.namenode.http-address.bcqm1711.nn2</name>
    <value>hdp-qm-02:50070</value>
    </property>

    ######如果给一个有数据的HDFS添加HA,此处无需更改,保持原有地址即可#####
    <!---namenode存放元数据信息的Linux本地地址,这个目录不需要我们自己创建->
    <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:///home/hadoop/hadoop-2.6.1/hadoopdata/dfs/name</value>
    </property>

    <!—datanode存放用户提交的大文件的本地Linux地址,这个目录不需要我们自己创建-->
    <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:///home/hadoop/hadoop-2.6.1/hadoopdata/dfs/data</value>
    </property>

    <!—QJM存放共享数据的方式-->
    <!-- 指定NameNode的元数据在JournalNode上的存放位置 -->
    <property>
    <name>dfs.namenode.shared.edits.dir</name>
    <value>
    qjournal://hdp-qm-01:8485;hdp-qm-02:8485;hdp-qm-03:8485/bcqm1711</value>
    </property>

    <!—单个QJM进程(角色)存放本地edits文件的Linux地址-->
    <property>
    <name>dfs.journalnode.edits.dir</name>
    <value>/home/hadoop/hadoop-2.6.1/hadoopdata/journal</value>
    </property>

    <!—开启hdfs的namenode死亡后自动切换-->
    <property>
    <name>dfs.ha.automatic-failover.enabled</name>
    <value>true</value>
    </property>

    <!-- 指定zookeeper集群地址,辅助两个namenode进行失败切换 -->
    <property>
    <name>ha.zookeeper.quorum</name>
    <value>hdp-qm-01:2181,hdp-qm-02:2181,hdp-qm-03:2181</value>
    </property>

    <!—zkfc程序的主类-->
    <property>
    <name>dfs.client.failover.proxy.provider.bcqm1711</name>
    <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
    </property>
    <!—防止多个namenode同时active(脑裂)的方式-->
    <property>
    <name>dfs.ha.fencing.methods</name>
    <value>sshfence</value>
    </property>

    <!—指定本机的私钥所在目录,
    注意:如果是普通用户hadoop则修改为root为”/home/hadoop/.ssh/id_rsa”-->
    <property>
    <name>dfs.ha.fencing.ssh.private-key-files</name>
    <value>/home/hadoop/.ssh/id_rsa</value>
    </property>

    <!—指定ssh通讯超时时间-->
    <property>
    <name>dfs.ha.fencing.ssh.connect-timeout</name>
    <value>30000</value>
    </property>
    </configuration>

    yarn-site.xml:
    <configuration>
    <!-- Site specific YARN configuration properties -->
    <property>
    <name>yarn.resourcemanager.ha.enabled</name>
    <value>true</value>
    </property>
    <property>
    <name>yarn.resourcemanager.ha.automatic-failover.enabled</name>
    <value>true</value>
    </property>
    <property>
    <name>yarn.resourcemanager.cluster-id</name>
    <value>bcqm1711yarn</value>
    </property>
    <property>
    <name>yarn.resourcemanager.ha.rm-ids</name>
    <value>rm1,rm2</value>
    </property>
    <property>
    <name>yarn.resourcemanager.hostname.rm1</name>
    <value>hdp-qm-01</value>
    </property>
    <property>
    <name>yarn.resourcemanager.hostname.rm2</name>
    <value>hdp-qm-02</value>
    </property>
    <property>
    <name>yarn.resourcemanager.zk-address</name>
    <value>hdp-qm-01:2181,hdp-qm-02:2181,hdp-qm-03:2181</value>
    </property>
    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>

    <!--RM1-->
    <property>
    <name>yarn.resourcemanager.address</name>
    <value>hdp-qm-01:8032</value>
    </property>
    <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>hdp-qm-01:8030</value>
    </property>
    <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>hdp-qm-01:8031</value>
    </property>
    <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>hdp-qm-01:8033</value>
    </property>
    <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>hdp-qm-01:8088</value>
    </property>

    <!--RM2-->
    <property>
    <name>yarn.resourcemanager.address</name>
    <value>hdp-qm-02:8032</value>
    </property>
    <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>hdp-qm-02:8030</value>
    </property>
    <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>hdp-qm-02:8031</value>
    </property>
    <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>hdp-qm-02:8033</value>
    </property>
    <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>hdp-qm-02:8088</value>
    </property>
    <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>hdp-qm-02:8088</value>
    </property>
    </configuration>

    步骤二;
    在配置hdfs-site.xml配置文件之前,要先删掉之前的记录
    删掉hadoopdata目录下的所有文件

    删掉/home/hadoop/.ssh/*下的内容
    rm -rf /home/hadoop/.ssh/*
    步骤三:
    配置免密
    在/home/hadoop/hadoop-2.6.1/etc/hadoop/目录下
    cd /home/hadoop/hadoop-2.6.1/etc/hadoop/
    $ ssh-keygen -t rsa 一直回车

    在根目录下
    发送免密
    ssh-copy-id hadoop@hdp-qm-01
    ssh-copy-id hadoop@hdp-qm-02
    ssh-copy-id hadoop@hdp-qm-03

    步骤四:
    发送配置好的hadoop文件夹到其他节点
    scp -r hadoop-2.6.1 hadoop@hdp-qm-02:/home/hadoop/
    scp -r hadoop-2.6.1 hadoop@hdp-qm-03:/home/hadoop/

    步骤五;
    启动zk集群
    sh zkServer.sh start

    查看各节点启动状态

    步骤六:
    启动journanode,在各个节点都启动
    # hadoop-daemon.sh start journalnode
    运行jps命令检验,多了journalNode进程

    步骤七;
    在第一台格式化
    格式化hdfs(在master上执行命令: 格式化HA必须先启动zk服务、journalnode)
    # hadoop namenode -format

    步骤八:
    在hadoopdata目录下
    开启namenode
    $ hadoop-daemon.sh start namenode

    步骤九;
    同步元数据信息,在第二台进行
    $ hdfs namenode -bootstrapStandby

    步骤十:
    在hadoopdata目录下,
    $ hdfs zkfc -formatZK

    步骤十一:
    在hadoopdata目录下,开启集群
    $ start-all.sh

    步骤十二:
    开启第二台的namenode
    yarn-daemon.sh start resourcemanager

    步骤十三:
    jps验证是否功能全部开启
    网页登录hdp-qm-01:50070
    网页登录hdp-qm-02:50070

    网页登录hdp-qm-01:8088
    网页登录hdp-qm-02:8088

    查看到第一台处于active,第二台处于standby
    表示配置成功

    成就人
  • 相关阅读:
    ASP.NET 取得 Request URL 的各個部分
    C# DES加密算法
    SQL语句中JOIN的用法
    SQL防注入触发器
    ASP.NET生成静态页面方法(三种)
    SQL格式化時間
    SQL Server优化50法
    asp.net静态页面实例
    asp.net生成静态页面
    客户端启动exe
  • 原文地址:https://www.cnblogs.com/pingzizhuanshu/p/9017310.html
Copyright © 2020-2023  润新知