Hadoop-第一周

一、熟悉集群环境

1.1 搭建Hadoop集群环境

参考:

hadoop集群搭建(超详细版)

史上最详细的Hadoop环境搭建

 

搭建过程中问题:

在搭建Hadoop集群环境时遇到的一些问题

搭建hadoop伪分布式集群环境过程中遇见的问题总结

hadoop集群搭建中遇到的问题及解决方法

hadoop伪分布式集群搭建遇到的问题

 

1.2 熟悉Hadoop配置文件中的基本配置项

 

1.2.1 总览

hadoop的重要配置文件有以下几个:

1.2.2 hadoop-env.sh 常用配置

配置名描述
JAVA_HOME必须设置 
HADOOP_HEAPSIZE

分配给各个守护进程的内存大小

可以使用HADOOP_NAMENODE_OPTS等单独设置某一守护进行的内存大小

大型集群一般设置2000M或以上开发环境中设置500M足够

默认为1000M
HADOOP_LOG_DIR日志文件的存放目录可以设置为/var/log/hadoop
HADOOP_SLAVESslaves文件的位置,一般无需修改 
HADOOP_SSH_OPTS  
HADOOP_SLAVE_SLEEP  
HADOOP_IDEN_STRING  

 

 

 

 

 

 

 

 

 

 

 

1.2.3 core-site.xml 常用配置

配置名描述
hadoop.tmp.dir如果hdfs-site.xml中不配 置namenode和datanode的存放位置,默认就放在这个路径中 
fs.checkpoint.dir

SecondNameNode用来存储checkpoint image文件

默认为1000M
fs.defaultFS默认使用的文件系统类型可以设置为/var/log/hadoop
fs.trash.interval垃圾箱文件保留多久(单位:分钟),默认值是0,不打开垃圾收回机制 
hadoop.security.authenticationHadoop使用的认证方法(simple或kerberos) 
io.file.buffer.size读写序列文件缓冲区大小,默认设置为4096 

 

 

 

 

 

 


 

 

 

1.2.4 hdfs-site.xml 常用配置

配置名描述
dfs.namenode.name.dirnamenode存放fsimage的目录 
dfs.datanode.data.dir

datanode存放数据块文件的目录

 

dfs.namenode.checkpoint.dir

Secondarynamenode启动时使用,放置sn做合并的fsimage及 editlog文件 
dfs.replication数据副本数 
dfs.blocksize文件Block大小 
dfs.permissions对HDFS是否启用认证。默认为true 
dfs.datanode.handler.countDatanode IPC 请求处理线程数 

 

 

 

 

 

 

 

 

 

1.2.5 mapred-site.xml

配置名描述
mapreduce.job.hdfs-serversjob客户端参数${fs.defaultFS}
mapreduce.task.io.sort.factor在Reduce Task阶段,排序文件时一次合并的流的数量。 这决定了打开文件句柄的数量。也即是一次合并的文件数据,每次合并的时候选择最小的前10进行合并。10
mapreduce.task.io.sort.mb排序文件时使用的缓冲区内存总量,以兆字节为单位。 默认情况下,为每个合并流提供1MB,这应该最小化搜索。100
mapreduce.map.sort.spill.percentMap阶段溢写文件的阈值(排序缓冲区大小的百分比)。0.8
mapreduce.jobtracker.addressMapReduce作业跟踪器运行的主机和端口。 如果是“本地”,则作业将作为单个映射在进程中运行并减少任务。local
mapreduce.job.maps单个任务的map数量。2
mapreduce.job.reduces单个任务的reduce数量。1
mapreduce.job.running.map.limit单个任务并发的最大map数,0或负数没有限制 
mapreduce.job.running.reduce.limit单个任务并发的最大reduce数,0或负数没有限制 
mapreduce.job.max.map单个任务允许的最大map数,-1表示没有限制。 
mapreduce.job.max.split.locations分片数量10
mapreduce.job.split.metainfo.maxsizesplit的元数据信息数量,如果value为-1,则没有限制10000000
mapreduce.map.maxattempts每个 Map Task 最大重试次数,一旦重试参数超过该值,则认为 Map Task 运行失败。4
mapreduce.reduce.maxattempts每个 reduce Task 最大重试次数,一旦重试参数超过该值,则认为 reduce Task 运行失败。4
mapreduce.reduce.shuffle.parallelcopiesReduce Task启动的并发拷贝数据的线程数目5
mapreduce.task.timeout如果任务既不读取输入,也不写入输出,也不更新其状态字符串,则任务终止之前的毫秒数。0表示禁用超时。600000
mapreduce.map.memory.mb每个Map Task需要的内存量1024
mapreduce.map.cpu.vcores每个Map Task需要的虚拟CPU个数 
mapreduce.reduce.memory.mb每个Reduce Task需要的内存量1024
mapreduce.reduce.cpu.vcores每个Reduce Task需要的虚拟CPU个数 
mapred.child.java.optsjvm启动的子线程可以使用的最大内存。建议值-XX:-UseGCOverheadLimit -Xms512m -Xmx2048m -verbose:gc -Xloggc:/tmp/@taskid@.gc-Xmx200m
yarn.app.mapreduce.am.resource.mbMR ApplicationMaster占用的内存量。1536
yarn.app.mapreduce.am.resource.cpu-vcoresMR ApplicationMaster占用的虚拟CPU个数。 
mapreduce.jobhistory.address指定历史服务器的地址和端口 
mapreduce.jobhistory.webapp.address历史服务器的web地址 
mapreduce.map.java.opts每个map任务的jvm需要的内存量,一般为map内存的0.8-Xmx1024m
mapreduce.reduce.java.opts每个reduce任务jvm需要的内存量。为reduce内存量的0.8 
mapreduce.map.output.compressmap输出是否进行压缩,如果压缩就会多耗cpu,但是减少传输时间,如果不压缩,就需要较多的传输带宽,默认是false。配合 mapreduce.map.output.compress.codec使用 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.2.6 masters/slaves


1、masters记录的是需要启动secondary namenode的节点, 不是namenode,它也和mapreduce没任何关系。
    slaves记录的是需要执行start-all.sh(或相关命令)时,需要远程启动tasktracker与datanode的节点。

2、这2个文件不需要分发至各个工作节点。

3、哪个机器执行启动脚本,那它就是jobtracke与namenode,再根据masters确定secondary namenode, 根据slaves文件确定tasktracker与datanode,并远程启动这些守护进程。
 

1.2.7 hadoop常用端口配置

1.HDFS 端口


2.MR端口


3.其他端口

 

1.2.8 其他

NameNode元数据相关文件目录解析:

NameNode元数据相关文件目录解析

 

1.3 掌握Hadoop集群各服务的启停


1.3.1 启动和关闭 namenode,secondaryNamenode和datenode (启动hdfs)

start-dfs.sh      

stop-dfs.sh

1.3.2 启动yarn

start-yarn.sh   

stop-yarn.sh


1.3.3 各个节点单独启动

1、单独启动namenode守护进程
  hadoop-daemons.sh start namenode

2、单独启动DataNode守护进程
   hadoop-daemons.sh start datanode

3、单独启动SecondaryNameNode 守护进程
   hadoop-daemons.sh start SecondaryNameNode 

4.开启resourcemanager
   yarn-daemon.sh start resourcemanager

5.开启nodemanager
    yarn-daemons.sh start nodemanager 

6.启动historyserver
    mr-historyserver-dameon.sh start /stop historyserver

 

二、熟悉Hadoop基本操作

2.1 熟悉常用的HDFS shell命令

HDFS的shell常用命令大全

HDFS常用Shell命令总结

 

2.2 掌握通过客户端API读写HDFS的方式

2.2.1 读写数据机制

客户端向HDFS读写数据机制

2.2.2 API操作方式

客户端通过API操作HDFS

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值