五节点HadoopHA安装教程:
Master1 namenode,resourcemanager,nodemanager,datanode,journalnode, DFSZKFailoverController
Master2 namenode,resourcemanager,nodemanager,datanode,journalnode, DFSZKFailoverController
Slave1 nodemanager,datenode,journalnode, QuorumPeerMain
Slave2 nodemanager,datenode,journalnode, QuorumPeerMain
Slave3 nodemanager,datenode,journalnode, QuorumPeerMain

  1. 安装jdk
    配置环境变量
JAVA

export JAVA_HOME=/home/zhouwang/jdk1.8.0_151
export PATH=$JAVA_HOME/bin:$PATH
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

2.配置个节点的/etc/hosts文件
192.168.71.128 master1
192.168.71.132 master2
192.168.71.129 slave1
192.168.71.130 slave2
192.168.71.131 slave3

3.配置SSH免密登录
Ssh-keygen -t rsa
Cat id_rsa.pub >> authorized_keys
Chmod 644 authorized_keys
Scp ~/.ssh/id_rsa.pub authorized_keys zhouwang@master:~/.ssh
Authorized_keys的权限必须是640
4.安装zookeeper
重命名conf文件夹下的zoo.example.cfg为zoo.cfg。新修改内容
clientPort=2181
dataDir=/home/zhouwang/zookeeper/data
dataLogDir=/home/zhouwang/zookeeper/log
server.0=master1:2888:3888
server.1=master2:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
server.4=slave3:2888:3888
在zookeeper文件夹下面创建相应的data和log文件夹,还有myid文件
Mkdir data
Mkdir log
Vim myid 输入1,每个节点的myid文件的值与server.x对应上

配置环境变量如下:

ZOOKEEPER

export ZOOKEEPER_HOME=/home/zhouwang/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin

  1. 安装Hadoop
    修改etc/hadoop下的四个配置文件

(1) core-site.xml

<property> <name>fs.defaultFS</name> <value>hdfs://master/</value>
</property> 
<property> <name>hadoop.tmp.dir</name> <value>/home/zhouwang/hadoop/tmp</value>
</property> 
<property> <name>ha.zookeeper.quorum</name> <value>master1:2181,master2:2181,slave1:2181,slave2:2181,slave3:2181</value>
</property>

(2) hdfs_site.xml

<property> <name>dfs.namenode.name.dir</name> <value>/home/zhouwang/hadoop/dfs/name</value>
</property>
<property> <name>dfs.datanode.data.dir</name> <value>/home/zhouwang/hadoop/dfs/data</value>
</property>
<property> <name>dfs.replication</name> <value>3</value>
</property> <!--HDFS高可用配置 -->
<!--指定hdfs的nameservice,需要和core-site.xml中的保持一致-->
<property> <name>dfs.nameservices</name> <value>master</value>
</property>
<!--指定master的两个namenode的名称 -->
<property> <name>dfs.ha.namenodes.master</name> <value>nn1,nn2</value>
</property> <!-- nn1,nn2 rpc 通信地址 -->
<property> <name>dfs.namenode.rpc-address.master.nn1</name> <value>master1:9000</value>
</property>
<property> <name>dfs.namenode.rpc-address.master.nn2</name> <value>master2:9000</value>
</property> <!-- nn1.nn2 http 通信地址 -->
<property> <name>dfs.namenode.http-address.master.nn1</name> <value>master1:50070</value>
</property>
<property> <name>dfs.namenode.http-address.master.nn2</name> <value>master2:50070</value>
</property> <!--=========Namenode同步==========-->
<!--保证数据恢复 -->
<property> <name>dfs.journalnode.http-address</name> <value>0.0.0.0:8480</value>
</property>
<property> <name>dfs.journalnode.rpc-address</name> <value>0.0.0.0:8485</value>
</property>
<property> <!--指定NameNode的元数据在JournalNode上的存放位置 --> <name>dfs.namenode.shared.edits.dir</name> <value>qjournal://master1:8485;master2:8485;slave1:8485;slave2:8485;slave3:8485/master</value>
</property> <property> <!--JournalNode存放数据地址 --> <name>dfs.journalnode.edits.dir</name> <value>/home/zhouwang/hadoop/dfs/journal</value>
</property>
<property> <!--NameNode失败自动切换实现方式 --> <name>dfs.client.failover.proxy.provider.master</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property> <!--=========Namenode fencing:======== -->
<!-- 配置隔离机制方法,多个机制用换行分割,即每个机制暂用一行 -->
<property> <name>dfs.ha.fencing.methods</name> <value>sshfenceshell(/bin/true)</value>
</property>
<!-- 使用sshfence隔离机制时需要ssh免登陆 -->
<property> <name>dfs.ha.fencing.ssh.private-key-files</name> <value>/home/zhouwang/.ssh/id_rsa</value>
</property>
<!-- 配置sshfence隔离机制超时时间 -->
<property> <name>dfs.ha.fencing.ssh.connect-timeout</name> <value>30000</value>
</property> <!--开启基于Zookeeper及ZKFC进程的自动备援设置,监视进程是否死掉 -->
<property> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value>
</property>

(3) mapred-site.xml

<!-- 指定mr框架为yarn方式 -->  
<name>mapreduce.framework.name</name>
<value>yarn</value> 
    <name>mapreduce.jobhistory.address</name> <value>master1:10020</value> 
    <name>mapreduce.jobhistory.webapp.address</name> <value>master1:19888</value> 

(4) yarn-site.xml

<!--NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序-->
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value>
</property>
<property> <name>yarn.resourcemanager.connect.retry-interval.ms</name> <value>2000</value>
</property>
<property> <name>yarn.resourcemanager.ha.enabled</name> <value>true</value>
</property>
<!-- 指定RM的cluster id -->
<property> <name>yarn.resourcemanager.cluster-id</name> <value>cluster</value>
</property>
<!--指定两台RM主机名标识符-->
<property> <name>yarn.resourcemanager.ha.rm-ids</name> <value>rm1,rm2</value>
</property>
<!--RM主机1-->
<property> <name>yarn.resourcemanager.hostname.rm1</name> <value>master1</value>
</property>
<!--RM主机2-->
<property> <name>yarn.resourcemanager.hostname.rm2</name> <value>master2</value>
</property>
<!--RM故障自动切换-->
<property> <name>yarn.resourcemanager.ha.automatic-failover.enabled</name> <value>true</value>
</property>
<!--RM故障自动恢复 -->
<property>
<name>yarn.resourcemanager.recovery.enabled</name>  <value>true</value>
</property>
<!--RM状态信息存储方式,一种基于内存(MemStore),另一种基于ZK(ZKStore)-->
<property> <name>yarn.resourcemanager.store.class</name> <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
</property>
<!-- 指定zk集群地址 -->
<property> <name>yarn.resourcemanager.zk-address</name> <value>master1:2181,master2:2181,slave1:2181,slave2:2181,slave3:2181</value>
</property>
<!--向RM调度资源地址-->
<property> <name>yarn.resourcemanager.scheduler.address.rm1</name> <value>master1:8030</value>
</property>
<property> <name>yarn.resourcemanager.scheduler.address.rm2</name> <value>master2:8030</value>
</property>
<!--NodeManager通过该地址交换信息-->
<property> <name>yarn.resourcemanager.resource-tracker.address.rm1</name> <value>master1:8031</value>
</property>
<property> <name>yarn.resourcemanager.resource-tracker.address.rm2</name> <value>master2:8031</value>
</property>
<!--客户端通过该地址向RM提交对应用程序操作-->
<property> <name>yarn.resourcemanager.address.rm1</name> <value>master1:8032</value>
</property>
<property> <name>yarn.resourcemanager.address.rm2</name> <value>master2:8032</value>
</property>
<!--管理员通过该地址向RM发送管理命令-->
<property> <name>yarn.resourcemanager.admin.address.rm1</name> <value>master1:8033</value>
</property>
<property> <name>yarn.resourcemanager.admin.address.rm2</name> <value>master2:8033</value>
</property>
<!--RM HTTP访问地址,查看集群信息-->
<property> <name>yarn.resourcemanager.webapp.address.rm1</name> <value>master1:8088</value>
</property>
<property> <name>yarn.resourcemanager.webapp.address.rm2</name> <value>master2:8088</value>
</property>

(5) slaves

localhost

192.168.71.129 slave1
192.168.71.130 slave2
192.168.71.131 slave3
192.168.71.128 master1
192.168.71.132 master2

设置配置文件:

HADOOP

export HADOOP_HOME=/home/zhouwang/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/Hadoop

将hadoop文件夹分发到各个节点上去:
Scp -r Hadoop zhouwang@XXX:~/Hadoop

  1. 第一次启动集群
    配置了zookeeper的节点启动zkServer.sh服务

zkServer.sh start
然后查看zookeeper状态,zkServer.sh status,显式为follower或者leader则说明启动成功

然后,数据节点启动journalnode服务,hadoop-deamen.sh start journalnode

在master1格式化namenode: Hadoop namenode -format
然后启动namenode服务: Hadoop-deamon.sh start namenode

在master2同步master1的元数据: HDFS namenode -bootstrapStandby
然后再master2上启动namenode服务: Hadoop-deamon.sh start namenode

在master上格式化ZKFC
Hdfs zkfc -formatZK

在master1和master2上执行hadoop-deamon.sh start zkfc 启动DFSZKFailoverController 服务#ZKFC用于监控NameNode active和standby节点状态

在master1上启动hadoop-deamons.sh start datanode 启动所有数据节点上的datanode服务。

在master1上执行start-yarn.xml启动yarn服务。

至此安装完成。

7.第一次停止集群
先停止hdfs:stop-dfs.sh
在停止yarn:stop-yarn.sh
再次启动或者停止就可以执行start-all.sh 和stop-all.sh了。

8.Hdfs操作命令
Hadoop dfsadmin -report #查看datanode的节点信息
Hdfs haadmin -getServiceState nn1 查看namenode的状态
hdfs haadmin -transitionToActive/transitionToStandby -forcemanual nn1 强制切换节点的active和是standby状态。

五节点HadoopHA安装教程相关推荐

  1. 华为云计算之物理节点CNA安装教程

    华为云计算之物理节点CNA安装教程 一.上传FusionCompute 6.5.1_Installer工具 二.配置安装服务器的IP地址 三.配置安装工具 1.选择安装组件 2.选择安装模式 3.选择 ...

  2. 【Jenkins持续集成(五)】Linux安装教程

    Windows安装教程可参考:https://zhengqing.blog.csdn.net/article/details/95232353 一.安装JDK # 通过yum安装的默认路径为:`/us ...

  3. pi节点云服务器最新安装教程,Pi node节点环境安装教程(家庭电脑操作完整版)...

    1.下载最新版本的节点软件以及DOCKER软件进行安装,下载链接 ①节点软件更新(仍选一个) https://node.minepi.com/  ( pi network官方) 注册流程及安装教程详情 ...

  4. 三节点大数据环境安装教程1

    说明: 1.教程中出现字体加粗和加红的说明需要大家仔细阅读,按照步骤进行安装,都是比较重要的细节,如果有同学忘记或者跳过说明的步骤,环境大家的过程中问题会非常的多. 1.下载CentOS7 1.百度搜 ...

  5. 五分钟搞定:Centos中Kafka和Zookeeper的快速安装教程

    [提前声明] 文章由作者:张耀峰 结合自己生产中的使用经验整理,最终形成简单易懂的文章 写作不易,转载请注明,谢谢! 代码案例地址: ?https://github.com/Mydreamandrea ...

  6. 最详细的Hadoop安装教程

    最详细的Hadoop安装教程 前言 Hadoop 在大数据技术体系中的地位至关重要,Hadoop 是大数据技术的基础,对Hadoop基础知识的掌握的扎实程度,会决定在大数据技术道路上走多远. 这是一篇 ...

  7. Gephi安装教程——1

    Gephi安装教程详解 Gephi简介 Gephi是一款用于网络分析的软件.何为网络呢?在Gephi里,会把网络抽象成节点和边的关系,类似于这样的图结构,也就是网络,是Gephi的专长.Gephi提供 ...

  8. flac3d6.0教程 附安装教程

    flac3d 6.0是由美国ITASCA公司开发的一款功能强大的仿真计算软件,采用了显式拉格朗日格式和混合离散划分技术,保证了塑性破坏和流动模型的精确性,允许用户根据建模对象的形状进行调整.该软件基本 ...

  9. procast的linux安装教程,ProCAST2019免费版

    ProCAST2019免费版是一款功能强大的铸造工艺仿真模拟分析软件,包括有限元网格划分.流动分析.应力分析.热辐射分析.反向求解等多达8个功能模块,适用于高压铸造.重力铸造.挤压铸造等领域.在Pro ...

最新文章

  1. declare-styleable:自定义控件的属性
  2. Orchid兰花协议简介——分布式匿名代理网络
  3. k-Means算法(Machine Learning in Action)基于python3.6
  4. EOJ_1070_下落的小球
  5. 基于 axios 的 Vue 项目 http 请求优化
  6. JavaFX UI控件教程(二十三)之Menu
  7. 从JDBC ResultSet创建对象流
  8. 前端学习(806):数据类型内存分配
  9. poj1789 Truck History(最小生成树)
  10. 汇编语言:汇编程序的hello world程序(实验9根据材料编程)
  11. 设置固定高度_防排烟系统的设置,前室、楼梯间、避难层!设置要求全记住!...
  12. (办公)eclipse连接github cannot open git-upload-pack(git-receive-pack)
  13. python kivy canvas_python – Kivy:使用canvas为动画设置动画的正确方法是什么?
  14. 镭神C16上位机软件显示
  15. Gradle - 简介
  16. 孤独的灵魂 - 复旦投毒案
  17. 没赶上互联网,也没赶上移动互联网,微软到底赶上了什么??
  18. 论文阅读 | NIPS‘20 | Beta Embeddings for Multi-Hop Logical Reasoning in Knowledge Graphs
  19. 浏览器实时查看日志log.io
  20. 《童梦奇缘-梦幻般的羁绊》第六章-残月

热门文章

  1. Android_高清加载巨图方案 拒绝压缩图片
  2. View-屏幕坐标 Content-网页(内容)坐标 mScrollX和mScrollY-屏幕坐标偏移
  3. gcc 的visibility
  4. 2016年华为网络技术精英大赛复赛试题
  5. “数据中台”是什么?
  6. java代码简单操作Redis数据Jedis jar
  7. 出现 HTTP 错误 500.19 错误代码 0x800700b7
  8. 反Secure Boot垄断:兼谈如何在Windows 8电脑上安装Linux
  9. Json转换值类型字段为空字符串时报错问题
  10. GeoServer之styles定制