您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > Hadoop集群管理和运维
专注开源技术在线培训LOGOHadoop集群管理和运维廖旻可专注开源技术在线培训培训调查•1.关注hadoop集群架构?开发?•2.单位业务有集群否?有的话,规模?•3.本次培训期望收获?专注开源技术在线培训议程•1.hadoop规划,集群安装及配置•2.hadoop配置讲解•3.hadoop集群正式环境快速安装•4.hadoop集群管理•5.hadoop集群调优•6.hadoop运维常见故障专注开源技术在线培训讲义•1.hadoop规划,集群安装及配置•--Hadoop集群规划初步硬盘容量:日志+时间400G*3*180+预留用户数据216T内存网络带宽CPU操作系统Hadoop版本Hadoop1.x/hadoop2.6社区版本?发行版?专注开源技术在线培训讲义•--单机模式安装专注开源技术在线培训讲义•--单机模式core-site.xml专注开源技术在线培训讲义•--单机模式mapred-site.xml专注开源技术在线培训讲义•--单机模式sudo-uhdfshadoopnamenode-format专注开源技术在线培训讲义•--单机模式启动为什么是这样启动?•sudo-uhdfs/usr/sbin/hadoop-daemon.shstartnamenode•sudo-uhdfs/usr/sbin/hadoop-daemon.shstartdatanode•sudo-uhdfs/usr/sbin/hadoop-daemon.shstartsecondarynamenode•sudo-uhdfs/usr/sbin/hadoop-daemon.shstartjobtracker•sudo-uhdfs/usr/sbin/hadoop-daemon.shstarttasktracker专注开源技术在线培训讲义•--单机模式hadoopjar/usr/share/hadoop/hadoop-*examples*.jarpi100100000000专注开源技术在线培训讲义•--集群安装噗-就是那么快!为什么以前那么复杂?专注开源技术在线培训讲义•--集群安装为什么以前那么复杂?理解后的化繁为简专注开源技术在线培训讲义•--集群模式遇到的初级问题专注开源技术在线培训讲义•--集群模式怎么破?临时:iptables–Fsetenforce0永久:修改/etc/selinux/config文件将SELINUX=enforcing改为SELINUX=disabled专注开源技术在线培训讲义•--集群模式Hdfs状况专注开源技术在线培训讲义•--集群模式job状况专注开源技术在线培训讲义•2.hadoop配置讲解•--core-site.xmlfs.default.namehdfs://hadoopmaster:9000定义HadoopMaster的URI和端口fs.checkpoint.dir/opt/data/hadoop1/hdfs/namesecondary1定义hadoop的name备份的路径,官方文档说是读取这个,写入dfs.name.dirfs.checkpoint.period1800定义name备份的备份间隔时间,秒为单位,只对snn生效,默认一小时fs.checkpoint.size33554432以日志大小间隔做备份间隔,只对snn生效,默认64Mio.compression.codecsorg.apache.hadoop.io.compress.DefaultCodec,com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec,org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.BZip2Codec(排版调整,实际配置不要回车)Hadoop所使用的编解码器,gzip和bzip2为自带,lzo需安装hadoopgpl或者kevinweil,逗号分隔,snappy也需要单独安装io.compression.codec.lzo.classcom.hadoop.compression.lzo.LzoCodecLZO所使用的压缩编码器topology.script.file.name/hadoop/bin/RackAware.py机架感知脚本位置topology.script.number.args1000机架感知脚本管理的主机数,IP地址fs.trash.interval10800HDFS垃圾箱设置,可以恢复误删除,分钟数,0为禁用,添加该项无需重启hadoop专注开源技术在线培训讲义•2.hadoop配置讲解•--hdfs-site.xmldfs.name.dir/opt/data1/hdfs/name,NN所使用的元数据保存,一般建议在nfs上保留一份,作为1.0的HA方案使用,也可以在一台服务器的多块硬盘上使用dfs.permissionstrue|falsedfs权限是否打开,设置falsedfs.permissions.supergroupsupergroup设置hdfs超级权限的组,默认是supergroup,启动hadoop所使用的用户通常是superuser。dfs.data.dir/opt/data1/hdfs/data,/opt/data2/hdfs/data,/opt/data3/hdfs/data,...真正的datanode数据保存路径,可以写多块硬盘,逗号分隔dfs.datanode.data.dir.perm755datanode所使用的本地文件夹的路径权限,默认755dfs.replication3hdfs数据块的复制份数,默认3,理论上份数越多跑数速度越快,但是需要的存储空间也更多。有钱专注开源技术在线培训讲义•2.hadoop配置讲解•--hdfs-site.xmlstep2dfs.support.appendtrue|false新的hadoop支持了文件的APPEND操作,这个就是控制是否允许文件APPEND的dfs.datanode.failed.volumes.tolerated0能够导致DN挂掉的坏硬盘最大数,默认0就是只要有1个硬盘坏了,DN就会shutdown。dfs.secondary.http.address0.0.0.0:50090SNN的tracker页面监听地址和端口dfs.datanode.address0.0.0.0:50010DN的服务监听端口,端口为0的话会随机监听端口,通过心跳通知NNdfs.datanode.http.address0.0.0.0:50075DN的tracker页面监听地址和端口dfs.datanode.ipc.address0.0.0.0:50020DN的IPC监听端口,写0的话监听在随机端口通过心跳传输给NNdfs.datanode.handler.count3DN启动的服务线程数专注开源技术在线培训讲义•2.hadoop配置讲解•--mapred-site.xml前传1专注开源技术在线培训讲义•2.hadoop配置讲解•--mapred-site.xml前传对应配置io.sort.mb每一个map都会对应存在一个内存buffer,调大降低spill(写磁盘)+io.sort.spill.percentmap写mem到多少进行spill-io.sort.factormap中spill合并,控制merge,中间结果大时调优。+min.num.spill.for.combine控制combiner在merge前或后进行。mapred.compress.map.output压缩中间结果。mapred.reduce.parallel.copiesreduce从map里复制并行数好处?map快mapred.reduce.copy.backoffreduce等待复制失败网络慢时候+mapred.job.shuffle.input.buffer.percentreduce的io.sort.mbshuffile在reduce内存中的数据最多使用内存量,不同是个比例mapred.job.shuffle.merge.percentreduce的io.sort.spill.percent专注开源技术在线培训讲义•2.hadoop配置讲解•--mapred-site.xmlpart1io.sort.factor30这里处理流合并时的文件排序数,我理解为排序时打开的文件数io.sort.mb600排序所使用的内存数量,单位兆,不能超过mapred.child.java.opt设置,否则会OOMmapred.job.trackerhadoopmaster:9001连接jobtrack服务器的配置项,默认不写是local,map数1,reduce数1mapred.job.tracker.http.address0.0.0.0:50030jobtracker的tracker页面服务监听地址专注开源技术在线培训讲义•2.hadoop配置讲解•--mapred-site.xmlpart2mapred.local.dir.minspacestart1073741824本地运算文件夹剩余空间低于该值则不在本地做计算。字节配置mapred.local.dir.minspacekill1073741824本地计算文件夹剩余空间低于该值则不再申请新的任务,字节数mapred.tasktracker.expiry.interval60000TT在这个时间内没有发送心跳,则认为TT已经挂了。单位毫秒mapred.map.tasks2默认每个job所使用的map数,意思是假设设置dfs块大小为64M,需要排序一个60M的文件,也会开启2个map线程,当jobtracker设置为本地是不起作用。mapred.reduce.tasks1-----专注开源技术在线培训讲义•2.hadoop配置讲解•--mapred-site.xmlpart3mapred.tasktracker.map.tasks.maximum12每服务器允许启动的最大map槽位数。mapred.tasktracker.reduce.tasks.maximum6每服务器允许启动的最大reduce槽位数mapred.output.compresstrue|false任务结果采用压缩输出,默认false,建议falsemapred.output.compression.codecorg.apache.hadoop.io.compress.SnappyCodec输出结果所使用的编解码器,也可以用gz或者bzip2或者lzo或者snappy等专注开源技术在线培训讲义•2.hadoop配置讲解•--mapred-site.xmlpart4apred.jobtracker.restart.recovertrue|false重启时开启任务恢复,默认falsemapred.jobtracker.taskSchedulerorg.apache.hadoop.mapred.CapacityTaskSchedulerorg.apache.hadoop.mapred.JobQueueTaskSchedulerorg.apache.hadoop.mapred.FairScheduler重要的东西,开启任务管理器,不设置的话,hadoop默认是FIFO调度器,其他可以使用公平和计算能力调度器mapred.reduce.parallel.copies10reduce在shuffle阶段使用的并行复制数,默认5专注开源技术在线培训讲义•3.hadoop集群正式环境快速安装•--easyhadoop安装及使用服务端:application/config/database.phpapplication/config/config.phpmysql-uxxx-pxxxe
本文标题:Hadoop集群管理和运维
链接地址:https://www.777doc.com/doc-6243463 .html