hadoop—集群维护手册
hadoop—集群维护手册

Had oop部分启动命令:start-all.sh停止命令:stop-all.shHadoop运行增加集群的存储量/节点如果只增加集群的存储量,建议增加Hadoop datanode节点。
步骤:1、停掉集群包括Hadoop和hbase,当然也可以不停掉,直接在hadoop namenode的配置文件Slave里添加新节点的host,别忘了在host文件里也要添加新添加的host名。
2、执行bin/start-all.sh启动集群3、以下选择一种1)如果不手动作平衡,插入的数据将会放在新添加的节点上。
以趋于平衡。
2)如果手动平衡,则 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,正常。
hadoop运维手册

目录一、hadoop服务启停 (2)各组件和对应的服务名 (2)一次完整的启动过程 (3)一次完整的关闭过程 (3)二、应用服务启停及说明 (3)系统说明: (3)启停说明: (4)三、常用的运维操作 (5)1、修改原有文件的备份数 (5)2、检查hadoop block健康状态 (5)3、更新调度器调度文件 (5)4、杀死正在运行的Job (5)5、离开safe mode (6)四、hdfs目录用途说明 (6)一、hadoop服务启停Hadoop服务启动:service <server_name> start,例:启动namenode为service hadoop-hdfs-namenode start说明:查看是否正常启动,首先看启动是的提示是否为[ok],其次jps查看是否有相应的进程名Hadoop服务停止:service <server_name> stop,例:停止namenode为service hadoop-hdfs-namenode stopzookeeper启动: zkServer.sh start说明:查看是否正常启动zkServer.sh status,查看状态,其中一台的状态为leader,其余均为followerzookeeper停止: zkServer.sh stop各组件和对应的服务名一次完整的启动过程1、启动所有zookeeper2、启动所有的JournalNode3、启动两台NameNode及zkfc,这里可以通过查看namenode的web页面,查看两台机器的状态,一台为active,另一台为standby4、启动所有的DataNode5、启动两台ResourceManager,这里可以通过查看resourceManager的web页面6、启动所有的NodeManager7、启动JobHistory一次完整的关闭过程1、停止JobHistory2、停止所有的NodeManager3、停止两台ResourceManager4、停止所有的DataNode5、停止两台NameNode及ZKFC6、停止所有的JournalNode7、停止所有的zookeeper二、应用服务启停及说明系统说明:应用系统均分为前台和后台,前台为tomcat服务器,后台为shell脚本,对应关系如下表格启停说明:各个应用系统启动类似,特做统一说明,注意:所有服务必须使用tools用户启动,即所有启动操作均需要切换成tools用户再操作前台启动:启动tomcat:cd /opt/app/apache-tomcat-6.0.35/bin./startup.sh停止tomcatcd /opt/app/apache-tomcat-6.0.35/bin./shutdown.sh后台启动:启动:启动上述表格中后台启动shell即可。
cdh运维手册

cdh运维手册CDH运维手册是一份详细介绍CDH(Cloudera Distribution of Hadoop)运维过程的指南。
本文旨在帮助运维人员更好地掌握CDH的部署、管理、维护及优化方法,以确保集群稳定高效运行。
I.引言CDH是基于Apache Hadoop的分布式大数据处理平台,包括Hadoop、Spark、Hive、Pig等组件。
在实际应用中,CDH面临着复杂的运维挑战。
为了提高运维效率,降低故障风险,我们需要深入了解CDH的运维流程。
II.CDH简介CDH(Cloudera Distribution of Hadoop)是Cloudera公司推出的一款大数据处理平台。
它包含了Hadoop的核心组件,如HDFS、YARN、MapReduce等,以及一系列数据处理工具,如Spark、Hive、Pig等。
CDH 提供了一整套大数据解决方案,满足企业在数据存储、分析、挖掘等方面的需求。
III.CDH运维流程A.环境搭建:根据业务需求,选择合适的硬件资源、网络环境和操作系统。
搭建CDH集群,包括配置核心组件和相关工具。
B.数据迁移:将原始数据迁移至CDH集群,根据数据特点选择合适的存储格式和压缩算法。
C.运维管理:监控CDH集群的运行状态,包括资源使用情况、任务进度、日志等。
定期进行性能评估,优化集群配置。
D.故障排查:遇到问题时,快速定位故障原因,采取相应措施进行解决。
E.性能优化:针对CDH集群的性能瓶颈,采取调整参数、优化任务流程等措施,提高集群性能。
F.安全防护:确保CDH集群的安全性,防范外部攻击和内部安全风险。
IV.运维工具与技巧A.常用工具:掌握CDH运维过程中所需的常用工具,如Hadoop DistCp、Hive Query、Spark Submission等。
B.自动化脚本:编写自动化脚本,实现批量任务调度、日志收集、性能监控等功能。
C.监控与报警:搭建CDH集群监控系统,实现实时报警,确保问题及时发现并处理。
hadoop—集群维护手册.doc

Had oop部分启动命令:start-all.sh停止命令:stop-all.shHadoop运行增加集群的存储量/节点如果只增加集群的存储量,建议增加Hadoop datanode节点。
步骤:1、停掉集群包括Hadoop和hbase,当然也可以不停掉,直接在hadoop namenode的配置文件Slave里添加新节点的host,别忘了在host文件里也要添加新添加的host名。
2、执行bin/start-all.sh启动集群3、以下选择一种1)如果不手动作平衡,插入的数据将会放在新添加的节点上。
以趋于平衡。
2)如果手动平衡,则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,正常。
Hadoop集群管理和运维

本地计算文件夹剩余空间低 于该值则不再申请新的任务, 字节数
60000
TT在这个时间内没有发送心 跳,则认为TT已经挂了。单
位毫秒
默认每个job所使用的map数,
意思是假设设置dfs块大小为
2
64M,需要排序一个60M的文 件,也会开启2个map线程,
当jobtracker设置为本地是不
起作用。
专注开源技术在线培训
fs.checkpoຫໍສະໝຸດ nt.dir/opt/data/hadoop1/hdfs/n amesecondary1
定义hadoop的name备份 的路径,官方文档说是读
取这个,写入 .dir
fs.checkpoint.period
1800
定义name备份的备份间 隔时间,秒为单位,只对
snn生效,默认一小时
org.apache. hadoop.ma pred. JobQueueT askSchedul er
LOGO
Hadoop集群管理和运维
廖旻可
专注开源技术在线培训
培训调查
• 1.关注 hadoop集群架构?开发? • 2.单位业务有集群否?有的话,规模? • 3.本次培训期望收获?
专注开源技术在线培训
议程
• 1.hadoop规划,集群安装及配置 • 2.hadoop配置讲解 • 3.hadoop集群正式环境快速安装 • 4.hadoop集群管理 • 5.hadoop集群调优 • 6.hadoop运维常见故障
1073741824
本地运算文件夹剩余空间低 于该值则不在本地做计算。 字节配置
mapred.local.dir. minspacekill
mapred.tasktrack er.expiry.interval
hadoop集群的基本操作

hadoop集群的基本操作
Hadoop是一个开源的分布式计算系统,采用HDFS存储数据,通过MapReduce实现大规模数据处理和分析。
以下是Hadoop集群的一些基本操作:
1. 启动与关闭Hadoop集群:使用start-all.sh脚本启动Hadoop集群,使用stop-all.sh脚本关闭Hadoop集群。
2. 管理HDFS文件系统:使用hadoop fs命令可以对HDFS文件系统进行管理,如创建目录、上传下载文件、删除文件等。
3. 提交MapReduce作业:使用hadoop jar命令提交MapReduce 作业,需要指定作业的jar包、输入输出路径、作业配置等参数。
4. 监控Hadoop集群:可以通过Web界面查看Hadoop集群的运行状态,包括HDFS存储容量、MapReduce作业状态等。
5. 配置Hadoop集群:可以通过修改Hadoop集群的配置文件来改变集群运行的参数,如增加数据备份、优化作业调度等。
6. 维护Hadoop集群:定期进行日志清理、备份数据、优化集群配置等操作,保证集群的高可靠性和高性能。
以上是Hadoop集群的一些基本操作,可以帮助用户快速上手Hadoop分布式计算系统。
Hadoop集群配置详细解读

从当前用户切换root用户的命令如下:
Linux系统配置
操作步骤需要在HadoopMaster和HadoopSlave节点
上分别完整操作,都是用root用户。 从当前用户切换root用户的命令如下:
su root
从当前用户切换root用户的命令如下:
Linux系统配置
1拷贝软件包和数据包 mv ~/Desktop/software ~/
所有的操作都是用自定义用户(dhx)
su dhx
Hadoop安装包解压
cp hadoop-1.2.1.tar.gz ~/
cd
tar -zxvf hadoop-1.2.1.tar.gz
cd hadoop-1.2.1
从当前用户切换root用户的命令如下: 编辑主机名列表的命令
Hadoop集群配置手册(详细) 太原理工大学 邓红霞
提 纲
启动两台虚拟客户机
Linux系统配置 Hadoop配置部署 启动Hadoop集群 HDFS下的文件操作 Eclipse在Hadoop中的使用及配置
启动两台虚拟客户机
打开VMware Workstation10,打开已经安装好 的虚拟机HadoopMaster和HadoopSlave 。 如果之前没有打开过两个虚拟机,请使用文件 ->打开选项,选择之前的虚拟安装包。
Linux系统配置
6配置hosts列表 编辑主机名列表的命令,并添加如下两行到文件 gedit /etc/hosts 192.168.58.128 master 192.168.58.129 slave ping master ping slave
从当前用户切换root用户的命令如下: 编辑主机名列表的命令
大数据技术基础培训-Hadoop集群管理与维护

dfs.replication
•
dfs.blocksize
—
TRANSWARP © 2013
17
hdfs-site.xml高级配置参数
• • • node.handler.count
— NameNode处理DataNode RPC请求的线程数,默认值为10,推荐为DataNode节点数的10%
TRANSWARP © 2013
3
Hadoop集群优化配置和部署
• • • Hadoop集群规划 Hadoop集群基本配置参数 Hadoop集群高级配置参数
TRANSWARP © 2013
4
Hadoop集群规划
• • 规划集群需要使用的Hadoop的服务
— 服务包括:ZooKeeper,HDFS,MapReduce,Inceptor,HBase,Hive等
规划集群的节点角色
— 根据需要使用的服务为节点指定角色,如NameNode、Inceptor Master等
•
规划集群的硬件配置
— 如服务器数量,机架分布,每台机器的CPU型号以及磁盘、内存的大小
•
规划集群的网络
— 包括网络拓扑,交换机型号以及机器网卡型号
TRANSWARP © 2013
5
集群服务角色规划
ZooKeeper,NameNode,Secondary NameNode,Journal Node,JobTracker, HBase Master,Hive Metastore,Hive Server,Inceptor Master
•
从节点角色包括:
DataNode,TaskTracker,HBase RegionServer,Inceptor Worker
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Had oop部分启动命令:start-all.sh停止命令:stop-all.shHadoop运行增加集群的存储量/节点如果只增加集群的存储量,建议增加Hadoop datanode节点。
步骤:1、停掉集群包括Hadoop和hbase,当然也可以不停掉,直接在hadoop namenode的配置文件Slave里添加新节点的host,别忘了在host文件里也要添加新添加的host名。
2、执行bin/start-all.sh启动集群3、以下选择一种1)如果不手动作平衡,插入的数据将会放在新添加的节点上。
以趋于平衡。
2)如果手动平衡,则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则不必。
如果执行完平衡以后才改变副本数,会将新加入到新节点上的所有数据删除。
dfs.replication设置的副本系数只在文件系统写入时有效,并不影响在新添加节点时,平衡时的副本数;另外:由于还有hbase数据库,因此,在运行完平衡以后,将hbase下的.META.文件删除(防止出错),启动hbase,执行hbase org.jruby.Main add_table /表名来进行hbase表恢复;Hadoop1升级1.运行dfsadmin -upgradeProgress status 检查是否存在备份如果是第一次升级就不存在备份(在升级Hadoop前,如果已经存在备份,需要先结束finalize 它。
)2.备份node.dir下文件,同时要备份下hdfs的文件目录的元数据信息:bin/hadoop fsck / -files -blocks -locations > dfs-v-old-fsck-1.logbin/hadoop dfs -lsr / > dfs-v-old-lsr-1.logbin/hadoop dfsadmin -report > dfs-v-old-report-1.log3.停止所有节点bin/stop-all.sh4.在所有节点上重新部署hadoop 并替换conf文件夹下所有文件(就是将原有的hadoop-0.19.1更名为hadoop-0.19.1-oldverstion,然后解压hadoop-0.19.2.tar.gz 将0.19.2中的conf文件替换为0.19.1中的conf文件夹)并且要对照修改hadoop-site.xml中的路径指定是否正确5.使用bin/start-dfs.sh -upgrade 进行升级(DFS从一个版本升级到另外一个版本的时候,NameNode和DataNode使用的文件格式有可能会改变。
当你第一次使用新版本的时候,你要告诉Hadoop 去改变HDFS版本,否则,新版本不会生效)6.监控升级情况和升级问题处理开始升级,你可以通过bin/hadoop dfsadmin -upgradeProgress命令来查看版本升级的情况。
当然你可以使用bin/hadoop dfsadmin -upgradeProgress details来查看更多的详细信息。
当升级过程被阻塞的时候,你可以使用bin/hadoop dfsadmin -upgradeProgress force来强制升级继续执行(当你使用这个命令的时候,一定要慎重考虑)。
当HDFS升级完毕后,Hadoop依旧保留着旧版本的有关信息,以便你可以方便的对HDFS进行降级操作。
可以使用bin/start-dfs.sh -rollback来执行降级操作。
7.对比现有hdfs的文件目录的元数据信息和升级的差异。
8.升级完成,Hadoop一次只保存一个版本的备份,当新版本运行几天以后还是没有出现什么问题,你就可以使用运行一段时间后没有问题再执行升级终结操作bin/hadoop dfsadmin -finalizeUpgrade命令把旧版本的备份从系统中删掉了。
删除以后rollback 命令就失效了。
HdfsMapreduceHbase部分启动命令:start-hbase.sh如果一个regionserver死掉了,可以执行该命令启动,也可以启动整个hbase;停止命令:stop-hbase.sh停止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(配置文件中hbase.hregion.majorcompaction设为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_switch true或者balance_switch flase,配置master是否执行平衡各个regionserver的region 数量,当我们需要维护或者重启一个regionserver时,会关闭balancer,这样就使得region在regionserver上的分布不均,这个时候需要手工的开启balance。
3.重启一个regionserverbin/graceful_stop.sh --restart --reload --debug nodename这个操作是平滑的重启regionserver进程,对服务不会有影响,他会先将需要重启的regionserver上面的所有region迁移到其它的服务器,然后重启,最后又会将之前的region迁移回来,但我们修改一个配置时,可以用这种方式重启每一台机子,这个命令会关闭balancer,所以最后我们要在hbase shell里面执行一下balance_switch true,对于hbase regionserver重启,不要直接kill进程,这样会造成在zookeeper.session.timeout这个时间长的中断,也不要通过bin/hbase-daemon.sh stop regionserver去重启,如果运气不太好,-ROOT-或者.META.表在上面的话,所有的请求会全部失败。
4.关闭下线一台regionserverbin/graceful_stop.sh --stop nodename和上面一样,系统会在关闭之前迁移所有region,然后stop进程,同样最后我们要手工balance_switch true,开启master的region均衡。