hadoop—集群维护手册_第1页
hadoop—集群维护手册_第2页
hadoop—集群维护手册_第3页
hadoop—集群维护手册_第4页
hadoop—集群维护手册_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Hadoop 部分启动命令:停止命令:Hadoop 运行增加集群的存储量 / 节点如果只增加集群的存储量,建议增加Hadoop datanode 节点步骤:1、停掉集群包括 Hadoop 和 hbase ,当然也可以不停掉,直接在 hadoop namenode 的配置文件 Slave 里添 加新节点的 host ,别忘了在 host 文件里也要添加新添加的 host 名2、执行 bin/ 启动集群3、以下选择一种 1) 如果不手动作平衡,插入的数据将会放在新添加的节点上。以趋于平衡。2) 如果手动平衡,则 和调用 bin/sHadoop balancer 命令相似,也可加参数 -thresh

2、old 5 ( threshold在使用时,如果在里面没有,我们可以通过在里面配置是平衡阈值,默认是 10%,值越低各节点越平衡,但消耗时间也更长)配置,那么集群 hdfs 内部默认使用 1M/S 的速度移动数据 (so slowly.)来加快 balance 的速度最开始我们配置的是20m/S ,然后结果是导致job 运行变得不稳定,出现一些意外的长 map 单元,某些 reduce 时间处理变长 ( 整个集群负载满满的情况下,外加 20m/s 的balance),在前天的中国hadoop年会上听淘宝调整的为 10m/s,需要调整后实验,看看情况如何。另外再修改参数后,需要在namenode

3、上运行重启hdfs生效。我们可以通过停掉平衡任务。作完平衡后,启动hbase,正常。果cluster设置的副本数不为 3(默认),需要先运行命令hadoop fs - setrep-R <path> ;进行设置一个文件的副本系数。如果默认为 3则不必。如果执行完平衡以后才改变副本数,会将新加入到新节点上的所有数据删除。 设置的副本系数只在文件系统写入时有效,并不影响在新添加节点时,平衡时的副本数;另外:由于还有hbase数据库,因此,在运行完平衡以后,将hbase下的.META.文件删除(防止出错)启动hbase,执行 hbase add_table / 表名 来进行 hbase表

4、恢复;Hadoopl 升级1. 运行dfsadmin -upgradeProgress status检查是否存在备份如果是第一次升级就不存在备份(在升级Hadoop前,如果已经存在备份,需要先结束finalize 它。)2. 备份下文件,同时要备份下hdfs的文件目录的元数据信息:bin/hadoop fsck / -files -blocks -locations >bin/hadoop dfs -lsr / >bin/hadoop dfsadmin -report >3. 停止所有节点bin/4. 在所有节点上重新部署hadoop并替换conf文件夹下所有文件(就是将原有

5、的更名为然后解压将中的conf文件替换为中的 conf文件夹)并且要对照修改中的路径指定是否正确5. 使用bin/ -upgrade进行升级(DFS从一个版本升级到另外一个版本的时候,NameNode和DataNode使用的文件格式有可能会改变。当你第一次使用新版本的时候,你要告诉Hadoop去改变HDFS版本,否则,新版本不会生效)6. 监控升级情况和升级问题处理开始升级,你可以通过bin/hadoop dfsadm in -upgradeProgress命令来查看版本升级的情况。当然你可以使用bin/hadoop dfsadm in -upgradeProgress details来查看更

6、多的详细信息。当升级过程被阻塞的时候,你可以使用bin/hadoop dfsadm in -upgradeProgress force来强制升级继续执行(当你使用这个命令的时候,一定要慎重考虑)。当HDFS升级完毕后,Hadoop依旧保留着旧版本的有关信息,以便你可以方便的对HDFS进行降级操作。可以使用bin/ -rollback来执行降级操作。7. 对比现有hdfs的文件目录的元数据信息和升级的差异。8. 升级完成,Hadoop 一次只保存一个版本的备份,当新版本运行几天以后还是没有岀现什么问题,你就可以使用运行一段时间后没有问题再执行升级终结操作bin/hadoop dfsadm in

7、-fin alizeUpgrade命令把旧版本的备份从系统中删掉了。删除以后rollback命令就失效了。HdfsMapreduceHbase部分启动命令:如果一个regionserver 死掉了,可以执行该命令启动,也可以启动整个hbase ;停止命令:停止hbase运行的命令日常维护1. 基本命令建表: create 'testtable','coulmn1','coulmn2'也可以建表时加 coulmn 的属性如: create 'testtable',NAME => 'coulmn1', BLOOM

8、FILTE=R> 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '10', COMPRESSION => 'LZO', TTL => '30000', IN_MEMORY => 'false', BLOCKCACHE => 'false', NAME => 'coulmn', BLOOMFILTER => 'NONE', REPLICATION_SCOP

9、E => '0', VERSIONS => '30', COMPRESSION => 'LZO', TTL => '30000', IN_MEMORY => 'true' ( 其中的属 性有versions :设置历史版本数,TTL:过期时间,COMPRESSION压缩方式,当配置Izo的情况)删除表: drop 'testtable'(删除表之前先要禁用表,命令 disable 'testtable' )启用和禁用表: enabIe 'test

10、tabIe' 和 disabIe 'testtabIe'其它的基本命令: describe 'testtabIe' (查看表结构), aIert 修改表结构, Iist 列出所有表。2. 维护命令1 , major_compact 'testtabIe' ,通常生产环境会关闭自动 major_compact( 配置文件中设 为 0) ,选 择一个晚上用户少的时间窗口手工 major_compact ,如果 hbase 更新不是太频繁,可以一个星期对所有表 做一次 major_compact ,这个可以在做完一次 major_compact

11、 后,观看所有的 storefiIe 数量,如果 storefiIe 数量增加到 major_compact 后的 storefiIe 的近二倍时,可以对所有表做一次 major_compact , 时间比较长,操作尽量避免高锋期。2 ,flush 'testtable' ,将所有 memstore刷新到hdfs,通常如果发现regionserver 的内存使用过大, 造成该机的 regionserver 很多线程 bIock ,可以执行一下 fIush 操作,这个操作会造成 hbase 的 storefiIe 数量剧增,应尽量避免这个操 作,还有一种情况,在 hbase 进行

12、迁移的时候,如果选择拷贝文件方式,可 以先停写入,然后 flush 所有表,拷贝文件。3 , balance_switch true 或者 balance_switch flase ,配置 master 是否执行平衡各个 regionserver 的 region 数量,当我们需要维护或者重启一个 regionserver 时,会 关闭 balancer ,这样就使得 region 在 regionserver 上的分布不均,这个时候需要手工的开启 balance 。3. 重启一个 regi on serverbin/ -restart -reload -debug nodename这个操作是

13、平滑的重启regionserver进程,对服务不会有影响,他会先将需要重启的regionserver上面的所有region 迁移到其它的服务器,然后重启,最后又会将之前的region迁移回来,但我们修改一个配置时,可以用这种方式重启每一台机子,这个命令会关闭balancer,所以最后我们要在hbase shell里面执行一下 balance_switch true ,对于hbase regionserver 重启,不要直接 kill进程,这样会造成在这个时间长的中断,也不要通过bin/ stop regionserver 去重启,如果运气不太好,-ROOT或者.META.表在上面的话,所有的请

14、求会全部失败。4. 关闭下线一台 region serverbin/ -stop nodename和上面一样,系统会在关闭之前迁移所有region,然后stop进程,同样最后我们要手工balance_switchtrue,开启 master 的 region 均衡。5. 检查region是否正常以及修复bin/hbase hbck ( 检查)bin/hbase hbck -fix(修复)会返回所有的region是否正常挂载,如没有正常挂载可以使用下一条命令修复,如果还是不能修复, 那需要看日志为什么失败,手工处理。6. hbase的迁移copytable 方式bin/hbase =zookee

15、per1,zookeeper2,zookeeper3:/hbase 'testtable'目前之前的版本的不支持多版本的复制,已经支持多个版本的复制。当然这个操作需要添加hbase目录里的conf/,可以复制hadoop的过来。Export/lmportbin/hbase testtable /user/testtable versions starttime stoptimebin/hbase testtable /user/testtable跨版本的迁移,我觉得是一个不错的选择,而且copytable不支持多版本,而export支持多版本,比copytable 更实用一些。

16、直接拷贝hdfs对应的文件首先拷贝hdfs文件,如bin/hadoop distcp然后在目的 hbase上执行bin/hbase bin/hbase/testtable生成meta信息后,重启 hbase这个操作是简单的方式,操作之前可以关闭hbase的写入,执行flush所有表(上面有介绍), 再distcp拷贝,如果hadoop版本不一致,可以用hftp接口的方式,我推荐使用这种方式,成本 低。HBase升级在版本,提供了升级命令,当然需要预先将低版本的升级到或者更高版本时,需要使用升级命令;Hbase命令提供了如下的选项;echo "Usage: hbase <opti

17、ons> <command> <args>"echo "Options:"echo " -config DIR Configuration direction to use. Default: ./conf"echo " -hosts HOSTS Override the list in 'regionservers' file"echo ""echo "Commands:"echo "Some commands take arg

18、uments. Pass no args or -h for usage."echo " shell Run the HBase shell"echo " hbck Run the hbase 'fsck' tool"echo " hlog Write-ahead-log analyzer"echo " hfileStore file analyzer"echo " zkcliRun the ZooKeeper shell"echo " upgradeUpgr

19、ade hbase"echo " masterRun an HBase HMaster node"echo " regionserver Run an HBase HRegionServer node"echo " zookeeper Run a Zookeeper server"echo " restRun an HBase REST server"echo " thriftRun the HBase Thrift server"echo " thrift2Run the HBase Thrift2 server"echo " cleanRun the HBase clean up script"echo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论