关于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. Mybatis where 1=1 和 <where>标签

    <select id="selSampleListByIDX4" resultMap="BaseResultMap" parameterType=&quo ...

  2. Jmeter监控系统等资源,ServerAgent端口的修改

    默认情况下在下载的ServerAgent下,如果服务是windows系统,则直接启动"startAgent.bat"即可,如果是Linux系统,则直接启动"./start ...

  3. Android应用框架浅析

    http://blog.csdn.net/yanbober/article/category/3206943 Android应用层View绘制流程与源码分析   http://blog.csdn.ne ...

  4. rhel5 新建用户提示:the home directory already exists.

    rhel5 新建用户提示:the home directory already exists.(as4不存在这个问题) 环境如下: [oracle@rhel5 ~]$ df -hFilesystem  ...

  5. java模拟用户登录(排除没有验证码情况下,抓取网页信息)

    import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import j ...

  6. 黑马程序员_JAVA基础知识总结2

    ------- android培训.java培训.期待与您交流! ---------- IDE ---> Itegrity Development Environment Java EE --- ...

  7. jdk1.6官方下载地址

    jdk1.6: http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javas ...

  8. OC基础(5)

    #pragma mark指令 description方法 OC多文件开发介绍 *:first-child { margin-top: 0 !important; } body > *:last- ...

  9. 消除PyCharm中满屏的波浪线

    PyCharm使用了较为严格的PEP8的检查规则,如果代码命名不规范,甚至多出的空格都会被波浪线标识出来,导致整个编辑器里铺满了波浪线,右边的滚动条也全是黄色或灰色的标记线,很是影响编辑. 在网上看了 ...

  10. Flex 中文字体终极解决方案

    一直以来Flash对中文的支持就不是很好,很多人都发现很多汉字在Flex中无法设置粗体,就是其中一个表现,经过一晚上的折腾,终于突破了这个难题,其实,答案就在Adobe的官方教程里,只能怪自己英文水平 ...