Hadoop2.2.0 手动切换HA环境搭建
ssh-copy-id -i hadoop5含义:
节点hadoop4上执行ssh-copy-id -i hadoop5的含义是把hadoop4上的公钥id_rsa.pub的内容追加到hadoop5的授权文件authorized_keys中。
zookeeper在hadoop2中实现的一个作用是HA的自动切换。
journalnode是实现active和standby两个数据节点的数据同步。
搭建手工切换的HA (比hadoop1集群搭建多了一个journalnode)
机器分配:
namenode:hadoop4,hadoop5
datanode:hadoop4,hadoop5,hadoop6
journalnode:hadoop4,hadoop5,hadoop6,仅仅是为了实现HA,和集群没有任何关系,最少三个机器,奇数个
resourcemanager:hadoop4
nodemanager:hadoop4,hadoop5,hadoop6
1.1 配置文件:(hadoop-env.sh,core-site.xml,hdfs-site.xml,yarn-site.xml,mapred-site.xml)
1.1.1 hadoop-env.sh 修改JAVA_HOME
export JAVA_HOME=/usr/local/jdk
1.1.2 core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://cluster1</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
1.1.3 hdsf-site.xml
<!-- 副本数 默认值3个 -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<!-- 配置有几个集群 -->
<property>
<name>dfs.nameservices</name>
<value>cluster1</value>
</property>
<!-- 指定集群cluster1具有哪些namenode节点,这里是逻辑名称,不重复即可 -->
<property>
<name>dfs.ha.namenodes.cluster1</name>
<value>hadoop101,hadoop102</value>
</property>
<!-- 指定hadoop101RPC的地址 -->
<property>
<name>dfs.namenode.rpc-address.cluster1.hadoop101</name>
<value>hadoop4:9000</value>
</property>
<!-- 指定hadoop101http的地址 -->
<property>
<name>dfs.namenode.http-address.cluster1.hadoop101</name>
<value>hadoop4:50070</value>
</property>
<!-- 指定hadoop102RPC的地址 -->
<property>
<name>dfs.namenode.rpc-address.cluster1.hadoop102</name>
<value>hadoop5:9000</value>
</property>
<!-- 指定hadoop102http的地址 -->
<property>
<name>dfs.namenode.http-address.cluster1.hadoop102</name>
<value>hadoop5:50070</value>
</property>
<!-- 是否启用自动故障恢复,即namenode出故障时,是否自动切换到另一台namenode-->
<property>
<name>dfs.ha.automatic-failover.enabled.cluster1</name>
<value>false</value>
</property>
<!-- 指定cluster1的两个namenode共享edits文件目录时,使用journalnode集群信息 -->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://hadoop4:8485;hadoop5:8485;hadoop6:8485/cluster1</value>
</property>
<!-- 指定journalnode集群在对namenode的目录进行共享时,自己存储数据的磁盘路径 -->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/usr/local/hadoop/tmp/journal</value>
</property>
<!-- 需要namenode切换,使用ssh进行切换 -->
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>
<!-- 使用ssh进行故障切换,使用的密钥存储位置 -->
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_rsa</value>
</property>
<!-- 指定cluster1出故障时,哪个实现类负责执行故障切换 -->
<property>
<name>dfs.client.failover.proxy.provider.cluster1</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
hdsf-site.xml 配置
1.1.4 yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop4</value>
</property> <property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
1.1.5 mapred-site.xml
重命名mapred-site.xml.template 为mapred-site.xml
mv mapred-site.xml.template mapred-site.xml
<!-- 指定mapreduce运行环境时yarn,和hadoop1不同的地 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
1.1.6 slaves
hadoop4
hadoop5
hadoop6
1.1.7 把hadoop4上的hadoop文件夹复制到hadoop5、hadoop6节点
直接复制:
scp -rq hadoop hadoop5:/usr/local/ r:是否强制覆盖 q:安静
也可以写一个脚本:
vi bcp.sh
#!/bin/sh
for((i=5;i<=6;i++));
do
scp -rq /usr/local/$1 hadoop$i:/usr/local/$2
echo "copy done at hadoop$i"
done
执行:
chmod u+x bcp.sh
bcp.sh hadoop .
1.2 启动journalnode集群
在hadoop4、hadoop5、hadoop6上分别执行hadoop/sbin/hadoop-daemon.sh start journalnode
1.3 格式化namenode,启动namenode
hadoop4上执行格式化:hadoop/bin/hdfs namenode -format
hadoop4上执行 hadoop/sbin/hadoop-daemon.sh start namenode
hadoop5上执行 hadoop/bin/hdfs namenode -bootstrapStandby
hadoop5上执行 hadoop/sbin/hadoop-daemon.sh start namenode
将hadoop4上standby状态的转换为active状态
hadoop/bin/hdfs haadmin -failover --forceactive hadoop101 hadoop102 forceactive:将一个转成active,forcefence:将状态互换
ll -h :查看文件大小
1.4 启动datanode
在hadoop4上执行hadoop/sbin/hadoop-daemons.sh start datanode
hadoop5格式化命令,实际上是把hadoop4上的fsimage和edits两个文件copy到hadoop5上
1.5 启动resourcemanager和nodemanager
在hadoop4上执行hadoop/sbin/start-yarn.sh start resourcemanager
和原来的集群相比多了一个HA,HA由我们的journalnode集群实现,
Hadoop2.2.0 手动切换HA环境搭建的更多相关文章
- Hadoop2.2.0 自动切换HA环境搭建
自动切换的HA,比手动切换HA集群多了一个zookeeper集群 机器分配: zookeeper:hadoop4,hadoop5,hadoop6 namenode:hadoop4,hadoop5 da ...
- hadoop2.7.3+spark2.1.0+scala2.12.1环境搭建(4)SPARK 安装
hadoop2.7.3+spark2.1.0+scala2.12.1环境搭建(4)SPARK 安装 一.依赖文件安装 1.1 JDK 参见博文:http://www.cnblogs.com/liugh ...
- hadoop-2.6.0集群开发环境配置
hadoop-2.6.0集群开发环境配置 一.环境说明 1.1安装环境说明 本例中,操作系统为CentOS 6.6, JDK版本号为JDK 1.7,Hadoop版本号为Apache Hadoop 2. ...
- Windows Server 2003 IIS6.0+PHP5(FastCGI)+MySQL5环境搭建教程
准备篇 一.环境说明: 操作系统:Windows Server 2003 SP2 32位 PHP版本:php 5.3.14(我用的php 5.3.10安装版) MySQL版本:MySQL5.5.25 ...
- Cocos2dx-3.0版本 从开发环境搭建(Win32)到项目移植Android平台过程详解
作为重量级的跨平台开发的游戏引擎,Cocos2d-x在现今的手游开发领域占有重要地位.那么问题来了,作为Cocos2dx的学习者,它的可移植特性我们就需要掌握,要不然总觉得少一门技能.然而这个时候各种 ...
- Apache Spark1.1.0部署与开发环境搭建
Spark是Apache公司推出的一种基于Hadoop Distributed File System(HDFS)的并行计算架构.与MapReduce不同,Spark并不局限于编写map和reduce ...
- Selenium win7+selenium2.0+python+JetBrains PyCharm环境搭建
win7+selenium2.0+python+JetBrains PyCharm环境搭建 by:授客 QQ:1033553122 步骤1:下载python 担心最新版的支持不太好,这里我下载的是py ...
- SDL2.0的VS开发环境搭建
SDL2.0的VS开发环境搭建 [前言] 我是用的是VS2012,VS的版本应该大致一样. [开发环境搭建] >>>SDL2.0开发环境配置:1.从www.libsdl.org 下载 ...
- (一)windows7下solr7.1.0默认jetty服务器环境搭建
windows7下solr7.1.0默认jetty服务器环境搭建 1.下载solr solr7官网地址:http://lucene.apache.org/solr/ jdk8官网地址:http://w ...
随机推荐
- git add 之后因为没提交正确文件需要撤销
之后因为没提交正确文件需要撤销时,采用如下方法:git log //查看提交记录MT6592_L_2SIM_GIT$ git reset --hard 717af7c9664be098939cb266 ...
- Android电源管理-休眠简要分析
一.开篇 1.Linux 描述的电源状态 - On(on) S0 - Working - Standb ...
- nginx.conf 配置文件详解
简单的实现nginx在前端做反向代理服务器的例子,处理js.png等静态文件,jsp等动态请求转发到其它服务器tomcat: user www www; worker_processes ; erro ...
- java生成带html样式的word文件
参考:http://blog.csdn.net/xiexl/article/details/6652230 最近在项目中需要将通过富文本编辑器处理过的文字转换为Word,查了很久,大家通常的解决办法是 ...
- maven-source 1.3 中不支持注释请使用 -source 5 或更高版本以启用注释
解决办法:在pom里 加上以下代码 <build> <plugins> <plugin> <groupId>org.apache.maven.plugi ...
- 【笨嘴拙舌WINDOWS】键盘消息,鼠标消息
键盘消息 Windows系统无论何时只有一个窗口(可能是子窗口,也就是控件)能获得焦点. 焦点窗口通过windows消息来响应人的键盘操作,与键盘相关的常用消息罗列如下: WM_KEYDOWN 按 ...
- JSAPI微信支付返回错误:fail_no permission to execute
问题描述 fail_no permission to execute 一定是授权目录出问题了,因为没有权限. 开发环境及可能造成的原因 这次的微信开发是用的Mvc4,支付的封装代码不会有问题(用过很多 ...
- Oracle® Database Patch 19121551 - Database Patch Set Update 11.2.0.4.4 (Includes CPUOct2014) - 傲游云浏览
Skip Headers Oracle® Database Patch 19121551 - Database Patch Set Update 11.2.0.4.4 (Includes CPUOct ...
- 配置centos防火墙(iptables)开放80端口
#添加规则 /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT #保存 /etc/rc.d/init.d/iptables save
- (一) 从零开始搭建Spark Standalone集群环境搭建
本文主要讲解spark 环境的搭建 主机配置 4核8线程,主频3.4G,16G内存 虚拟环境: VMWare 虚拟环境系统:Ubuntu 14.10 虚拟机运行环境: jdk-1.7.0_79(64 ...