hadoop2 环境的搭建(手动HA)
1、手工切换ha的环境的搭建(比hadoop1多出来journalnode的配置)
namenode:hadoop110和hadoop111
datanode:hadoop112、hadoop113、hadoop114
journalnode:hadoop110、hadoop111、hadoop112
resourcemanager:hadoop110
nodemanager:hadoop112、hadoop113、hadoop114
1.1、配置文件(hadoop-env.sh、core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml)
1.1.1、hadoop-env.sh
export JAVA_HOME=/usr/jdk
上面是我本机的路径,需要改成真实的jdk路径
export JAVA_HOME=JDK的路径
1.1.2、core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://cluster1</value> </property> 设置默认的HDFS路径,有多个HDFS集群同时工作时,默认值在这里指定 <property> <name>hadoop.tmp.dir</name> <value>/usr/hadoop/tmp</value> </property> 设置NameNode DataNode JournalNode等存放数据的公共目录,也可以单独指定 </configuration>
1.1.3、hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>2</value> </property> <!-- 集群中文件的副本数 --> <property> <name>dfs.nameservices</name> <value>cluster1</value> </property> <!-- 使用federation时,这里填写所有集群的别名,用逗号分隔 --> <property> <name>dfs.ha.namenodes.cluster1</name> <value>hadoop110,hadoop111</value> </property> <!-- 配置集群的NameNode几点,这里是NameNode 的别名,需要对每个NameNode再进行详细的配置--> <property> <name>dfs.namenode.rpc-address.cluster1.hadoop110</name> <value>hadoop110:9000</value> </property> <!-- 配置NameNode的RPC地址 --> <property> <name>dfs.namenode.http-address.cluster1.hadoop110</name> <value>hadoop110:50070</value> </property> <!-- 配置NameNode的HTTP地址 --> <property> <name>dfs.namenode.rpc-address.cluster1.hadoop111</name> <value>hadoop111:9000</value> </property> <property> <name>dfs.namenode.http-address.cluster1.hadoop111</name> <value>hadoop111:50070</value> </property> <property> <name>dfs.namenode.shared.edits.dir</name> <value>qjournal://hadoop110:8485;hadoop111:8485;hadoop112:8485/cluster1</value> </property> <!-- 指定集群(cluster1)的两个NameNode共享edits文件目录时使用的JournalNode集群信息 --> <property> <name>dfs.ha.automatic-failover.enabled.cluster1</name> <value>false</value> </property> <!-- 指定集群(cluster1)是否启动自动故障恢复,即当NameNode出故障事,是否自动切换到另一台NameNode --> <property> <name>dfs.client.failover.proxy.provider.cluster1</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyPrivider</value> </property> <!-- 指定集群(cluster1)出故障时,哪个实现类负责执行故障切换 --> <property> <name>dfs.journalnode.edits.dir</name> <value>/usr/hadoop/tmp/journal</value> </property> <!-- 指定JournalNode集群在对NameNode的目录进行共享时,自己存储数据的磁盘路径 --> <property> <name>dfs.ha.fencing.methods</name> <value>sshfence</value> </property> <!-- 一旦需要NameNode切换,使用ssh方式进行切换 --> <property> <name>dfs.ha.fencing.ssh.private-key-files</name> <value>/root/.ssh/id_rsa</value> </property> </configuration>
1.1.4、yarn-site.xml
<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop110</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
1.1.5、mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
1.1.6、slaves
hadoop112 hadoop113 hadoop114
1.2、启动journalnode集群
在hadoop110、hadoop111、hadoop112上分别执行:
sbin/hadoop-daemon.sh start journalnode
扩展
停止journalnode
sbin/hadoop-daemon.sh stop journalnode
1.3、格式化namenode、启动namenode
在hadoop110或者hadoop111上执行:
bin/hdfs namenode -format sbin/hadoop-daemon.sh start namenode
在hadoop111上执行
bin/hdfs namenode -bootstrapStandby
sbin/hadoop-daemon.sh start namenode
*hadoop111的格式化,操作是关键是是把hadoop110上面的tmp/dfs下的fsimage和edit拷贝过去
把其中一个NameNode切换为active状态
bin/hdfs haadmin -failover --forceactive hadoop110 hadoop111
1.4、启动datanode
sbin/hadoop-daemons.sh start datanode
1.5、启动resourcemanager和nodemanager
在hadoop110或者hadoop111上执行
sbin/yarn-daemon.sh start resourcemanager sbin/yarn-daemons.sh start nodemanager
1.6、启动
遇到的问题:
1、Linux 环境变量的配置解决(-bash: jps: command not found)问题:需要把jdk的bin目录也配置到环境变量中(是jdk/bin)
2、无法访问namenode(访问一直超时)
2.1、在centos7下关闭防火墙:
systemctl disable firewalld systemctl mask firewalld yum remove firewalld -y
2.2、关闭selinux
2.2.1、临时关闭
setenforce 0
2.2.2、通过修改配置文件永久关闭
可以修改配置文件/etc/selinux/config,将SELINU置为disabled
2.2.3、通过命令永久关闭
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
3、配置hosts文件时,不能遗留有localhost的配置
hadoop2 环境的搭建(手动HA)的更多相关文章
- hadoop2 环境的搭建(自动HA)
zookeeper:hadoop112.hadoop113.hadoop114 namenode:hadoop110和hadoop111 datanode:hadoop112.hadoop113.ha ...
- Linux下Hadoop2.6.0集群环境的搭建
本文旨在提供最基本的,可以用于在生产环境进行Hadoop.HDFS分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用. 基础环境 JDK的安装与配置 现在直接到Oracle官网(http:/ ...
- Linux下Hadoop2.7.1集群环境的搭建(超详细版)
本文旨在提供最基本的,可以用于在生产环境进行Hadoop.HDFS分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用. 一.基础环境 ...
- Linux下Hadoop2.7.3集群环境的搭建
Linux下Hadoop2.7.3集群环境的搭建 本文旨在提供最基本的,可以用于在生产环境进行Hadoop.HDFS分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用. 基础环境 JDK的安 ...
- hbase单机环境的搭建和完全分布式Hbase集群安装配置
HBase 是一个开源的非关系(NoSQL)的可伸缩性分布式数据库.它是面向列的,并适合于存储超大型松散数据.HBase适合于实时,随机对Big数据进行读写操作的业务环境. @hbase单机环境的搭建 ...
- 基于HBase0.98.13搭建HBase HA分布式集群
在hadoop2.6.0分布式集群上搭建hbase ha分布式集群.搭建hadoop2.6.0分布式集群,请参考“基于hadoop2.6.0搭建5个节点的分布式集群”.下面我们开始啦 1.规划 1.主 ...
- Hadoop2.4.1 64-Bit QJM HA and YARN HA + Zookeeper-3.4.6 + Hbase-0.98.8-hadoop2-bin HA Install
Hadoop2.4.1 64-Bit QJM HA and YARN HA Install + Zookeeper-3.4.6 + Hbase-0.98.8-hadoop2-bin HA(Hadoop ...
- MHA环境的搭建
MHA简介: MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司)开 ...
- Linux学习心得之 Linux下命令行Android开发环境的搭建
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...
随机推荐
- [原]项目进阶 之 持续构建环境搭建(四)Jenkins环境搭建
在之前的几篇文章中,我给大家分别介绍了这次的持续化构建环境搭建的相关前提内容.如果说前面的文章都是小菜的话,那么今天的这篇文章就是我们这个系列文章的主菜. 1.前提 安装jenkins需要安装JDK. ...
- 《自学C语言》初级教程 - 目录
我现在打算出一个C语言学习教程,目的是为了让初学者能够很容易和更深刻地理解C语言. 你可能有这样的疑问,网上不是有很多的初级教程吗,我需要这个吗?我的回答是:网上的C语言教程讲得不够全面,而且许多的初 ...
- JDBC 学习笔记(一)—— 基础知识 + 分页技术
本文目录: 1.JDBC简介 2.使用JDBC的步骤——第一个JDBC程序 3.DriverManager ——加载数据库驱动 4.数据库URL ——标识数据库的 ...
- 在VisualStudio 2012上使用MVC3出现错误的解决办法
1. 错误: 找不到方法:“System.Collections.Generic.Dictionary`2<System.String,BlockParser> System.Web.Ra ...
- web.xml中servlet的配置
<servlet>元素是配置Servlet所用的元素. <servlet-mapping>元素在Servlet和URL样式之间定义一个映射,即servlet类提供一个url,在 ...
- 【BZOJ】【1662】/【POJ】【3252】 【USACO 2006 Nov】Round Number
数位DP 同上一题Windy数 预处理求个组合数 然后同样的方法,这次是记录一下0和1的个数然后搞搞 Orz cxlove /************************************* ...
- 基于密度的聚类之Dbscan算法
一.算法概述 DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一个比较有代表性的基于密度的聚类算法.与划分和层次 ...
- ios开发之多线程
多线程的主要是用来执行一些耗时操作,例如网络图片.视频.歌曲.书籍等资源下载,游戏中的音乐播放等,充分发挥多核处理器的优势,并发(同时执行)任务让系统运行的更快.更流畅. 介绍下比较常用的多线程技术, ...
- XML 实体扩展攻击
XMl Entity Expansion(攻击)某种程度上类似于 XML Entity Expansion,但是它主要试图通过消耗目标程序的服务器环境来进行DOS攻击的.这种攻击基于XML Entit ...
- PowerDesigner 逆向工程 从SQL文件转换成PDM 从PDM转成CDM
从SQL文件逆向工程到PDM: ①选择file -> Reverse Engineer - > Database ②在General选项卡中选择MySQL数据库,点击确定. ③using ...