hadoop集群维护手册.docx

上传人:b****1 文档编号:14999294 上传时间:2023-06-29 格式:DOCX 页数:8 大小:18.95KB
下载 相关 举报
hadoop集群维护手册.docx_第1页
第1页 / 共8页
hadoop集群维护手册.docx_第2页
第2页 / 共8页
hadoop集群维护手册.docx_第3页
第3页 / 共8页
hadoop集群维护手册.docx_第4页
第4页 / 共8页
hadoop集群维护手册.docx_第5页
第5页 / 共8页
hadoop集群维护手册.docx_第6页
第6页 / 共8页
hadoop集群维护手册.docx_第7页
第7页 / 共8页
hadoop集群维护手册.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

hadoop集群维护手册.docx

《hadoop集群维护手册.docx》由会员分享,可在线阅读,更多相关《hadoop集群维护手册.docx(8页珍藏版)》请在冰点文库上搜索。

hadoop集群维护手册.docx

hadoop集群维护手册

Hadoop部分

启动命令:

停止命令:

Hadoop运行

增加集群的存储量/节点

如果只增加集群的存储量,建议增加Hadoopdatanode节点。

步骤:

1、停掉集群包括Hadoop和hbase,当然也可以不停掉,直接在hadoopnamenode的配置文件Slave里添加新节点的host,别忘了在host文件里也要添加新添加的host名。

2、执行bin/启动集群

3、以下选择一种

1)如果不手动作平衡,插入的数据将会放在新添加的节点上。

以趋于平衡。

2)如果手动平衡,则和调用bin/sHadoopbalancer命令相似,也可加参数-threshold5(threshold是平衡阈值,默认是10%,值越低各节点越平衡,但消耗时间也更长)。

在使用时,如果在里面没有配置,那么集群hdfs内部默认使用1M/S的速度移动数据(soslowly...),我们可以通过在里面配置来加快balance的速度。

最开始我们配置的是20m/S,然后结果是导致job运行变得不稳定,出现一些意外的长map单元,某些reduce时间处理变长(整个集群负载满满的情况下,外加20m/s的balance),在前天的中国hadoop年会上听淘宝调整的为10m/s,需要调整后实验,看看情况如何。

另外再修改参数后,需要在namenode上运行重启hdfs生效。

我们可以通过停掉平衡任务。

作完平衡后,启动hbase,正常。

果cluster设置的副本数不为3(默认),需要先运行命令hadoopfs–setrep[-R]

进行设置一个文件的副本系数。

如果默认为3则不必。

如果执行完平衡以后才改变副本数,会将新加入到新节点上的所有数据删除。

设置的副本系数只在文件系统写入时有效,并不影响在新添加节点时,平衡时的副本数;

另外:

由于还有hbase数据库,因此,在运行完平衡以后,将hbase下的.META.文件删除(防止出错),启动hbase,执行hbaseadd_table/表名来进行hbase表恢复;

Hadoop1升级

1.运行dfsadmin-upgradeProgressstatus检查是否存在备份如果是第一次升级就不存在备份(在升级Hadoop前,如果已经存在备份,需要先结束finalize它。

2.备份下文件,同时要备份下hdfs的文件目录的元数据信息:

bin/hadoopfsck/-files-blocks-locations>

bin/hadoopdfs-lsr/>

bin/hadoopdfsadmin-report>

3.停止所有节点bin/

4.在所有节点上重新部署hadoop并替换conf文件夹下所有文件(就是将原有的更名为然后解压将中的conf文件替换为中的conf文件夹)

并且要对照修改中的路径指定是否正确

5.使用bin/-upgrade进行升级(DFS从一个版本升级到另外一个版本的时候,NameNode和DataNode使用的文件格式有可能会改变。

当你第一次使用新版本的时候,你要告诉Hadoop去改变HDFS版本,否则,新版本不会生效)

6.监控升级情况和升级问题处理

开始升级,你可以通过

bin/hadoopdfsadmin-upgradeProgress

命令来查看版本升级的情况。

当然你可以使用

bin/hadoopdfsadmin-upgradeProgressdetails

来查看更多的详细信息。

当升级过程被阻塞的时候,你可以使用

bin/hadoopdfsadmin-upgradeProgressforce

来强制升级继续执行(当你使用这个命令的时候,一定要慎重考虑)。

当HDFS升级完毕后,Hadoop依旧保留着旧版本的有关信息,

以便你可以方便的对HDFS进行降级操作。

可以使用bin/-rollback来执行降级操作。

7.对比现有hdfs的文件目录的元数据信息和升级的差异。

8.升级完成,Hadoop一次只保存一个版本的备份,当新版本运行几天以后还是没有出现什么问题,你就可以使用运行一段时间后没有问题再执行升级终结操作

bin/hadoopdfsadmin-finalizeUpgrade

命令把旧版本的备份从系统中删掉了。

删除以后rollback命令就失效了。

Hdfs

Mapreduce

Hbase部分

启动命令:

如果一个regionserver死掉了,可以执行该命令启动,也可以启动整个hbase;

停止命令:

停止hbase运行的命令.

日常维护

1.基本命令

建表:

create'testtable','coulmn1','coulmn2'

也可以建表时加coulmn的属性如:

create'testtable',{NAME=>'coulmn1',BLOOMFILTER=>'NONE',REPLICATION_SCOPE=>'0',VERSIONS=>'10',COMPRESSION=>'LZO',TTL=>'30000',IN_MEMORY=>'false',BLOCKCACHE=>'false'},{NAME=>'coulmn',BLOOMFILTER=>'NONE',REPLICATION_SCOPE=>'0',VERSIONS=>'30',COMPRESSION=>'LZO',TTL=>'30000',IN_MEMORY=>'true'}(其中的属性有versions:

设置历史版本数,TTL:

过期时间,COMPRESSION:

压缩方式,当配置lzo的情况)

删除表:

drop'testtable'(删除表之前先要禁用表,命令disable'testtable')

启用和禁用表:

enable'testtable'和disable'testtable'

其它的基本命令:

describe'testtable'(查看表结构),alert修改表结构,list列出所有表。

2.维护命令

1,major_compact'testtable',通常生产环境会关闭自动major_compact(配置文件中设为0),选择一个晚上用户少的时间窗口手工major_compact,如果hbase更新不是太频繁,可以一个星期对所有表做一次major_compact,这个可以在做完一次major_compact后,观看所有的storefile数量,如果storefile数量增加到major_compact后的storefile的近二倍时,可以对所有表做一次major_compact,时间比较长,操作尽量避免高锋期。

2,flush'testtable',将所有memstore刷新到hdfs,通常如果发现regionserver的内存使用过大,造成该机的regionserver很多线程block,可以执行一下flush操作,这个操作会造成hbase的storefile数量剧增,应尽量避免这个操作,还有一种情况,在hbase进行迁移的时候,如果选择拷贝文件方式,可以先停写入,然后flush所有表,拷贝文件。

3,balance_switchtrue或者balance_switchflase,配置master是否执行平衡各个regionserver的region数量,当我们需要维护或者重启一个regionserver时,会关闭balancer,这样就使得region在regionserver上的分布不均,这个时候需要手工的开启balance。

3.重启一个regionserver

bin/--restart--reload--debugnodename

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

4.关闭下线一台regionserver

bin/--stopnodename

和上面一样,系统会在关闭之前迁移所有region,然后stop进程,同样最后我们要手工balance_switchtrue,开启master的region均衡。

5.检查region是否正常以及修复

bin/hbasehbck(检查)

bin/hbasehbck-fix(修复)

会返回所有的region是否正常挂载,如没有正常挂载可以使用下一条命令修复,如果还是不能修复,那需要看日志为什么失败,手工处理。

6.hbase的迁移

copytable方式

bin/hbase=zookeeper1,zookeeper2,zookeeper3:

/hbase'testtable'

目前之前的版本的不支持多版本的复制,已经支持多个版本的复制。

当然这个操作需要添加hbase目录里的conf/,可以复制hadoop的过来。

Export/Import

bin/hbasetesttable/user/testtable[versions][starttime][stoptime]

bin/hbasetesttable/user/testtable

跨版本的迁移,我觉得是一个不错的选择,而且copytable不支持多版本,而export支持多版本,比copytable更实用一些。

直接拷贝hdfs对应的文件

首先拷贝hdfs文件,如bin/hadoopdistcp然后在目的hbase上执行bin/hbasebin//hbase/testtable

生成meta信息后,重启hbase

这个操作是简单的方式,操作之前可以关闭hbase的写入,执行flush所有表(上面有介绍),再distcp拷贝,如果hadoop版本不一致,可以用hftp接口的方式,我推荐使用这种方式,成本低。

HBase升级

在版本,提供了升级命令,当然需要预先将低版本的升级到或者更高版本时,需要使用升级命令;

Hbase命令提供了如下的选项;

echo"Usage:

hbase[][]"

echo"Options:

"

echo"--configDIRConfigurationdirectiontouse.Default:

./conf"

echo"--hostsHOSTSOverridethelistin'regionservers'file"

echo""

echo"Commands:

"

echo"Somecommandstakearguments.Passnoargsor-hforusage."

echo"shellRuntheHBaseshell"

echo"hbckRunthehbase'fsck'tool"

echo"hlogWrite-ahead-loganalyzer"

echo"hfileStorefileanalyzer"

echo"zkcliRuntheZooKeepershell"

echo"upgradeUpgradehbase"

echo"masterRunanHBaseHMasternode"

echo"regionserverRunanHBaseHRegionServernode"

echo"zookeeperRunaZookeeperserver"

echo"restRunanHBaseRESTserver"

echo"thriftRuntheHBaseThriftserver"

echo"thrift2RuntheHBaseThrift2server"

echo"cleanRuntheHBasecleanupscript"

echo"classpathDumphbaseCLASSPATH"

echo"versionPrinttheversion"

echo"CLASSNAMERuntheclassnamedCLASSNAME"

其中“hbaseupgrade”就是升级命令;

升级步骤:

1、根据低版本的配置(conf目录下),修改高版本的配置(conf),hbase的pid文件目录和数据目录都不用修改,zk的配置都可以不更改,日志目录可以改变

2、拷贝必要的包到高版本hbase的lib目录下,例如:

当前的hadoop核心包

3、修改环境变量的HBASE_HOME目录,如果环境变量中配置了HBASELIB目录下的包,需要检查高版本是否存在,进行相应更改

4、同步到集群的其他机器中

5、执行“hbaseupgrade”更新命令,目的是更新当前hbase版本等内容

6、在主节点上执行””命令

7、检查hbase是否启动成功

Hive部分

Root用户登录后

启动命令:

servicehiveserverstart

重启命令:

servicehiveserverrestart

停止命令:

servicehiveserverstop

查看状态命令:

servicehiveserverstatus

以上命令是给远程调用时的服务;

直接在终端操作hive,以上服务可以不启动。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2