准备工作:

1、搭建完成zookeeper,如果没有搭建,请跳转到zookeeper集群搭建保姆级教程
2、集群的jdk都安装完成,如果没有,请跳转到linux编写个脚本快速搭建jdk保姆级教程
3、在/opt/install 下有Hadoop2.6.0的包
4、高可用集群搭建结构表

操作步骤:

1、首先对Hadoop包进行解压缩
[root@nnode2 install]# tar -zxf hadoop-2.6.0-cdh5.14.2.tar.gz -C /opt/soft/

为了后期使用Hadoop文件夹方便,我们将它更改个名字。mv hadoop-2.6.0-cdh5.14.2/ hadoop260

进入到etc/hadoop/目录下修改文件。vim hadoop-env.sh

vim yarn-env.sh

vim mapred-env.sh

修改完jdk后,接下来是重头戏。

vim core-site.xml

<configuration>
<!--指定hdfs的nameservice 为 mycluster -->
<property><name>fs.defaultFS</name><value>hdfs://mycluster</value>
</property><!--指定Hadoop工作目录 -->
<property><name>hadoop.tmp.dir</name><value>/opt/soft/hadoop260/hadooptmp</value>
</property><!--指定zookeeper集群访问地址  -->
<property><name>ha.zookeeper.quorum</name><value>nnode2:2181,nnode3:2181,nnode4:2181</value>
</property><!-- 配置为了解决以后其他组件连接HDFS集群 -->
<property><name>hadoop.proxyuser.bigdata.hosts</name><value>*</value>
</property><property><name>hadoop.proxyuser.bigdata.groups</name><value>*</value>
</property>
</configuration>

vim hdfs-site.xml

<configuration>
<!-- 指定副本数 -->
<property><name>dfs.replication</name><value>3</value>
</property><!-- 指定HDFS的nameservice为mycluster,需要跟core-site.xml中保持一致 -->
<property><name>dfs.nameservices</name><value>mycluster</value>
</property><!-- 设置mycluster集群有两个namenode,分别为nn1,nn2 -->
<property><name>dfs.ha.namenodes.mycluster</name><value>nn1,nn2</value>
</property><!-- 配置nn1的RPC通信地址 -->
<property><name>dfs.namenode.rpc-address.mycluster.nn1</name><value>nnode2:9000</value>
</property><!-- 配置nn1的http通信地址 -->
<property><name>dfs.namenode.http-address.mycluster.nn1</name><value>nnode2:50070</value>
</property><!-- 配置nn2的RPC通信地址 -->
<property><name>dfs.namenode.rpc-address.mycluster.nn2</name><value>nnode3:9000</value>
</property><!-- 配置nn1的http通信地址 -->
<property><name>dfs.namenode.http-address.mycluster.nn2</name><value>nnode3:50070</value>
</property><!-- 指定JournalNode 在本地磁盘存放数据的位置 -->
<property><name>dfs.journalnode.edits.dir</name><value>/opt/soft/hadoop260/journaldata</value>
</property><!-- 指定NameNode的edits元数据在journalNode上的服务器 -->
<property><name>dfs.namenode.shared.edits.dir</name><value>qjournal://nnode2:8485;nnode3:8485;nnode4:8485/mycluster</value>
</property><!-- 开启NameNode自动切换 -->
<property><name>dfs.ha.automatic-failover.enabled</name><value>true</value>
</property>
<!-- 配置nameNode失败自动切换的实现方式 -->
<property><name>dfs.client.failover.proxy.provider.mycluster</name><value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProvider</value>
</property><!-- 配置隔离机制方法 -->
<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>/root/.ssh/id_rsa</value>
</property><!-- 配置sshfence隔离机制超时时间 -->
<property><name>dfs.ha.fencing.ssh.connect-timeout</name><value>30000</value>
</property><property><name>dfs.webhdfs.enabled</name><value>true</value>
</property>
</configuration>

cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml

<configuration>
<!-- 指定mapreduce运算时资源调度为 yarn 模式 -->
<property><name>mapreduce.framework.name</name><value>yarn</value>
</property><!-- 配置mapreduce历史服务器地址 端口号 -->
<property><name>mapreduce.jobhistory.address</name><value>nnode5:10020</value>
</property><!-- 配置mapreduce历史服务器WEB访问地址 -->
<property><name>mapreduce.jobhistory.webapp.address</name><value>nnode5:19888</value>
</property>
</configuration>

vim yarn-site.xml

<configuration>
<!-- 开启高可用 -->
<property><name>yarn.resourcemanager.ha.enabled</name><value>true</value>
</property><!-- 指定ResourceManager的标识:yrc -->
<property><name>yarn.resourcemanager.cluster-id</name><value>yrc</value>
</property><!-- 指定RM的名字 -->
<property><name>yarn.resourcemanager.ha.rm-ids</name><value>rm1,rm2</value>
</property><!-- 指定rm1服务器 -->
<property><name>yarn.resourcemanager.hostname.rm1</name><value>nnode2</value>
</property><!-- 指定rm2服务器 -->
<property><name>yarn.resourcemanager.hostname.rm2</name><value>nnode3</value>
</property><!-- 指定rm 被管理的zk地址 -->
<property><name>yarn.resourcemanager.zk-address</name><value>nnode2:2181,nnode3:2181,nnode4:2181</value>
</property><!-- 运行mapreduce任务需要使用的服务 -->
<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property><!-- 开启yarn集群的日志聚合功能 -->
<property><name>yarn.log-aggregation-enable</name><value>true</value>
</property><!-- 设置日志保存时间 -->
<property><name>yarn.log-aggregation.retain-seconds</name><value>86400</value>
</property><!-- 启动rm自动恢复功能 -->
<property><name>yarn.resourcemanager.recovery.enabled</name><value>true</value>
</property><!-- 制定rm 状态信息存储在zookeeper集群上 -->
<property><name>yarn.resourcemanager.store.class</name><value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
</property>
</configuration>

vim slaves 在slaves文件中,添加集群的各节点名称。

使用脚本将hadoop260文件夹分发到其他机器上。(rsync)

2、启动zookeeper集群(脚本启动)zkop start
zkop status 查看状态信息

3、启动journalnodehadoop-daemon.sh start journalnode
ssh nnode3 "source /etc/profile; hadoop-daemon.sh start journalnode"
ssh nnode4 "source /etc/profile; hadoop-daemon.sh start journalnode"

4、Hadoop格式化hadoop namenode -format
将nnode2格式化后的hadooptmp文件同步到nnode3
[root@nnode2 hadoop260]# scp -r hadooptmp/ root@nnode3:/opt/soft/hadoop260/

5、初始化zookeeper
hdfs zkfc -formatZK

6、启动hdfs
start-dfs.sh

7、启动yarn
start-yarn.sh

最后使用脚本去查看进程信息

配置完成~~记得去浏览器查看两台namenode

Hadoop搭建高可用集群(保姆级教程)相关推荐

  1. Hadoop HA 高可用集群搭建

    Hadoop HA 高可用集群搭建 一.首先配置集群信息 1 vi /etc/hosts 二.安装zookeeper 1.解压至/usr/hadoop/下 1 tar -zxvf zookeeper- ...

  2. Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase)

    一.服务器环境 主机名 IP 用户名 密码 安装目录 master 192.168.142.124 root xxx /usr/hadoop-2.6.5/ slave1 192.168.142.125 ...

  3. Hadoop HA 高可用集群启动报错 Encountered exception loading fsimage 解决方案

    笔者在搭建好Hadoop HA 高可用集群启动时报如下错误,后面是解决方案. 报错信息: 2018-08-24 11:18:07,475 INFO org.apache.hadoop.hdfs.ser ...

  4. 用Keepalived搭建高可用集群

    一.集群介绍 1.根据功能划分为两大类:高可用和负载均衡 2.高可用:一台工作,另一台冗余,当一台服务器故障宕机时,另一台服务器提供服务.开源软件有heartbeat,keepalived. 3.负载 ...

  5. 【Nginx那些事】nginx配置实例(四)搭建高可用集群

    [Nginx那些事]nginx配置实例(四)搭建高可用集群 nginx 实现高可用 安装keepalived keepalived配置 主Nginx服务器配置 从nginx服务器配置 脚本文件权限设置 ...

  6. k8s高可用集群_搭建高可用集群(初始化和部署keepalived)---K8S_Google工作笔记0055

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 然后我们来部署keepalived,搭建高可用集群. 然后我们这里需要master,155, ma ...

  7. k8s高可用集群_搭建高可用集群(实现方式介绍)---K8S_Google工作笔记0054

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 然后我们来说搭建高可用集群,为什么要搭建高可用集群. 因为,首先我们说master节点是用来管理其 ...

  8. Kafka基于Zookeeper搭建高可用集群实战

    Kafka基于Zookeeper搭建高可用集群实战 1 前言 1.1 高可用的由来 为何需要Replication? 在Kafka在0.8以前的版本中,是没有Replication的,一旦某一个Bro ...

  9. 12. 搭建高可用集群

    文章目录 12.1 Keepalived+Nginx 高可用集群(主从模式) 12.1.1 集群架构图 12.1.2 具体搭建步骤 12.1.2.1 搭建高可用集群基础环境 12.1.2.2 完成高可 ...

最新文章

  1. ctypes python_对于python初学者,如何使用python定义联合(使用ctypes)
  2. parents()和parent()
  3. Hbase2.1.0-CDH6.3.2 Region in Transition (永久RIT) 异常解决
  4. [Leetcode][第114题][JAVA][二叉树展开为链表][递归][迭代]
  5. 百度地图定位SDK 之构想
  6. Druid(数据库连接池)和JdbcTemplate(封装JDBC)使用
  7. 用二叉链表存树(孩子兄弟表示法)
  8. 应届毕业生,只会抄代码,该怎么办?
  9. p3输入p1输出c语言,单片机C语言编程基础
  10. tf1.x版RandLA-Net源码解读(1):数据预处理
  11. 操作ADS1115进行4个通道AD值的读取
  12. Photoshop CS5软件安装教程
  13. 新的开始之Win7、CentOS 6.4 双系统 硬盘安装
  14. latex添加bibtex参考文献方法及pdf没有参考文献问题
  15. PMP是什么考试,有什么作用?(含资料)
  16. Xilinx FPGA平台GTX简易使用教程(一)GTX基础知识
  17. 里恩EDC论临床试验中与第三方中心实验室实时电子化传输和接收的技术实现以及风险应对
  18. VtigerCRM配置网易企业邮箱SMTP 和 POP3服务
  19. 百度变更使命后首个政府AI合作落地:在李彦宏老家
  20. Android 设置属性动画AnimatorSet设置pause无效问题

热门文章

  1. 常用的autoHotkey编辑快捷键设置
  2. H264、H265 Nalu头部解析
  3. centos 安装cronolog及对catalina.out按天分割
  4. 李洪强经典面试题22
  5. 安卓硬编音视频数据推送到rtmp服务器
  6. springMVC的导入导出操作
  7. 【软考学习7】数据校验——海明校验码、循环校验码、奇偶校验码
  8. 循环神经网络(Recurrent Neural Network Model)
  9. 服务器连接显示18456,SQL2008无法连接到服务器,用户’XX’登录失败(错误18456)解决方法...
  10. eclipse安装完PyDev后不显示