大数据(hdfs的扩容兼容及其高可用HA)

HDFS的集群扩容,减容 [了解]
热扩容,减容
  • 减容

    1. 创建一个新的文件 位置 名字 随便host.exclusionhadoop22. 配置 hdfs-site.xmldfs.hosts.exclude 文件的位置 (不加 file://)<property>     <name>dfs.hosts.exclude</name>     <value>/opt/install/hadoop-2.5.2/host.exclusion</value></property>3. 通过命令刷新集群bin/hdfs dfsadmin -refreshNodes4. 把删除的节点 从slaves 删除5. 把hdfs-site.xmldfs.hosts.exclude 的信息删除6. kill 掉 被删除的DataNode
  • 扩容
    # ,如果新节点克隆主节点,则删除新节点下面的 data文件夹中的数据,否则主节点和新节点只可显示一个1. 保证新加的机器 (hosts配置 域名设置 iptables  selinux关闭 配置主机到从机 SSH免密码登陆 hadoop安装(core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml))2. 启动新机器的datanodesbin/hadoop-daemon.sh start datanode3. 平衡处理sbin/start-balancer.sh,为了数据散列均匀4. 修改集群中所有的slave配置文件 把新加入的节点配置进去
HA(高可用)的HDFS集群
  • 准备集群中三个节点

    防火墙,selinux,ip,host,主机名,jdk,sshzk ssh 中间节点 操作  所有节点
  • 安装zk集群(奇数个节点)
    1. 上传zookeeper-3.4.5.tar.gz,并解压缩2. zookeeper安装目录下创建一个data文件夹 /opt/install/zookeeper-3.4.5/data3. 修改zookeeper的配置文件   zoo_sample.cfg 改名成zoo.cfg   dataDir=/opt/install/zookeeper-3.4.5/data    server.1=hadoop:2888:3888     server.2=hadoop1:2888:3888   server.3=hadoop2:2888:38884. dataDir所对应的路径下创建myid文件 并分别设置 1,2,35. 集群同步 scp -r zookeeper-3.4.5/ [email protected]:/opt/install/6. zookeeper_home/bin/zkServer.sh start|stop|status   zookeeper_home/bin/zkCli.sh 
  • 安装Hadoop
    1. 解压缩 释放hadoop的安装包2. 配置文件 同步全集群   hadoop-env.sh   core-site.xml   <property>               <name>fs.defaultFS</name>            <value>hdfs://ns1/</value>   </property>   <property>            <name>hadoop.tmp.dir</name>            <value>/opt/install/hadoop-2.5.2/data/tmp</value>   </property>   <property>            <name>ha.zookeeper.quorum</name>            <value>hadoop:2181,hadoop1:2181,hadoop2:2181</value>   </property>   hdfs-site.xml   <!--指定hdfs的nameservice为ns1,需要和core-site.xml中的保持一致 -->               <property>                  <name>dfs.nameservices</name>                  <value>ns1</value>               </property>               <property>                  <name>dfs.ha.namenodes.ns1</name>                  <value>nn1,nn2</value>               </property>               <!-- nn1的RPC通信地址 -->               <property>                    <name>dfs.namenode.rpc-address.ns1.nn1</name>                    <value>hadoop:8020</value>              </property>              <!-- nn1的http通信地址 -->              <property>                  <name>dfs.namenode.http-address.ns1.nn1</name>                  <value>hadoop:50070</value>              </property>              <!-- nn2的RPC通信地址 -->              <property>                   <name>dfs.namenode.rpc-address.ns1.nn2</name>                   <value>hadoop1:8020</value>              </property>               <!-- nn2的http通信地址 -->               <property>                    <name>dfs.namenode.http-address.ns1.nn2</name>                    <value>hadoop1:50070</value>              </property>               <!-- 指定NameNode的元数据在JournalNode上的存放位置 -->               <property>                     <name>dfs.namenode.shared.edits.dir</name>                     <value>qjournal://hadoop:8485;hadoop1:8485;hadoop2:8485/ns1</value>               </property>                <!-- 指定JournalNode在本地磁盘存放数据的位置 -->                 <property>                     <name>dfs.journalnode.edits.dir</name>                     <value>/opt/install/hadoop-2.5.2/journaldata</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                         shell(/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>?   mapred-site.xml[一致]   yarn-site.xml[一致]   slaves[一致]3. 启动zk , journalnode   sbin/hadoop-daemon.sh start journalnode 3. 格式化   bin/hdfs namenode -format   scp -r data/tmp/* [email protected]:/opt/install/hadoop-2.5.2/data/tmp4. 启动   bin/hdfs zkfc -formatZK [第一次]   sbin/start-dfs.sh
  • Java代码
     Configuration configuration = new Configuration(); configuration.set("fs.defaultFS","hdfs://ns1/");? FileSystem fileSystem = FileSystem.get(configuration);

原文地址:https://www.cnblogs.com/lhc-hhh/p/10324287.html

时间: 2025-01-16 03:58:26

大数据(hdfs的扩容兼容及其高可用HA)的相关文章

浅谈web应用的负载均衡、集群、高可用(HA)解决方案(转)

1.熟悉几个组件 1.1.apache     —— 它是Apache软件基金会的一个开放源代码的跨平台的网页服务器,属于老牌的web服务器了,支持基于Ip或者域名的虚拟主机,支持代理服务器,支持安 全Socket层(SSL)等等,目前互联网主要使用它做静态资源服务器,也可以做代理服务器转发请求(如:图片链等),结合tomcat等 servlet容器处理jsp.1.2.ngnix     —— 俄罗斯人开发的一个高性能的 HTTP和反向代理服务器.由于Nginx 超越 Apache 的高性能和稳

corosync+pacemaker实现高可用(HA)集群

corosync+pacemaker实现高可用(HA)集群(一) ????重要概念 在准备部署HA集群前,需要对其涉及的大量的概念有一个初步的了解,这样在实际部署配置时,才不至于不知所云 资源.服务与主机(又称节点)的关系: 资源包括vip,httpd,filesystem等: 可整合多个资源形成一个服务: 服务必运行在某个主机上,主机上也可不运行服务(此为空闲主机): 服务里的所有资源应该同时运行在同一个节点上,实现方式有2种: 资源组: 排列约束 资源类型 primitive(或native

高可用(HA)集群原理概述

一.高可用集群(High Availability Cluster) 集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源.每一个单个的计算机系统都叫集群节点(node).随着业务的增长,集群通过添加新的节点,满足资源的高可扩展性. 计算机硬件和软件易错性不可避免,这样在节点上的服务会不可避免的中断.高可用集群的出现是为保证即使节点失效,而服务能不中断. 高可用集群在一组计算机中,采用主备模式,主节点提供服务,备节点等待:一旦,主节点失效,备节点无需人工的无缝取代主节点提

使用HeartBeat实现高可用HA的配置过程详解

使用HeartBeat实现高可用HA的配置过程详解 一.写在前面 HA即(high available)高可用,又被叫做双机热备,用于关键性业务.简单理解就是,有2台机器 A 和 B,正常是 A 提供服务,B 待命闲置,当 A 宕机或服务宕掉,会切换至B机器继续提供服务.常见的实现高可用的开源软件有 heartbeat 和 keepalived. 这样,一台 web 服务器一天24小时提供web服务,难免会存在 web 服务挂掉或服务器宕机宕机的情况,那么用户就访问不了服务了,这当然不是我们期望

Nginx+Keepalived 实现反代 负载均衡 高可用(HA)配置

Nginx+Keepalived实现反代负载均衡高可用(HA)配置 Nginx+Keepalived实现反代负载均衡高可用配置 OS IP 子网掩码 路由网关 Centos6.6 nginx Keepalived Eth0:192.168.26.210 255.255.252.0 192.168.25.3 VIP:192.168.27.210 Centos6.6 Nginx Keepalived Eth0:192.168.26.211 255.255.252.0 192.168.25.3 VIP

Corosync+Pacemaker+DRBD+MySQL 实现高可用(HA)的MySQL集群

大纲一.前言二.环境准备三.Corosync 安装与配置四.Pacemaker 安装与配置五.DRBD 安装与配置六.MySQL 安装与配置七.crmsh 资源管理 推荐阅读: Linux 高可用(HA)集群基本概念详解 http://www.linuxidc.com/Linux/2013-08/88522.htm Linux 高可用(HA)集群之Heartbeat详解 http://www.linuxidc.com/Linux/2013-08/88521.htm 一.前言      前几篇博文

Heartbeat+MySQL+NFS 实现高可用(HA)的MySQL集群

一:试验目的 利用heartbeat心跳机制haresource实现高可用(HA)mysql数据库的搭建. 二:试验拓扑图 三:安装前的环境准备 规划IP为192.168.1.14为node1;IP为192.168.1.2为node2 1)修改各主机名称 修改node1主机名称  vim /etc/sysconfig/network   NETWORKING=yes   HOSTNAME=node1 #修改主机名称为node1  vim /etc/hosts     192.168.1.2 no

大数据-HDFS 集群搭建的配置文件

1.HDFS简单版集群搭建相关配置文件 1.core-site.xml文件 1 <property> 2 <name>fs.defaultFS</name> 3 <value>hdfs://hadoop2:9000</value> 4 </property> 5 6 <property> 7 <name>hadoop.tmp.dir</name> 8 <value>/usr/hadoop

nopCommerce 3.9 大波浪系列 之 使用Redis主从高可用缓存

一.概述 nop支持Redis作为缓存,Redis出众的性能在企业中得到了广泛的应用.Redis支持主从复制,HA,集群. 一般来说,只有一台Redis是不可行的,原因如下: 单台Redis服务器会发生单点故障,并且单服务器需要处理所有的请求会导致压力较大. 单台Redis服务器内存容量有限,不易扩展. 第一个问题可以通过Redis主从模式实现单节点的高可用(HA). 从节点(slave)是主节点(master)副本,当主节点(master)宕机后,Redis 哨兵(Sentinel)会自动将从