hadoop—集群维护手册
- 格式:doc
- 大小:52.50 KB
- 文档页数:6
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服务启停 (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(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集群监控系统,实现实时报警,确保问题及时发现并处理。
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是一个开源的分布式计算系统,采用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分布式计算系统。
HDFS 维护手册(0.19.1)1HDFS概述HDFS是Hadoop应用用到的一个最主要的分布式存储系统。
一个HDFS集群主要由一个NameNode和很多个Datanode组成:Namenode管理文件系统的元数据,而Datanode存储了实际的数据。
本文档主要关注用户以及管理员怎样和HDFS进行交互。
基本上,客户端联系Namenode以获取文件的元数据或修饰属性,而真正的文件I/O操作是直接和Datanode进行交互的。
本文档从介绍如何安装和搭建HDFS集群入手,接着常用的文件系统命令,以及维护过程中涉及到的控制命令。
2HDFS集群部署2.1安装1) 用户从hadoop官方网站下载所需版本的安装文件,下载地址为:/core/releases.html#Download;本文档选取的版本为hadoop-0.19.1;2) 将下载的压缩文件解压,目录为./hadoop-0.19.1,按照附录《hdfs 测试组网方案》中系统参数配置部分,修改./hadoop-0.19.1/conf中的文件;3) 检查所有服务器上是否安装了J2sdk,要求版本为1.5及以上;并建立安装目录到/usr/local/j2sdk的软链接;4) 将hadoop目录上传到所有的服务器,放置在${HADOOP_HOME}目录下;5) 挂载namenode和secondary namenode的fsimage,editslogs备份目录;2.2启动1) 进入namenode的${HADOOP_HOME};2) 格式化namenode文件系统,执行命令:bin/hadoop namenode –format;3) 启动hdfs,执行命令:bin/start-dfs.sh。
该脚本首先启动namenode,然后读取./conf/slaves中的datanode列表,逐个启动;最后读取./conf/masters中secondary namenode 地址,启动secondary namenode。
hadoop 操作手册Hadoop 是一个分布式计算框架,它使用 HDFS(Hadoop Distributed File System)存储大量数据,并通过 MapReduce 进行数据处理。
以下是一份简单的 Hadoop 操作手册,介绍了如何安装、配置和使用 Hadoop。
一、安装 Hadoop1. 下载 Hadoop 安装包,并解压到本地目录。
2. 配置 Hadoop 环境变量,将 Hadoop 安装目录添加到 PATH 中。
3. 配置 Hadoop 集群,包括 NameNode、DataNode 和 JobTracker 等节点的配置。
二、配置 Hadoop1. 配置 HDFS,包括 NameNode 和 DataNode 的配置。
2. 配置 MapReduce,包括 JobTracker 和 TaskTracker 的配置。
3. 配置 Hadoop 安全模式,如果需要的话。
三、使用 Hadoop1. 上传文件到 HDFS,使用命令 `hadoop fs -put local_file_path/hdfs_directory`。
2. 查看 HDFS 中的文件和目录信息,使用命令 `hadoop fs -ls /`。
3. 运行 MapReduce 作业,编写 MapReduce 程序,然后使用命令`hadoop jar my_` 运行程序。
4. 查看 MapReduce 作业的运行结果,使用命令 `hadoop fs -cat/output_directory/part-r-00000`。
5. 从 HDFS 中下载文件到本地,使用命令 `hadoop fs -get/hdfs_directory local_directory`。
6. 在 Web 控制台中查看 HDFS 集群信息,在浏览器中打开7. 在 Web 控制台中查看 MapReduce 作业运行情况,在浏览器中打开四、管理 Hadoop1. 启动和停止 Hadoop 集群,使用命令 `` 和 ``。
windows安装hadoop博客分类:•hadoopWindowsHadoopJavaJDKMapreducehadoop是什么就不多说了,看这里hadoop推荐部署环境是在linux,但是我们想要在windows体验一下还是可以的,followme我的环境:windowsxp,hadoop安装包(0.20.1),cygwin打开cygwin Java代码1.explorer.把hadoop的包放到这个目录下然后输入命令Java代码1.tarzxfhadoop-0.20.1.tar.gz解压完成后进入hadoop-0.20.1的配置目录,打开core-site.xml,加入以下内容。
这里是定义namenode运行地址和端口Xml代码1.<property>2.<name></name>3.<value>hdfs://localhost:9000</value>4.</property>打开hdfs-site.xml,加入以下内容Java代码1.<property>2.<name>dfs.replication</name>3.<value>1</value>4.</property>这里把复制因子设置为1是因为我们在windows上做伪分布,只能启动一个datanode接下来可以定义namenode数据目录,和datanode数据目录。
当然这个不是必须的,默认是在/tmp目录下面Xml代码1.<property>2.<name>.dir</name>3.<value>c:/filesystem/name</value>4.</property>5.<property>6.<name>dfs.data.dir</name>7.<value>c:/filesystem/data</value>8.</property>最后修改hadoop-env.sh,把下面注释的这行打开,并设置为你的jdk路径。
cdh运维手册摘要:CDH运维手册概述I.简介A.CDH简介B.运维手册目的II.环境搭建A.硬件与环境要求B.软件安装与配置C.集群搭建与验证III.集群管理A.节点管理B.资源管理C.集群状态监控IV.数据存储与管理A.HDFS使用与维护B.Hive数据仓库C.HBase分布式数据库V.数据处理与计算A.MapReduce编程与调试B.Spark使用与优化C.实时计算框架VI.安全与权限管理A.用户与角色管理B.数据安全C.访问控制与审计VII.性能优化与调试A.性能监控B.存储优化C.查询优化VIII.故障排查与维护A.故障分类B.故障排查流程C.维护策略与实践IX.备份与恢复A.备份策略与实施B.数据恢复流程C.完整备份与增量备份X.最佳实践与推荐A.运维规范B.性能提升技巧C.运维案例分享正文:CDH运维手册是一份针对Cloudera Distribution of Hadoop(CDH)的运维指南。
本手册旨在帮助企业和个人更好地部署、管理、优化和维护CDH 平台,确保系统稳定、高效地运行。
一、简介1.1 CDH简介CDH是Cloudera公司推出的一款Hadoop发行版,包含了Hadoop的核心组件,如HDFS、MapReduce、Hive、HBase等。
相较于其他Hadoop 发行版,CDH更注重稳定性和安全性,适用于企业级大数据处理需求。
1.2 运维手册目的本手册为运维人员提供了一套完整的CDH平台运维知识体系,包括环境搭建、集群管理、数据存储与管理、数据处理与计算、安全与权限管理、性能优化与调试、故障排查与维护等内容,旨在提高运维效率,降低运维成本,确保系统安全稳定运行。
二、环境搭建2.1 硬件与环境要求详细介绍了CDH的硬件需求,包括服务器、存储、网络等方面的配置。
同时,还阐述了CDH对操作系统、JDK、Python等软件的环境要求。
2.2 软件安装与配置本章节介绍了如何在一台新服务器上安装CDH,包括下载、安装、配置等步骤。
h a d o o p—集群维护手册work Information Technology Company.2020YEARHadoop部分启动命令: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生效。
Hadoop集群资源管理介绍与使用指南随着大数据时代的到来,数据处理和分析成为了企业和组织中的重要任务。
而Hadoop作为一种开源的分布式计算框架,被广泛应用于大数据处理领域。
为了更好地利用Hadoop集群的资源,有效地管理和调度任务,Hadoop集群资源管理系统成为了不可或缺的一部分。
一、Hadoop集群资源管理系统简介Hadoop集群资源管理系统的主要作用是管理集群中的资源,包括计算资源和存储资源。
它负责接收和处理来自用户的任务请求,并根据集群的资源状况进行任务调度和资源分配。
Hadoop集群资源管理系统的核心组件是YARN(Yet Another Resource Negotiator),它负责集群资源的管理和调度。
二、YARN的基本架构YARN由两个核心组件组成:资源管理器(ResourceManager)和节点管理器(NodeManager)。
资源管理器负责整个集群的资源分配和调度,节点管理器负责单个节点上的资源管理和任务执行。
资源管理器通过心跳机制与节点管理器通信,实时了解集群中各节点的资源状况。
同时,资源管理器还与应用程序管理器(ApplicationMaster)进行通信,接收用户的任务请求,并将任务分配给节点管理器执行。
三、资源管理器的配置与使用在配置资源管理器时,需要关注一些重要参数。
首先是集群中可用的资源总量,可以根据集群规模和需求进行配置。
其次是资源队列的设置,可以根据不同的用户或应用程序需求,将资源划分为不同的队列进行管理。
此外,还可以设置任务的优先级、容器的最大内存和CPU使用量等。
使用资源管理器进行任务调度时,可以通过命令行工具或Web界面进行操作。
用户可以提交任务请求,并指定任务的资源需求和优先级。
资源管理器会根据集群的资源状况进行任务调度和资源分配,确保任务能够高效地执行。
同时,资源管理器还提供了监控和管理集群资源的功能,可以查看集群中各节点的资源使用情况和任务执行情况。
Hadoop_hbase1.处理hadoop的datanode宕机cd path/to/hadoop走到hadoop的bin目录./hadoop-daemon.sh start datanode./hadoop-daemon.sh start tasktracker2.处理hadoop的namenode宕机./hadoop-daemon.sh start namenode./hadoop-daemon.sh start tasktracker3.如果是新添加一个节点,需要执行以下步骤:首先,把新节点的 IP或主机名加入主节点(master)的 conf/slaves 文件。
然后登录新的从节点,执行以下命令:$ cd path/to/hadoop$ bin/hadoop-daemon.sh start datanode$ bin/hadoop-daemon.sh start tasktracker然后就可以在master机器上运行balancer,执行负载均衡$bin/hadoop balancer4.处理hbase的regionserver宕机的办法./hbase-daemon.sh start regionserver./hbase-deamon.sh start zookeeper//只针对有zookeeper的regionserver 而且是机子需要重启的情况5.处理hbase的master宕机的办法./hbase-daemon.sh start master./hbase-daemon.sh start zookeeper//可选6.完全重启整个集群的过程首先是用root权限关闭所有节点的防火墙,/etc/init.d/iptables stop然后启动hadoop集群来到hadoop的安装路径执行:./start-all.sh待到集群全部成功启动之后两分钟之后执行关闭hadoop文件系统的安全模式,./hadoop dfsadmin -safemode leave对于hadoop文件系统安全模式的解释,如下NameNode在启动的时候首先进入安全模式,如果datanode丢失的block达到一定的比例(1- dfs.safemode.threshold.pct),则系统会一直处于安全模式状态即只读状态。
Hadoop集群的部署与维护Hadoop是一个分布式计算框架,它用来处理大规模数据集的计算问题。
它的分布式计算模式使得它可以处理存储在跨越数百台机器的分布式文件系统上的大型数据集。
在集群上使用Hadoop的好处是它可以充分利用集群上的所有资源,从而加速大规模计算。
但是,部署和维护Hadoop集群并不是一件简单的事情。
本文将介绍如何对于Hadoop集群进行部署和维护,以及常见问题的解决方案。
一、Hadoop集群的部署1. 准备环境在部署Hadoop集群之前,我们需要准备好环境。
首先,我们需要安装Java,并将Java环境变量配置到系统变量中。
其次,我们要配置所需的Hadoop文件,并将Hadoop配置,包括Hadoop环境变量,添加到系统变量中。
2. 配置SSH配置SSH是部署Hadoop集群最重要的第一步。
在Hadoop集群中的每台机器上,都需要通过SSH来进行通讯,因此我们需要在所有机器之间建立起SSH的信任关系。
这可以通过运行SSH的命令ssh-keygen和ssh-copy-id来完成。
3. 配置Hadoop配置Hadoop集群需要更改以下配置文件:core-site.xml:Hadoop的核心配置文件,包含了Hadoop文件系统的URI和相关配置。
hdfs-site.xml:Hadoop分布式文件系统的配置文件。
mapred-site.xml:Hadoop MapReduce的配置文件,包含了MapReduce执行所需的作业和任务的数量。
yarn-site.xml:Hadoop Yarn的配置文件,包含了Yarn执行所需的资源和管理器。
fair-scheduler.xml:用于配置公平调度器,以使每个用户都能平等地访问计算资源。
capacity-scheduler.xml:用于配置容量调度器,以使不同的用户根据需要调整资源分配。
4. 部署Hadoop部署Hadoop集群可以使用单机模式或分布式模式。
大数据系统运维手册范本第一章:概述1.1 引言本手册是针对大数据系统运维工作而编写的指南,旨在提供详细的操作流程和技术要点,以确保大数据系统的正常运行和高效维护。
通过本手册,运维人员能够了解到关键的运维任务和注意事项,提高工作效率,保障系统稳定性。
1.2 大数据系统概述大数据系统是指基于大数据技术构建的数据处理和分析系统,它能够处理和存储海量的结构化和非结构化数据,并从中获取有价值的信息和洞察。
大数据系统的核心组件包括分布式文件系统、分布式数据库、数据采集与清洗工具、数据处理与分析框架等。
第二章:系统运行环境2.1 硬件环境要求大数据系统对硬件环境有一定的要求,运维人员需要根据实际情况为大数据系统提供合适的硬件配置,包括服务器、存储设备、网络设备等。
具体的硬件环境要求将根据系统规模和业务需求而变化,运维人员应根据厂商提供的技术文档进行配置。
2.2 软件环境要求大数据系统运行所需的软件环境包括操作系统、数据库、中间件等。
不同的大数据系统可能对软件环境有不同的要求,运维人员需要根据系统需求选择合适的软件版本,并按照厂商提供的安装指南进行操作。
第三章:系统安装与配置3.1 安装前的准备工作在进行大数据系统的安装之前,需要进行一系列的准备工作,包括网络设置、用户权限配置、软件包下载等。
运维人员应根据安装指南逐步完成这些准备工作,确保系统安装的顺利进行。
3.2 系统组件的安装与配置大数据系统由多个组件组成,每个组件都有自己的安装和配置过程。
运维人员需要按照安装指南,依次完成各个组件的安装和配置工作,包括安装软件包、配置参数、启动服务等。
第四章:系统监控与维护4.1 系统监控大数据系统的监控是保障系统稳定运行的重要手段。
通过监控系统的关键指标,运维人员能够及时发现系统异常和瓶颈,采取相应的措施进行调整和优化。
本节内容将介绍常用的监控工具和监控指标,并详细说明如何配置监控系统。
4.2 故障排除与日志分析运维人员在系统运行过程中,可能会遇到各种故障和问题。
cdh运维手册摘要:一、前言二、CDH 概述1.CDH 简介2.CDH 组件三、CDH 安装与配置1.安装环境准备2.安装过程详解3.配置CDH四、CDH 运维管理1.监控CDH2.日志管理3.备份与恢复4.集群管理五、CDH 常见问题及解决方法1.安装问题2.配置问题3.运行时问题六、CDH 升级与维护1.版本升级2.安全更新3.故障排查与修复七、结论正文:一、前言随着大数据时代的到来,越来越多的企业和组织需要处理海量数据。
作为大数据的核心技术之一,Hadoop 受到了广泛关注。
本手册将为您介绍如何运维Cloudera Distribution of Hadoop(CDH),帮助您更好地管理和维护大数据环境。
二、CDH 概述1.CDH 简介Cloudera Distribution of Hadoop(CDH)是Cloudera 公司推出的一款大数据开源软件的发行版。
它包含了Apache Hadoop、Hive、HBase、Spark 等众多大数据处理技术,为用户提供了一个完整的大数据解决方案。
2.CDH 组件CDH 主要由以下组件构成:(1)Hadoop:分布式计算框架,用于处理海量数据。
(2)Hive:数据仓库工具,支持SQL 查询和数据挖掘。
(3)HBase:分布式列式存储系统,适用于实时查询和分析。
(4)Spark:快速数据处理框架,支持批处理和实时处理。
(5)其他组件:还包括如Pig、Flink、Zookeeper 等大数据处理工具。
三、CDH 安装与配置1.安装环境准备(1)硬件环境:请根据CDH 官方文档要求配置硬件资源。
(2)软件环境:请确保操作系统满足CDH 的最低要求,并安装Java 运行环境。
2.安装过程详解(1)下载CDH 安装包:根据需求选择合适的版本和组件,从Cloudera 官网下载安装包。
(2)解压安装包:将下载的压缩包解压到指定目录。
(3)配置环境变量:设置HADOOP_HOME 和PATH 环境变量。
四、Hadoop集群部署4.1获取Hadoop安装包登陆/dyn/closer.cgi/hadoop/common/选择下载服务器。
登陆/apache/hadoop/common/stable/获取最新稳定的hadoop版本下载即可(此为参考路径,如不通,可换其他下载服务器)。
4.2Hadoop集群配置4.2.1namenode-上传和解压安装包使用hadoop用户登录namenode进行如下操作4.2.2namenode-修改hadoop配置信息除4.2.2.1小节使用root用户外,本小节均使用hadoop用户配置。
4.2.2.1设置环境变量使用root登录,进行设置(其他datanode参照执行),主要是方面hadoop的/bin目录下4.2.2.2配置conf/hadoop-env.sh如没有配置hadoop.tmp.dir参数,此时系统默认的临时目录为:/tmp/hadoo-hadoop。
而这个目录在每次重启后都会被干掉,必须重新执行format才行,否则会出错,因此需要进行配置。
注意,本小节及后面小节中配置的文件夹均无需手动创建,hadoop会根据配置文件信息进行判定,如无则自动创建文件夹。
4.2.2.4配置conf/hdfs-site.xml需要配置NameNode持久存储名字空间及事务日志的本地文件系统路径,以及4.2.2.6配置conf/masters4.2.3复制namenode的hadoop到各datanode本节均基于hadoop用户进行配置。
4.2.3.2复制hadoop-1.0.3登录namenode,进行复制4.3Hadoop集群启动使用Hadoop用户。
首先说明,hadoop命令和参数都是大小写敏感的,该用大写时用大写,用小写时用小写,否则会执行错误。
4.3.1namenode-格式化4.3.2namenode-启动守护进程在namenode(即hadoop01)上启动hadoop守护进程:4.3.3namenode-停止守护进程停止hadoop守护进程命令如下(仅作参考,此处不执行):结果如下:4.3.4查看运行的进程jps在各datanode上查看运行的进程也是jps,此处略。
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均衡。