关于Hbase的集群管理

http://www.linuxidc.com/Linux/2012-07/65909.htm

1、如果只增加集群的存储量,建议增加Hadoop datanode节点。

方法:
  • 停掉集群包括hadoop和hbase,当然也可以不停掉,直接在hadoop namenode的配置文件Slave里添加新节点的host,别忘了在host文件里也要添加新添加的host名。
  • 执行bin/start-all.sh启动集群
  • 如果不手动作平衡,插入的数据将会放在新添加的节点上。以趋于平衡。
  • 如果手动平衡,则 start-balancer.sh和调用bin/shadoop balancer命令相似,也可加参数 -threshold 5(threshold 是平衡阈值,默认是10%,值越低各节点越平衡,但消耗时间也更长)。 在使用start-balancer.sh时,如果在hdfs-site.xml里面没有配置dfs.balance.bandwidthPerSec,那么集群hdfs内部默认使用1M/S的速度移动数据(so slowly...),我们可以通过在hdfs-site.xml里面配置dfs.balance.bandwidthPerSec来加快balance的速度。 最开始我们配置的是20m/S ,然后结果是导致job运行变得不稳定,出现一些意外的长map单元,某些reduce时间处理变长(整个集群负载满满的情况下,外加20m/s的balance),在前天的中国hadoop年会上听淘宝调整的为10m/s,需要调整后实验,看看情况如何。 另外再修改dfs.balance.bandwidthPerSec参数后,需要在namenode上运行stop-dfs.sh start-dfs.sh重启hdfs生效。我们可以通过stop-balancer.sh停掉平衡任务。作完平衡后,启动hbase,正常。 果cluster设置的副本数不为3(默认),需要先运行命令hadoop fs –setrep [-R] <path> 
    进行设置一个文件的副本系数。如果默认为3则不必。如果执行完平衡以后才改变副本数,会将新加入到新节点上的所有数据删除。 
    5.dfs.replication设置的副本系数只在文件系统写入时有效,并不影响在新添加节点时,平衡时的副本数 
    由于还有hbase数据库,因此,在运行完平衡以后,将hbase下的.META.文件删除(防止出错),启动hbase,执行hbase org.jruby.Main add_table /表名 来进行hbase表恢复
验证步骤:1namenode+3datanode+1master+2regionserver+3zookeeper
 
2、删除一个regionServer,
在需要删除的RegionServer上执行以下命令:$ ./bin/hbase-daemon.sh stop regionserver  RegionServer将会关掉所有的region,然后此节点将会在Zookeeper消失。Master注意到了此RegionServer 掉了,它将会重新分配掉的这些Region。在停掉一个节点的时候,注意要关闭Load Balancer,因为Load Balancer可能要和Master的恢复机制争夺停掉的RegionServer。
hbase(main):001:0> balance_switch false
true
0 row(s) in 0.3590 seconds
 
hbase(main):002:0> balance_switch true
false
0 row(s) in 0.3590 seconds
 
./bin/graceful_stop.sh
Usage: graceful_stop.sh [--config &conf-dir>] [--restart] [--reload] \
[--thrift] [--rest] &hostname>
thrift If we should stop/start thrift before/after the hbase stop/start
rest If we should stop/start rest before/after the hbase stop/start
restart If we should restart after graceful stop
reload Move offloaded regions back on to the stopped server
debug Move offloaded regions back on to the stopped server
hostname Hostname of server we are to stop
 
3、添加一个备份的master节点
 
 
有时候hadoop或hbase集群运行时间久了后,某些节点就会失效,这个时候如果不想重启整个集群(这种情况在很多情况下已经不被允许),这个时候可以单独重启失效节点。

HADOOP:

hadoop中重启单节点的方法和增加新节点其实是一样的。
1、我们先看下如何了解hadoop机器的情况,可以用命令:
hadoop dfsadmin -report 查看集群容量情况,很多情况下失效节点也可以从这里了解到(比如失效节点容量显示为0)。
也可以用web查看:http://ip:54030/jobtracker.jsp
2、重启或添加节点:
$bin/hadoop-daemon.sh start datanode 
  
$bin/hadoop-daemon.sh start tasktracker
当然,添加的话需要copy配置文件到新节点。重启的话先  $bin/hadoop-daemon.sh stop datanode/ tasktracker

3、重新balancer(可选)

$bin/hadoop balancer
其实集群自己会balancer,当然也可以像上面那样手动balancer,不然在繁忙时段最好避免。
 
HBASE:
很多时候,节点失效是因为pid文件被删除引起(默认pid文件中/tmp下),所以最好把很多默认是/tmp的目录修改成自己的目录,比如hbase的pid配置可以在hbase-env.sh中,修改export HBASE_PID_DIR=/var/hadoop/pids就可以。hbase节点失效常对应60020端口异常。
进入hbase shell
1、查看节点情况:
status
当然,也可以通过web页面查看(如果服务开放的话):
http://serviceIp:60010/master.jsp

http://serviceIp:60030/regionserver.jsp

http://serviceIp:60010/zk.jsp

2、重启
$bin/hbase-daemon.sh stop regionserver
$bin/hbase-daemon.sh start regionserver
也可以添加新的master(默认只有一个master),$bin/hbase-daemon.sh start master

hbase 新增节点的更多相关文章

  1. 为hbase新增节点

    为hbase增加新的节点,首先要为hadoop增加新新街点.因为我的做法是将datanode和regionserver放到一台物理机上.因此大体流程是: 1.克隆已经存在的regionserver虚拟 ...

  2. 实验-hadoop新增节点

    关于hadoop新增节点网上的说法都有些差别,自己来实践一把 1.建立一个namenode一个datanode的集群 master:192.168.126.130 slave1:192.168.126 ...

  3. CDH5.16.1集群新增节点

    如果是全新安装集群的话,可以参考<Ubuntu 16.04上搭建CDH5.16.1集群> 下面是集群新增节点步骤: 1.已经存在一个集群,有两个节点 192.168.100.19 hado ...

  4. 解决jQuery ajax动态新增节点无法触发点击事件的问题

    在写ajax加载数据的时候发现,后面添加进来的demo节点元素,失去了之前的点击事件.为什么点击事件失效,我们该怎么去解决呢? 其实最简单的方法就是直接在标签中写onclick="" ...

  5. kubernetes 集群新增node 节点并将应用分配到新增节点

    第一章 1.重新安装一台kubernetes node节点,新增节点:192.168.1.192 网址:https://www.cnblogs.com/zoulixiang/p/9504324.htm ...

  6. Elastic search集群新增节点(同一个集群,同一台物理机,基于ES 7.4)

    一开始,在电脑上同一个集群新增节点(node)怎么试也不成功,官网guide又语焉不详?集群健康值yellow(表示主分片全部可用,部分复制分片不可用) 最后,在stackoverflow上找到了答案 ...

  7. redis 集群新增节点,slots槽分配,删除节点, [ERR] Calling MIGRATE ERR Syntax error, try CLIENT (LIST | KILL | GET...

    redis reshard 重新分槽(slots) https://github.com/antirez/redis/issues/5029 redis 官方已确认该bug redis 集群重新(re ...

  8. k8s系列--node(k8s节点介绍,新增节点,移除节点)

    一.简介 Node是Pod真正运行的主机,可以是物理机也可以是虚拟机. Node本质上不是Kubernetes来创建的, Kubernetes只是管理Node上的资源. 为了管理Pod,每个Node节 ...

  9. Spark集群新增节点方法

    Spark集群处理能力不足需要扩容,如何在现有spark集群中新增新节点?本文以一个实例介绍如何给Spark集群新增一个节点. 1. 集群环境 现有Spark集群包括3台机器,用户名都是cdahdp, ...

随机推荐

  1. CF 445A 简单DP

    今天早上找一道题的bug,还是找不出来,下午刷了几道水题,晚上准备回家的事, 然后本来想打CF的,一看,数学场,不打了. 这道题的题意: 给出一个序列,每次你可以从这个序列里面选择一个数ak,删除,然 ...

  2. JAVA 单选按钮、复选按钮

    //单选按钮和复选按钮 import java.awt.*; import javax.swing.*; public class Jiemian6 extends JFrame{ JPanel mb ...

  3. JAVA 方法重载

    方法的重载是指:一个类中可以定义有相同的名字,但参数不同的多个方法,调用时会根据不同的参数列表选择对应的方法. 实例: W.java public class W{ public void F(Str ...

  4. Yii 框架表单验证---实例

  5. zookeeper 监控 —— 阿里taokeeper

    TaoKeeper是一个围绕ZooKeeper做的监控与报表系统. 主要功能如下: 能够统计ZK集群连接数,Watcher数目 ,节点数等系列信息,并按一定规则进行一些聚合操作; 能够通过设置一些阈值 ...

  6. List<Object>和List<String>

    下面的代码在JAVA中是不可以的: import java.util.*; public class Test { public static void main(String[] args) { L ...

  7. 如何实现Oracle修改用户权限 .

    这里将介绍Oracle修改用户权限的实现过程,包括一些权限管理方面的东西.希望通过本文能对大家了解Oracle修改用户权限有所帮助. ORACLE数据库用户与权限管理 ORACLE是多用户系统,它允许 ...

  8. Ubuntu - Grub2.0修改默认启动项

    1. 我的环境: Ubuntu 10.04   2. 关键位置和文件: /boot/grub/grub.cfg 文件: /etc/grub.d/ 目录: /etc/default/grub 文件:   ...

  9. 《Code Complete》ch.16 控制循环

    WHAT? 反复执行的代码片段(你是第一天学编程吗) WHY? 知道如何使用及何时使用每一种循环是创建高质量软件的一个决定性因素 HOW? 检测位于循环开始/循环结尾 带退出的循环 进入循环 只从一个 ...

  10. Python面试里面的那些问题

    Q:Python里面的数据结构都有哪些? 答:str,list,tuple,set,frozenset,dict,以上是Python默认的数据结构,还有容器类型collections,其中包含:Cou ...