hadoop高可用的完全分布式部署

1、将zookeeper-3.4.6.tar.gz解压(例:root目录下)

2、将/root/zookeeper-3.4.6/conf/zoo_simple.cfg修改为zoo.cfg

并修改zookeeper存放文件的目录:dataDir=/tmp/zookeeper

添加:

#其中1、2、3是zookeeper的服务编号,后面是对应服务器的主机名

server.1=zlj02:2888:3888

server.2=my01:2888:3888

server.3=my02:2888:3888

3、mkdir /tmp/zookeeper(三个zookeeper所在的机器都要)

4、创建并存放各自zookeeper的服务编号:vim /tmp/zookeeper/myid

5、拷贝zookeeper到其他两台机器中:scp -r zookeeper-3.4.6 [email protected]:~

6、配置zookeeper的环境变量(vim ~/.bash_profile)并重新加载配置文件

7、启动zookeeper(三台机器上各自启动(zkServer.sh start))日志:/root/zookeeper.out(启动后可以完全不用再理了,其所占资源很少)

8、配置/root/hadoop-2.5.2/etc/hadoop/hdfs-site.xml

<configuration>

<!--配置nameservicesID,即该集群的名字 -->

<property>

<name>dfs.nameservices</name>

<value>gzsxt</value>

</property>

<!-- 配置namenodesID,唯一区分每个namenode -->

<property>

<name>dfs.ha.namenodes.gzsxt</name>

<value>nn1,nn2</value>

</property>

<!-- 配置两个NameNode的rpc协议的地址和端口 -->

<property>

<name>dfs.namenode.rpc-address.gzsxt.nn1</name>

<value>zlj02:8020</value>

</property>

<property>

<name>dfs.namenode.rpc-address.gzsxt.nn2</name>

<value>my01:8020</value>

</property>

<!-- 设置http的地址 -->

<property>

<name>dfs.namenode.http-address.gzsxt.nn1</name>

<value>zlj02:50070</value>

</property>

<property>

<name>dfs.namenode.http-address.gzsxt.nn2</name>

<value>my01:50070</value>

</property>

<!-- 设置journalnade的主机名 -->

<property>

<name>dfs.namenode.shared.edits.dir</name>

<value>qjournal://zlj02:8485;my01:8485;my02:8485/abc</value>

</property>

<!-- 通过代理类来让客户端连接active的NameNode -->

<property>

<name>dfs.client.failover.proxy.provider.gzsxt</name>

<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyPro

vider</value>

</property>

<!--隔离机制:通过远程登录,杀掉NameNode来保证只有一个active的NameNode(保证

已经设置了免密登录) -->

<property>

<name>dfs.ha.fencing.methods</name>

<value>sshfence</value>

</property>

<property>

<name>dfs.ha.fencing.ssh.private-key-files</name>

<value>/root/.ssh/id_rsa</value>

</property>

<!-- journalnade保存数据用的目录-->

<property>

<name>dfs.journalnode.edits.dir</name>

<value>/opt/journalnode</value>

</property>

<!--配置NameNode的自动切换的开关 -->

<property>

<name>dfs.ha.automatic-failover.enabled</name>

<value>true</value>

</property>

</configuration>

9、配置/root/hadoop-2.5.2/etc/hadoop/core-site.xml

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://gzsxt:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/opt/hadoop</value>

</property>

<!--配置三台zookeeper主机名 -->

<property>

<name>ha.zookeeper.quorum</name>

<value>zlj02:2181,my01:2181,my02:2181</value>

</property>

</configuration>

10、复制/root/hadoop-2.5.2/etc/hadoop下所有的xml配置文件到其他机器中

11、启动所有journalnode:在其中的一台设置了免密登录的机器上敲一下代码即可:hadoop-daemon.sh start journalnode

12、初始化和同步两台NameNode的元数据(生成fsimage文件)

A) 随便一台NameNode机器上执行初始化:hdfs namenode -format(如果原来已经有,最好先删除)

B) 将元数据拷贝到另外一台NameNode下的:scp -r /opt/hadoop/ [email protected]:/opt/

13、在其中一台NameNode下初始化zookeeper:hdfs zkfc -formatZK

14、启动hadoop:start-dfs.sh

15、设置两台NameNode的相互免密登录:

a) 生成密钥:ssh-keygen

b) 拷贝主节点的公钥到所有节点中去。ssh-copy-id -i id_rsa.pub [email protected]

原文地址:https://www.cnblogs.com/z-l-j/p/8777952.html

时间: 2024-10-04 21:13:43

hadoop高可用的完全分布式部署的相关文章

【4】搭建HA高可用hadoop-2.3(部署配置HBase)

[1]搭建HA高可用hadoop-2.3(规划+环境准备) [2]搭建HA高可用hadoop-2.3(安装zookeeper) [3]搭建HA高可用hadoop-2.3(部署配置hadoop--cdh5.1.0) [4]搭建HA高可用hadoop-2.3(部署配置HBase) 部署配置habase (1)安装habase master1.slave1.slave2.slave3 #cd /opt #tar xf  hbase-0.98.1-cdh5.1.0.tar.gz #ln -s  hbas

zookeeper简易配置及hadoop高可用安装

zookeeper介绍    是一个分布式服务的协调服务,集群半数以上可用(一般配置为奇数台),            快速选举机制:当集群中leader挂掉,所有小弟会投票选举出新的leader.    快速同步数据:zk将会存储小量用于服务做协调的数据.        标准文件系统用于存储大量数据:而zk存储小量协调数据    标准文件系统文件就是文件,目录就是目录:zk中文件既是目录. 1.zookeeper的安装与启动        解压并配置环境变量    配置./conf/zoo.c

常用组件、kafka集群、hadoop高可用

1.Zookeeper安装搭建Zookeeper集群并查看各服务器的角色停止Leader并查看各服务器的角色 1.1 安装Zookeeper1)编辑/etc/hosts ,所有集群主机可以相互 ping 通(在nn01上面配置,同步到node1,node2,node3)nn01 hadoop]# vim /etc/hosts192.168.1.21 nn01192.168.1.22 node1192.168.1.23 node2192.168.1.24 node3 2)安装 java-1.8.0

CLOUD 04:zookeeper,kafka,hadoop高可用

zookeeper 安装 1 禁用防火墙和 selinux2 设置 /etc/hosts ip 主机名对应关系3 安装 openjdk zookeeper 角色,选举leader 集群主节点follower 参与选举的附属节点observer 不参与选举的节点,同步 leader 的命名空间 1 拷贝配置文件/usr/local/zookeeper/conf/zoo_sample.cfg 到/usr/local/zookeeper/conf/zoo.cfg 2 修改配置文件vim /usr/lo

ProxySQL Cluster 配置详解 以及 高可用集群方案部署记录(完结篇)

早期的ProxySQL若需要做高可用,需要搭建两个实例,进行冗余.但两个ProxySQL实例之间的数据并不能共通,在主实例上配置后,仍需要在备用节点上进行配置,对管理来说非常不方便.但是ProxySQl 从1.4.2版本后,ProxySQL支持原生的Cluster集群搭建,实例之间可以互通一些配置数据,大大简化了管理与维护操作. ProxySQL是一个非中心化代理,在拓扑中,建议将它部署在靠近应用程序服务器的位置处.ProxySQL节点可以很方便地扩展到上百个节点,因为它支持runtime修改配

基于 ZooKeeper 搭建 Hadoop 高可用集群

一.高可用简介 二.集群规划 三.前置条件 四.集群配置 五.启动集群 六.查看集群 七.集群的二次启动 一.高可用简介 Hadoop 高可用 (High Availability) 分为 HDFS 高可用和 YARN 高可用,两者的实现基本类似,但 HDFS NameNode 对数据存储及其一致性的要求比 YARN ResourceManger 高得多,所以它的实现也更加复杂,故下面先进行讲解: 1.1 高可用整体架构 HDFS 高可用架构如下: 图片引用自:https://www.edure

阿里项目的高可用Mongodb集群部署

数据副本 MongoDB中的一组副本是一群mongod进程,这些进程维护同样的数据集.副本集提供了冗余和高可用性,是生产环境部署的基础. 数据冗余和可用性 通过在不同的服务器上存储相同的数据,副本机制保证了一定程度的容错,即在一个数据库挂掉后,数据服务仍然可用. 在某些情况下,副本可以提升数据的读性能,因为用户可以从不同的数据库读取数据.在不同的数据中心维护数据的拷贝,能够提高分布式应用程序的可用性.也可以维护额外的副本用于其他的目的,比如灾难恢复,告警或者是备份. Mongo中的副本 一个Mo

镜像仓库Harbor私服高可用策略分析及部署

一.分析指定Harbor高可用策略 主流的策略有那么几种: 1.harbor做双主复制 2.harbor集群挂载分布式cephfs存储 3.在k8s集群上部署harbor 第二种和第三种都是多个节点,然后挂载的分布式存储,然后为了保证数据的统一性使用单独的mysql数据库,这样以来存在mysql数据和镜像仓库数据单点存放,故障恢复难度大,安装操作复杂的问题 双主复制不存在这些问题,数据多点存放,而且扩容更改高可用模式操作简单,可以更换成主主从等模式. 二.安装docker-compose #ca

Hadoop高可用原理及环境搭建

一.说明 本次配置基于上一篇博客<Hadoop完全分布式搭建全过程>做补充,基于完全分布式做高可用搭建...... 二.原理 Hadoop1.X中只有一个NameNode,所有元数据信息都被这个NameNode管理,存在两个问题:单点故障和内存压力大,所以在Hadoop2.X中对两个存在的问题分别有对应的解决方案: 对于单点故障,Hadoop2.X中实现主备模式,有两个NameNode节点,去除之前Hadoop1.X中的SecondaryNameNode节点,用actived和standby状