`
dzhxie
  • 浏览: 2550 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Hadoop HA cluster 搭建步骤

阅读更多

 环境准备和计划:

5台 Centos 7 虚拟机, 规划如下:

HostName Softwares Process comments
kencentos1 JDK, hadoop namenode, zkfc (active), resourceManager namenode 1, resourceManger
kencentos2 JDK, hadoop namenode, zkfc (active), resourceManager namenode 2, resourceManger
kencentosClient1 JDK, hadoop,zookeeper QuorumPeefMain(zookeeper),journnode, datanode,nodeManger datanode 3
kencentosClient2 JDK, hadoop,zookeeper QuorumPeefMain(zookeeper),journnode, datanode,nodeManger datanode 1
kencentosClient3 JDK, hadoop,zookeeper QuorumPeefMain(zookeeper),journnode, datanode,nodeManger datanode 2

 

Hadoop: 2.8.3,

JDK: 1.8.60

Zookeeper:3.4.9

 

step1 :centos 7 准备,这个百度上搜搜很容易装好。

step2: JDK 安装和环境变量设置。百度一下都可以解决。

Step3: 下载Hadoop 和 Zookeeper。去Apache 官方找到下载的地方。

 

Step4:hadoop HA集群配置

这一步需要在 dfs.journalnode.edits.dir 指定的地方建相对应的空文件夹。

core-site.xml:

<configuration>

<property>

<name>hadoop.tmp.dir</name>

<value>/opt/hadoop/data</value>

<description>Abase for other temporary directories.</description>

   </property>

   <property>

<name>fs.defaultFS</name>

<value>hdfs://kenns</value>

   </property>

   <property>  

                <name>ha.zookeeper.quorum</name>  

                <value>kencentosClient1:2181,kencentosClient3:2181,kencentosClient2:2181</value>  

       </property> 

</configuration>

 

hdfs-site.xml:

这一步需要在hadoop.tmp.dir指定的地方建相对应的空文件夹。

<configuration>

<property>

   <name>dfs.replication</name>

   <value>2</value>

</property>

<property>

   <name>dfs.block.size</name>

   <value>64M</value>

</property>

<property>

   <name>dfs.nameservices</name>

   <value>kenns</value>

</property>

<property>

   <name>dfs.ha.namenodes.kenns</name>

   <value>nn1,nn2</value>

</property>

<property>

   <name>dfs.namenode.rpc-address.kenns.nn1</name>

   <value>kencentos1:9000</value>

</property>

<property>

   <name>dfs.namenode.http-address.kenns.nn1</name>

   <value>kencentos1:50070</value>

</property>

<property>

   <name>dfs.namenode.rpc-address.kenns.nn2</name>

   <value>kencentos2:9000</value>

</property>

<property>

   <name>dfs.namenode.http-address.kenns.nn2</name>

   <value>kencentos2:50070</value>

</property>

<property>  

        <name>dfs.namenode.shared.edits.dir</name>  

        <value>qjournal://kencentosClient1:8485;kencentosClient2:8485;kencentosClient3:8485/kenns</value>  

</property>  

  <!-- JournalNode data location -->  

  <property>  

      <name>dfs.journalnode.edits.dir</name>  

        <value>/opt/hadoop/journal</value>  

  </property>  

  <!-- name node fail over -->  

<property>  

        <name>dfs.ha.automatic-failover.enabled</name>  

        <value>true</value>  

  </property>  

  <!-- fail over way -->  

  <property>  

          <name>dfs.client.failover.proxy.provider.kenns</name>  

          <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>  

  </property> 

<property>  

<name>dfs.ha.fencing.methods</name>  

<value>  

sshfence  

shell(/bin/true)  

</value>  

</property>  

<property>  

<name>dfs.ha.fencing.ssh.private-key-files</name>  

<value>/root/.ssh/id_rsa</value>  

</property>  

<property>  

<name>dfs.ha.fencing.ssh.connect-timeout</name>  

<value>30000</value>  

</property>  

</configuration>

 

mapred-site.xml:

 

<configuration>

<property>

       <name>mapreduce.framework.name</name>

       <value>yarn</value>

</property>

</configuration>

 

yarn-site.xml:

<configuration>

<property>  

<name>yarn.resourcemanager.ha.enabled</name>  

<value>true</value>  

</property>  

<!-- cluster id -->  

<property>  

<name>yarn.resourcemanager.cluster-id</name>  

<value>yrc</value>  

</property>  

<!-- RM name -->  

<property>  

<name>yarn.resourcemanager.ha.rm-ids</name>  

<value>rm1,rm2</value>  

</property>  

<!-- RM address -->  

<property>  

<name>yarn.resourcemanager.hostname.rm1</name>  

<value>kencentos1</value>  

</property>  

<property>  

<name>yarn.resourcemanager.hostname.rm2</name>  

<value>kencentos2</value>  

</property>  

<!-- ZK cluster -->  

<property>  

<name>yarn.resourcemanager.zk-address</name>  

<value>kencentosClient1:2181,kencentosClient2:2181,kencentosClient3:2181</value>  

</property>  

<property>  

<name>yarn.nodemanager.aux-services</name>  

<value>mapreduce_shuffle</value>  

</property>  

</configuration>

 

slaves:

kencentosClient3

kencentosClient2

kencentosClient1

 

Step 5: 配置SSH 免密登陆,各个机器之间。这个可以百度一下,要保证各个节点之间都要能连上。

 

Step6:将配置好的hadoop copy到其它节点。

scp -r

 

step7:启动zookeeper集群

 分别在kencentosClient1,kencentosClient2, kencentosClient3 机器上执行启动指令:./zkServer.sh start  查看zookeeper状态:./zkServer.sh status, 正确的状态是一个leader,两个follower。

这里如果没有这只zookeeper 的home,请在zookeeper 的bin 下面执行。

 

step 8: 启动journalnode

分别在kencentosClient1,kencentosClient2,kencentosClient3机器上执行启动指令:sbin/hadoop-daemon.sh start journalnode。  启动成功后会多出一个JournalNode进程。

 

step9:格式化namenode

选取一个namenode 节点,执行:hdfs  namenode  -format

 

Step10:格式化zkfc

    在格式化的namenode上执行格式化指令: hdfs zkfc -formatZK

    格式化成功后会在zookeeper集群建立新的文件路径(该路径下存放zkfc监控namenode节点的信息)

 

step11:启动格式化过的namenode:

hadoop-daemon.sh start  namenode

 

Step 12: 在另外一个namenode上执行下面的命令,此步骤是copy格式化好的配置到另外一个节点上。

hdfs  namenode  -bootstrapStandby

 

Step13: 启动集群。

完成上面的步骤,就可以stop namenode或者不停也可以。执行下面的命令在namenode 上:

./start-dfs.sh

然后:

./start-yarn.sh.

 

可以用各自的namenode:50070 去查看是否都已经成功启动了。

 

 

 

分享到:
评论

相关推荐

    Hadoop HA搭建笔记和配置文件

    搭建Hadoop HA涉及以下几个主要步骤: 1. **环境准备**:确保拥有至少两台服务器作为NameNode节点,一台作为ResourceManager节点,其余作为DataNode和NodeManager。所有机器之间需要有良好的网络连接。 2. **安装...

    自己总结的hadoop HA安装流程

    - 指定RM地址,如`yarn.resourcemanager.address.hacluster=hostname1:8032`,`yarn.resourcemanager.webapp.address.hacluster=hostname1:8088`,以及nn2的对应设置。 4. 配置mapred-site.xml: - 设置MapReduce...

    Hadoop HA搭建脚本资料(必读)

    搭建Hadoop HA的步骤如下: 1. **环境准备**:确保多台服务器(至少三台,包括NameNode、DataNode和ResourceManager节点)安装了相同版本的Hadoop和Java环境。 2. **配置网络**:设置主机名解析,确保所有节点间...

    hadoop-cluster-build

    "hadoop 集群搭建.txt"很可能包含了详细的Hadoop集群搭建步骤和配置说明,"kafka 安装.txt"则可能涵盖了Apache Kafka的安装过程,Kafka是一个分布式流处理平台,常用于实时数据处理和消息传递,与Hadoop生态系统紧密...

    hadoop多集群搭建.docx

    如`dfs.nameservices`定义了集群的名称,`dfs.ha.namenodes.mycluster`指定了NameNode实例,`dfs.namenode.rpc-address`和`dfs.namenode.http-address`分别设置了NameNode的RPC和HTTP地址。`dfs.namenode.shared....

    hadoop搭建.docx

    本教程将详细介绍如何在Linux环境下搭建一个高可用(HA)的Hadoop完全分布式集群,主要涉及到HDFS(Hadoop Distributed File System)的HA以及YARN(Yet Another Resource Negotiator)的高可用设置。 1. **HDFS HA**: ...

    hdfs2-7_3+hbase1_2_5 HA withQJM环境搭建

    journalnodes.txt`可能是启动JournalNodes的脚本,`hbase分布式环境搭建.docx`提供了HBase环境搭建的详细指南,`hbase环境搭建脚本`包含自动化部署HBase的脚本,`hadoop环境搭建`文件可能包含Hadoop集群的配置步骤,...

    centos7搭建hadoop2.10高可用(HA)

    总之,在CentOS 7上搭建Hadoop 2.10高可用集群涉及多个步骤,包括环境配置、SSH无密码登录、Hadoop组件安装与配置,以及Zookeeper的集成。这一过程需要细心操作,确保每个环节都正确无误,从而构建一个可靠的Hadoop ...

    hadoop分布式配置.docx

    通过以上步骤,我们不仅能够成功地在多台虚拟机上搭建Hadoop分布式集群,而且还能够确保其稳定运行。在实际部署过程中,还需要注意根据具体环境调整配置参数,比如更改存储路径、增加更多的从节点等。此外,还可以...

    2022年全国职业院校技能大赛高职组大数据技术与应用赛项赛题任务书5.docx

    - 设置`dfs.ha.namenodes.hadoopcluster`参数为`nn1,nn2`。 - 在Master节点上启动Hadoop服务,并检查`nn1`和`nn2`服务的状态。 4. **验证配置** - 在`slave1`节点上查看服务进程,确认Hadoop HA配置成功。 **...

    Flink HA配置指南文档-v1.6.1

    4. **启动集群**:通过`start-cluster.sh`脚本启动集群,这将初始化JobManager和TaskManager的进程。 5. **验证HA集群进程**:使用`jps`命令查看每个节点上运行的Flink进程,可以通过访问JobManager的Web UI界面来...

    spark 分布式集群搭建

    以上步骤涵盖了 Spark Standalone 分布式集群的基本搭建方法及其核心概念,对于理解和应用 Spark 在分布式环境中至关重要。通过这些步骤,开发者可以快速搭建起一个可扩展且高效的 Spark 集群。

    flink集群搭建包.zip

    总之,搭建一个Flink集群需要熟悉Hadoop环境、配置Flink相关参数、理解Flink的数据处理模型和API,以及掌握容错机制。通过以上步骤,你就可以在企业环境中部署并运行Flink作业,实现高效的大数据处理。

    大数据方向面试题大全.pdf

    24. 搭建Spark集群步骤:搭建Spark集群需要配置好环境变量,安装依赖软件包,配置集群管理器。 25. Spark的三种提交模式:Spark有local模式、Standalone模式和Mesos模式。 26. Spark内核架构原理:Spark内核架构...

    spark基础,关于spark的安装和几种模式的部署

    在安装Spark之前,需要先搭建好软件环境,包括操作系统(如Linux)、Java开发环境(JDK 1.8或以上版本)、SSH连接工具(如Xshell)以及Hadoop环境。Hadoop是Spark常用的数据存储和管理平台,通常会与Spark一起部署,...

Global site tag (gtag.js) - Google Analytics