Hadoop3.1.1高可用ha安装部署–Hadoop配置
  • 分类:大数据
  • 发表:2019-05-16
  • 围观(2,380)

前言

之前博客跟大家分享了Hadoop的伪分布式部署及全分布式部署。但是NameNode节点属于但节点,一旦出现问题,会导致整个Hadoop集群无法使用。今天,跟大家分享一下Hadoop配合Zookeeper和zkfc等,实现ha高可靠配置。
由于配置内容较多,本次分三章节进行描述。
1. Hadoop3.1.1高可用ha安装部署--Hadoop配置
2. Hadoop3.1.1高可用ha安装部署--Zookeeper配置
3. Hadoop3.1.1高可用ha安装部署--启动Hadoop集群

集群各节点角色说明

本次使用4台虚拟机作为模拟对象,各节点对应的角色如下:

节点名称 角色
node01 NN-1, ZKFC,JNN
node02 NN-2,DN,ZK,ZKFC,JNN
node03 DN,ZK,JNN
node04 DN,ZK

注:NN代表namenode,DN代表datanode,ZK代表Zookeeper,ZKFC代表ZooKeeperFailoverController,JNN代表journalnode

前提

本次集群配置在前一章的基础上进行完善的。故免秘钥配置等,在此就不再讲述。

hadoop具体配置文件信息

hadoop配置文件位于hadoop文件夹下的etc/hadoop/ 目录下

hadoop-env.sh 代码如下:

export JAVA_HOME=/usr/java/jdk1.8.0_181
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
#export HDFS_SECONDARYNAMENODE_USER=root
export HDFS_ZKFC_USER=root
export HDFS_JOURNALNODE_USER=root

hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.nameservices</name>
        <value>mycluster</value>
    </property>
    <property>
        <name>dfs.ha.namenodes.mycluster</name>
        <value>nn1,nn2</value>
    </property>
    <property>
        <name>dfs.namenode.rpc-address.mycluster.nn1</name>
        <value>node01:8020</value>
    </property>
    <property>
        <name>dfs.namenode.rpc-address.mycluster.nn2</name>
        <value>node02:8020</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.mycluster.nn1</name>
        <value>node01:9870</value>
    </property>
    <property>
        <name>dfs.namenode.http-address.mycluster.nn2</name>
        <value>node02:9870</value>
    </property>
    <property>
        <name>dfs.namenode.shared.edits.dir</name>
        <value>qjournal://node01:8485;node02:8485;node03:8485/mycluster</value>
    </property>
    <property>
        <name>dfs.client.failover.proxy.provider.mycluster</name>
        <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
    </property>
    <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_rsa</value>
    </property>
<property>
    <name>dfs.journalnode.edits.dir</name>
    <value>/var/hadoop/ha/journalnode</value>
</property>
<property>
    <name>dfs.ha.automatic-failover.enabled</name>
    <value>true</value>
 </property>
</configuration>

core-site.xml 代码如下

<configuration>
    <property>
      <name>fs.defaultFS</name>
      <value>hdfs://mycluster</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/var/hadoop/ha</value>
    </property>
    <property>
        <name>ha.zookeeper.quorum</name>
        <value>node02:2181,node03:2181,node03:2181</value>
    </property>
</configuration>

workers 代码如下

node02
node03
node04

分发四个配置文件到node02,node03及node04

scp core-site.xml hdfs-site.xml hadoop-env.sh workers node02:`pwd`
scp core-site.xml hdfs-site.xml hadoop-env.sh workers node03:`pwd`
scp core-site.xml hdfs-site.xml hadoop-env.sh workers node04:`pwd`

总结

至此,Hadoop配置文件已经修改完毕。


扫描关注,及时获取最新消息!

转载本站文章,请注明出处:呦呦工作室

Top