hadoop2.7.1 HA安装部署(转)
hadoop2中通常由两个NameNode组成,一个处于active状态,另一个处于standby状态。Active
NameNode对外提供服务,而Standby NameNode则不对外提供服务,仅同步active
namenode的状态,以便能够在它失败时快速进行切换。

0、系统环境安装





1、同步机器时间
yum install -y ntp #安装时间服务ntpdate us.pool.ntp.org #同步时间
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0IPADDR=192.168.8.101NETMASK=255.255.255.0GATEWAY=192.168.8.2HWADDR=00:0C:29:56:63:A1TYPE=EthernetUUID=ecb7f947-8a93-488c-a118-ffb011421cacONBOOT=yesNM_CONTROLLED=yesBOOTPROTO=none
service network restart
ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:6C:20:2Binet addr:192.168.8.101 Bcast:192.168.8.255 Mask:255.255.255.0inet6 addr: fe80::20c:29ff:fe6c:202b/64 Scope:LinkUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1RX packets:777 errors:0 dropped:0 overruns:0 frame:0TX packets:316 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:70611 (68.9 KiB) TX bytes:49955 (48.7 KiB)
rm -f /etc/udev/rules.d/70-persistent-net.rule
vim /etc/sysconfig/network-scripts/ifcfg-eth0
第三步:重启服务器
reboot
3、设置主机名
vi /etc/sysconfig/network
NETWORKING=yesHOSTNAME=hadoop01NETWORKING_IPV6=no
vi /etc/hosts
127.0.0.1 localhost192.168.8.101 hadoop01
192.168.8.102 hadoop02
192.168.8.103 hadoop03
192.168.8.104 hadoop04
192.168.8.105 hadoop05
192.168.8.106 hadoop06
关闭ipv6
1、查看系统是否开启ipv6
a)通过网卡属性查看
命令:ifconfig
注释:有 “inet6 addr:。。。。。。。“ 的表示开启了ipv6功能
b)通过内核模块加载信息查看
命令:lsmod | grep ipv6
2、ipv6关闭方法
在/etc/modprobe.d/dist.conf结尾添加
alias net-pf-10 offalias ipv6 off
可用vi等编辑器,也可以通过命令:
cat <<EOF>>/etc/modprobe.d/dist.conf
alias net-pf-10 off
alias ipv6 off
EOF
关闭防火墙
chkconfig iptables stopchkconfig iptables off
改好后重启服务器:
reboot
4、安装JDK
vi /etc/proflie
export JAVA_HOME=/soft/jdk1.7.0_80/export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
source /etc/profile
5、SSH免密码登录
cd /root/.sshssh-keygen -t rsa #4个回车
id_rsa id_rsa.pub
ssh-copy-id -i hadoop01ssh-copy-id -i hadoop02ssh-copy-id -i hadoop03ssh-copy-id -i hadoop04ssh-copy-id -i hadoop05ssh-copy-id -i hadoop06
[root@hadoop01 .ssh]# ssh hadoop05Last login: Tue Nov 10 17:43:41 2015 from 192.168.8.1[root@hadoop05 ~]#
ssh-keygen -t rsa #4个回车
ssh-copy-id -i hadoop01
6、安装zookeeper
tar -zxvf zookeeper-3.4.6.tar.gz -C /root/soft
mv zoo.sample.cfg zoo.cfg
vi zoo.cfg
[root@hadoop04 conf]# vi zoo.cfg# The number of milliseconds of each ticktickTime=2000# The number of ticks that the initial# synchronization phase can takeinitLimit=10# The number of ticks that can pass between# sending a request and getting an acknowledgementsyncLimit=5# the directory where the snapshot is stored.# do not use /tmp for storage, /tmp here is just# example sakes.dataDir=/soft/zookeeper-3.4.6/data# the port at which the clients will connectclientPort=2181# the maximum number of client connections.# increase this if you need to handle more clients#maxClientCnxns=60## Be sure to read the maintenance section of the# administrator guide before turning on autopurge.## http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance## The number of snapshots to retain in dataDir#autopurge.snapRetainCount=3# Purge task interval in hours# Set to "0" to disable auto purge feature#autopurge.purgeInterval=1server.1=192.168.8.104:2888:3888server.2=192.168.8.105:2888:3888server.3=192.168.8.106:2888:3888
vi myid
bin/zkServer.sh start #启动bin/zkServer.sh status #查看状态
[root@hadoop04 zookeeper-3.4.6]# bin/zkServer.sh statusJMX enabled by defaultUsing config: /soft/zookeeper-3.4.6/bin/../conf/zoo.cfgMode: leader
[root@hadoop05 zookeeper-3.4.6]# bin/zkServer.sh statusJMX enabled by defaultUsing config: /soft/zookeeper-3.4.6/bin/../conf/zoo.cfgMode: follower
[root@hadoop06 zookeeper-3.4.6]# bin/zkServer.sh statusJMX enabled by defaultUsing config: /soft/zookeeper-3.4.6/bin/../conf/zoo.cfgMode: follower
bin/zkServer.sh stop
[root@hadoop04 zookeeper-3.4.6]# bin/zkServer.sh statusJMX enabled by defaultUsing config: /soft/zookeeper-3.4.6/bin/../conf/zoo.cfgError contacting service. It is probably not running.[root@hadoop04 zookeeper-3.4.6]#
[root@hadoop05 zookeeper-3.4.6]# bin/zkServer.sh statusJMX enabled by defaultUsing config: /soft/zookeeper-3.4.6/bin/../conf/zoo.cfgMode: follower
[root@hadoop06 zookeeper-3.4.6]# bin/zkServer.sh statusJMX enabled by defaultUsing config: /soft/zookeeper-3.4.6/bin/../conf/zoo.cfgMode: leader
7、hadoop安装
[root@hadoop01 hadoop-2.7.1]# lsbin etc include journal lib libexec LICENSE.txt logs NOTICE.txt README.txt sbin share
7.1、添加hadoop目录到环境变量
export JAVA_HOME=/soft/jdk1.7.0_80/export HADOOP_HOME=/soft/hadoop-2.7.1export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
source /etc/profile
[root@hadoop01 hadoop-2.7.1]# which hadoop/soft/hadoop-2.7.1/bin/hadoop
7.2、配置hadoop-env.sh
vim hadoop-env.sh
export JAVA_HOME=/soft/jdk1.7.0_80/
7.3、配置core-site.xml
<configuration><!-- 指定hdfs的nameservice为ns1 --><property><name>fs.defaultFS</name><value>hdfs://ns1</value></property><!-- 指定hadoop临时目录 --><property><name>hadoop.tmp.dir</name><value>/soft/hadoop-2.7.1/tmp</value></property><!-- 指定zookeeper地址 --><property><name>ha.zookeeper.quorum</name><value>hadoop04:2181,hadoop05:2181,hadoop06:2181</value></property></configuration>
7.4、配置hdfs-site.xml
<configuration><!--指定hdfs的nameservice为ns1,需要和core-site.xml中的保持一致 --><property><name>dfs.nameservices</name><value>ns1</value></property><!-- ns1下面有两个NameNode,分别是nn1,nn2 --><property><name>dfs.ha.namenodes.ns1</name><value>nn1,nn2</value></property><!-- nn1的RPC通信地址 --><property><name>dfs.namenode.rpc-address.ns1.nn1</name><value>hadoop01:9000</value></property><!-- nn1的http通信地址 --><property><name>dfs.namenode.http-address.ns1.nn1</name><value>hadoop01:50070</value></property><!-- nn2的RPC通信地址 --><property><name>dfs.namenode.rpc-address.ns1.nn2</name><value>hadoop02:9000</value></property><!-- nn2的http通信地址 --><property><name>dfs.namenode.http-address.ns1.nn2</name><value>hadoop02:50070</value></property><!-- 指定NameNode的元数据在JournalNode上的存放位置 --><property><name>dfs.namenode.shared.edits.dir</name><value>qjournal://hadoop04:8485;hadoop05:8485;hadoop06:8485/ns1</value></property><!-- 指定JournalNode在本地磁盘存放数据的位置 --><property><name>dfs.journalnode.edits.dir</name><value>/soft/hadoop-2.7.1/journal</value></property><!-- 开启NameNode失败自动切换 --><property><name>dfs.ha.automatic-failover.enabled</name><value>true</value></property><!-- 配置失败自动切换实现方式 --><property><name>dfs.client.failover.proxy.provider.ns1</name><value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value></property><!-- 配置隔离机制 --><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></configuration>
7.4、配置datanode的配置文件slaves
vi slaves
hadoop04hadoop05hadoop06
7.5、配置mapreduce文件mapred-site.xml
mv mapred-site.xml.example mapred-site.xml
<configuration><!-- 指定mr框架为yarn方式 --><property><name>mapreduce.framework.name</name><value>yarn</value></property></configuration>
7.6、配置yarn-site.xml
<configuration><!-- 指定resourcemanager地址 --><property><name>yarn.resourcemanager.hostname</name><value>hadoop03</value></property><!-- 指定nodemanager启动时加载server的方式为shuffle server --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property></configuration>
scp -r hadoop2.7.1 hadoop02:/soft/scp -r hadoop2.7.1 hadoop03:/soft/scp -r hadoop2.7.1 hadoop04:/soft/scp -r hadoop2.7.1 hadoop05:/soft/scp -r hadoop2.7.1 hadoop06:/soft/
7.7、启动Zookeeper服务
[root@hadoop04 zookeeper-3.4.6]# bin/zkServer.sh startJMX enabled by defaultUsing config: /soft/zookeeper-3.4.6/bin/../conf/zoo.cfgStarting zookeeper ... STARTED
7.8、在hadoop01上启动journalnode
[root@hadoop01 hadoop-2.7.1]# sbin/hadoop-daemons.sh start journalnode
[root@hadoop04 zookeeper-3.4.6]# jps1532 JournalNode1796 Jps1470 QuorumPeerMain
7.9、在hadoop01上格式化hadoop
hadoop namenode -format
scp -r tmp/ hadoop02:/soft/hadoop-2.7.1/
7.10、在hadoop01上格式化ZK
hdfs zkfc -formatZK
7.11、在hadoop01上 启动HDFS
sbin/start-dfs.sh
7.12 在hadoop01上启动YARN
sbin/start-yarn.sh
8、使用hadoop集群测试
192.168.8.101 hadoop01192.168.8.102 hadoop02192.168.8.103 hadoop03192.168.8.104 hadoop04192.168.8.105 hadoop05192.168.8.106 hadoop06


[root@hadoop01 hadoop-2.7.1]# jps1614 NameNode2500 Jps1929 DFSZKFailoverController[root@hadoop01 hadoop-2.7.1]# kill -9 1614


hadoop2.7.1 HA安装部署(转)的更多相关文章
- hadoop入门(3)——hadoop2.0理论基础:安装部署方法
一.hadoop2.0安装部署流程 1.自动安装部署:Ambari.Minos(小米).Cloudera Manager(收费) 2.使用RPM包安装部署:Apache ...
- 史上最完整Hadoop2.x完全分布式安装部署-小白也能学会
一.环境要求: 1. 虚拟机安装并设置网络: 2. 修改主机地址映射: 3. 必备软件:Jdk.Development Tools Development ...
- spark-2.4.0-hadoop2.7-高可用(HA)安装部署
1. 主机规划 主机名称 IP地址 操作系统 部署软件 运行进程 备注 mini01 172.16.1.11[内网] 10.0.0.11 [外网] CentOS 7.5 Jdk-8.zookeepe ...
- 3_HA介绍和安装部署
一.hadoop 2.x产生背景 1.hadoop 1.x中hdfs和mr在高可用和扩展性等方面存在问题.2.hdfs存在的问题:NN单点故障,难以应用于在线场景:NN压力过大,内存受限,影响系统扩展 ...
- Hadoop分布式HA的安装部署
Hadoop分布式HA的安装部署 前言 单机版的Hadoop环境只有一个namenode,一般namenode出现问题,整个系统也就无法使用,所以高可用主要指的是namenode的高可用,即存在两个n ...
- 第06讲:Flink 集群安装部署和 HA 配置
Flink系列文章 第01讲:Flink 的应用场景和架构模型 第02讲:Flink 入门程序 WordCount 和 SQL 实现 第03讲:Flink 的编程模型与其他框架比较 第04讲:Flin ...
- Hadoop 学习笔记 (九) hadoop2.2.0 生产环境部署 HDFS HA部署方法
step1:将安装包hadoop-2.2.0.tar.gz存放到某一个目录下,并解压 step2:修改解压后的目录中的文件夹/etc/hadoop下的xml配置文件(如果文件不存在,则自己创建) 包括 ...
- CentOS下SparkR安装部署:hadoop2.7.3+spark2.0.0+scale2.11.8+hive2.1.0
注:之前本人写了一篇SparkR的安装部署文章:SparkR安装部署及数据分析实例,当时SparkR项目还没正式入主Spark,需要自己下载SparkR安装包,但现在spark已经支持R接口,so更新 ...
- 【原创 Hadoop&Spark 动手实践 1】Hadoop2.7.3 安装部署实践
目录: 第一部分:操作系统准备工作: 1. 安装部署CentOS7.3 1611 2. CentOS7软件安装(net-tools, wget, vim等) 3. 更新CentOS7的Yum源,更新软 ...
随机推荐
- Python高手之路【六】python基础之字符串格式化
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...
- 【.net 深呼吸】细说CodeDom(6):方法参数
本文老周就给大伙伴们介绍一下方法参数代码的生成. 在开始之前,先补充一下上一篇烂文的内容.在上一篇文章中,老周检讨了 MemberAttributes 枚举的用法,老周此前误以为该枚举不能进行按位操作 ...
- React 入门教程
React 起源于Facebook内部项目,是一个用来构建用户界面的 javascript 库,相当于MVC架构中的V层框架,与市面上其他框架不同的是,React 把每一个组件当成了一个状态机,组件内 ...
- C++中的时间函数
C++获取时间函数众多,何时该用什么函数,拿到的是什么时间?该怎么用?很多人都会混淆. 本文是本人经历了几款游戏客户端和服务器开发后,对游戏中时间获取的一点总结. 最早学习游戏客户端时,为了获取最精确 ...
- JAVA问题集锦Ⅰ
1.Java的日期添加: import java.util.Date ; date=new date();//取时间 Calendar calendar = new GregorianCalendar ...
- CRL快速开发框架系列教程十(导出对象结构)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- C# 生成验证码图片时消除锯齿
引言 基于生成图片实现了一个手机号转图片的需求. 内容也很简单,直接用手机号生成一个png图片.就是为了背景透明以便其他地方调用. 有无锯齿主要依靠一句代码:g.TextRenderingHint= ...
- CSS 3学习——文本效果和@font-face
文本效果 关于文本效果,这里仅仅记录得到大多数浏览器支持的几个属性,分别是: text-overflow text-shadow word-break word-wrap text-overflow ...
- js参数arguments的理解
原文地址:js参数arguments的理解 对于函数的参数而言,如下例子 function say(name, msg){ alert(name + 'say' + msg); } say('xiao ...
- autocomplete的使用
autocomplete使用分为本地调用方法和读取远程读取数据源的方法 (1)本地调用方法 <script src="Scripts/jquery-1.4.1.min.js" ...