hadoop02--hdfs权限控制, 开启日志聚集,历史服务器, Uber模式,相关配置文件,以及完全分布式的搭建

HDFS 文件系统的权限控制

​ HDFS文件提醒,存在权限控制,不同的用户没有分配权限的情况下,对文件系统的创建,删除,执行在开发的时候很麻烦,所以在开发阶段关闭权限
​ 关闭HDFS 权限检查,在hdfs-site.xml文件中增加如下配置信息

<property>
	 <name>dfs.permissions.enabled</name>
	 <value>false</value>
</property>

服务日志文件

1.日志文件的存储位置
	$Hadoop_HOME/logs
2.日志文件的格式
	(1)log结尾
	(2)out结尾	
log结尾的日志
  • 以log结尾的日志,是通过log4j记录,记录的信息相对完整
out结尾的日志
  • 以out结尾的日志,标准错误输出的日志,记录的内容相对较少没有参考意义
  • 在运行hadoop的时候如果出现问题,一定要记得查看日志,一般来说主要查看已log结尾的日志
日志的命名规范
  • 框架名称-用户名-进程名称-主机名称-文件后缀

Hadoop服务启动

1.单进程的方式启动
2.启动所有进程(前提是设置好免密码登录)
​ 可以通过sbin/start-dfs.sh 启动HDFS 和 stop-dfs.sh 停止HDFS

历史服务器的配置

  1. 需要为本地计算机设置linux 对应的域名解析
C:\Windows\System32\drivers\etc\hosts  
  1. 在maped-site配置文件中,配置历史服务器的web访问主机
<property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop01:19888</value>
</property>
  1. 启动历史服务器
sbin/mr-jobhistory-daemon.sh start historyserver

Hadoop2.x 配置文件

  1. 默认的配置文件,文件名
core-defualt.xml   
hdfs-defualt.xml  
yarn-default.xml 
mapred-defualt.xml 

​ 位置: $HAOOP_HOME/share/hadoop 对应的文件夹下存在jar包中 ,在Hadoop 源码环境中存在了默认的配置文件

自定义的配置文件 ,在用户进行配置的时候,如果用户没有给定自定义的配置文件,hadoop加载的是默认的配置文件。 用户给定了自定义的配置文件,则优先加载自定义的配置文件

core-site.xml   
hdfs-site.xml  
yarn-site.xml  
mapred-site.xml  
设置服务主机
NameNode配置信息
  1. HDFS 默认复制因子数 为3个 可以修改以下配置
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
  1. 该属性定义了 HDFS WEB访问服务器的主机名和端口号
    <property>
        <name>dfs.namenode.http-address</name>
        <value>0.0.0.0:50070</value>
    </property>
  1. 定义secondarynamenode 外部地址 访问的主机和端口
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>0.0.0.0:50090</value>
    </property>
resourceManager 配置定义

​ 配置resourcemanager 的主机位置

    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>0.0.0.0</value>
    </property>    
  • Nodemanager datanode 都是在salves 进行配置
HDFS 存储说明

在这里插入图片描述

配置存储数据的本地目录
/opt/app/hadoop-2.7.2/data/tmp/dfs/data/current/BP-252844797-10.0.152.61-1540189929854/current/finalized/subdir0/subdir0

以上为datanode存储文件块的磁盘目录,每一个数据块大小128MB

  1. 配置 namenode fs edites 存储目录 hdfs-site.xml
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file://${hadoop.tmp.dir}/dfs/name</value>
    </property>
  1. 配置namednoe edits 存储模式
    <property>
        <name>dfs.namenode.edits.dir</name>
        <value>${dfs.namenode.name.dir}</value>
    </property>
  1. 配置datanode 数据存储目录
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file://${hadoop.tmp.dir}/dfs/data</value>
    </property>
  1. 修改secondaryNameNode fsimage 的存储路径
    <property>
        <name>dfs.namenode.checkpoint.dir</name>
        <value>file://${hadoop.tmp.dir}/dfs/namesecondary</value>
    </property>
  1. 修改secondaryNameNode edits 的存储路径
    <property>
        <name>dfs.namenode.checkpoint.edits.dir</name>
        <value>${dfs.namenode.checkpoint.dir}</value>
    </property>
启用日志聚集功能

1.在yarn-site.xml文件启用日志聚集的功能

    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>

2.设置HDFS上日志的保存时间

<property>
    <name>yarn.nodemanager.log.retain-seconds</name>
    <value>10800</value>
  </property>
  • 在实际开发中,HDFS日志的保存时间一般都是设置为7天
Uber模式
  • Uber模式是Hadoop2中针对小文件作业的一种优化,如果作业量足够小,可以把一个task,在一个JVM中运行完成
    在mapred-site.xml 文件中设置
<property>
  <name>mapreduce.job.ubertask.enable</name>
  <value>false</value>
</property>

在搭建集群中,常见的错误

  1. 格式化
    ​ 首先要记住,不要频繁的格式化namenode, 如果非要格式化namenode,先删除tmp目录中的内容 ,清空之前,最好把所有的进程jps 中的残存的服务关掉,如果不关闭的话会存在遗留的进程,就有可能占用之前的端口号
  2. 端口可能被占用
  3. 避免多用户的使用,多用户的时候会造成pid的冲突
  4. 最好fsimage edites 存储的目录也清空一下

搭建完全分布式环境

规划
  1. 前期的准备 必须存在三台虚拟机 每个虚拟机的内存个人建议2g
  2. 每个虚拟机配置必须完全一致
  3. 防火墙必须关闭,最好永久性的关闭,设置独立用户 hadoop , 为每台服务器设置主机名
  4. 设置ip与主机名称的映射 hosts
  5. 三台主机设置ssh免密登录
  6. 对服务器中的服务进行规划
Hadoop01hadoop02hadoop03
Namenodedatanodedatanode
Datanoderesourcemanagernodemanager
NodemanagernodemanagersecondaryNamenode
Historyserver  
搭建过程
  1. 配置hadoop-env.sh , yarn-env.sh, mapred-env.sh 配置这个三个文件的JAVA_HOME
  2. 配置core-site.xml 文件
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop01:8020</value>
    </property>

    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/app/hadoop-2.7.2/data/tmp</value>
    </property>
  1. 配置hdfs-site.xml

(1)关闭HDFS权限检查

    <property>
        <name>dfs.permissions.enabled</name>
        <value>false</value>
    </property>

(2)配置scondaryNamenode访问服务位置

    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop03:50090</value>
    </property>

4.配置yarn-site.xml

​ (1)配置nodemanager

    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

​ (2)开启日志聚集

    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>

    <property>
        <name>yarn.nodemanager.log.retain-seconds</name>
        <value>10800</value>
    </property>

​ (3)配置resourcemanager的主机位置

    <property>
        <description>The hostname of the RM.</description>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop02</value>
    </property>

5 配置mapred-site.xml

​ (1)指定运行框架为yarn

    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

​ (2)指定历史服务器

<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop01:19888</value>
</property>

6.配置完成之后,在slaves 配置从节点的主机名称
​ hadoop01
​ hadoop02
​ hadoop03

注意点
1.以上的配置完成之后,需要把hadoop的配置文件分发到各个节点之上可以使用 Scp 命令完成 

2.分发之前,别的节点上必须存在相同的目录

3.每一个节点上必须已经安装好JDK环境,并且配置好环境变量

4.安装完成之后,就可以通过 格式化命令 格式化namenode
	Bin/hadoop namenode -format

5.启动服务
	sbin/mr-jobhistory-daemon.sh start historyserver 启动历史聚集
    Sbin/start-dfs.sh  启动HDFS
    Sbin/start-yarn.sh 启动YRAN 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值