Hadoop 常用配置 及 基本命令

core-site.xml

<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
    <value>hdfs://hadoop101:9000</value>
</property>

<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
	<name>hadoop.tmp.dir</name>
	<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>

<!-- 启用回收站 -->
<property>
   <name>fs.trash.interval</name>
<value>1</value>
</property>

<!-- 修改访问垃圾回收站用户名称,默认是dr.who,修改为testuser用户 -->
<property>
  <name>hadoop.http.staticuser.user</name>
  <value>testuser</value>
</property>

hdfs-site.xml

<!-- 指定HDFS副本的数量 -->
<property>
	<name>dfs.replication</name>
	<value>3</value>
</property>

<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
      <name>dfs.namenode.secondary.http-address</name>
      <value>hadoop104:50090</value>
</property>

<!-- Namenode多目录配置(看自己需要) -->
<property>
    <name>dfs.namenode.name.dir</name>
<value>file:///${hadoop.tmp.dir}/dfs/name1,file:///${hadoop.tmp.dir}/dfs/name2</value>
</property>

<!-- Datanode多目录配置(看自己需要) -->
<property>
        <name>dfs.datanode.data.dir</name>
<value>file:///${hadoop.tmp.dir}/dfs/data1,file:///${hadoop.tmp.dir}/dfs/data2</value>
</property>


<!-- 以下两个跟Datanode超时相关 -->
<!-- 单位是 毫秒 -->
<property>
    <name>dfs.namenode.heartbeat.recheck-interval</name>
    <value>300000</value>
</property>

<!-- 单位是 秒 -->
<property>
    <name>dfs.heartbeat.interval</name>
    <value>3</value>
</property>

<!-- 白名单配置 -->
<property>
<name>dfs.hosts</name>
<value>/opt/module/hadoop-2.7.2/etc/hadoop/dfs.hosts</value>
</property>

<!-- 黑名单配置 -->
<property>
<name>dfs.hosts.exclude</name>
      <value>/opt/module/hadoop-2.7.2/etc/hadoop/dfs.hosts.exclude</value>
</property>

yarn-site.xml

<!-- Reducer获取数据的方式 -->
<property>
 		<name>yarn.nodemanager.aux-services</name>
 		<value>mapreduce_shuffle</value>
</property>

<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop101</value>
</property>

<!-- 日志聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>

<!-- 日志保留时间设置7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>

mapred-site.xml

(对mapred-site.xml.template重新命名为) mapred-site.xml

<!-- 指定MR运行在YARN上 -->
<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
</property>

mapred-site.xml

<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop101:10020</value>
</property>

<!-- 历史服务器web端地址 -->
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hadoop101:19888</value>
</property>

hdfs-default.xml

<!-- Checkpoint时间设置 -->
<property>
  <name>dfs.namenode.checkpoint.period</name>
  <value>3600</value>
</property>

<property>
  <name>dfs.namenode.checkpoint.txns</name>
  <value>1000000</value>
<description>操作动作次数</description>
</property>

<property>
  <name>dfs.namenode.checkpoint.check.period</name>
  <value>60</value>
<description> 1分钟检查一次操作次数</description>
</property >

配置JAVA_HOME

hadoop-env.sh
yarn-env.sh
mapred-env.sh
一般xxxxx-env.sh只需要配置JAVA_HOME环境变量

Hadoop常用命令和注意事项

格式化Namenode

bin/hdfs namenode -format

启动Namenode

sbin/hadoop-daemon.sh start namenode

启动Datanode

sbin/hadoop-daemon.sh start datanode

web端查看HDFS文件系统

http://hadoop101:50070/dfshealth.html#tab-overview

查看产生的Log日志

/opt/module/hadoop-2.7.2/logs

为什么不能一直格式化NameNode,格式化NameNode,要注意什么?
注意:格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。所以,格式NameNode时,一定要停止相关进程,删除data数据和log日志,然后再格式化NameNode。

启动Yarn集群
(a)启动前必须保证NameNode和DataNode已经启动
(b)启动ResourceManager

sbin/yarn-daemon.sh start resourcemanager

(c)启动NodeManager

sbin/yarn-daemon.sh start nodemanager

YARN的浏览器页面查看

http://hadoop101:8088/cluster

启动历史服务器

sbin/mr-jobhistory-daemon.sh start historyserver

查看JobHistory

http://hadoop101:19888/jobhistory

注意开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryManager。

关闭NodeManager 、ResourceManager和HistoryManager

sbin/yarn-daemon.sh stop resourcemanager
sbin/yarn-daemon.sh stop nodemanager
sbin/mr-jobhistory-daemon.sh stop historyserver

启动NodeManager 、ResourceManager和HistoryManager

sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
sbin/mr-jobhistory-daemon.sh start historyserver

集群间互传文件脚本

#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi

#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 获取上级目录到绝对路径 –P指向实际物理地址,防止软连接
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 获取当前用户名称
user=`whoami`

#5 循环
for((host=103; host<105; host++)); do
        echo ------------------- hadoop$host --------------
        rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done

各个服务组件逐一启动/停止
(1)分别启动/停止HDFS组件

hadoop-daemon.sh  start / stop  namenode / datanode / secondarynamenode

(2)启动/停止YARN

yarn-daemon.sh  start / stop  resourcemanager / nodemanager
这种方式的使用场景,一般集群已经启动完毕了,单独添加或者删除节点的时候使用

各个模块分开启动/停止(配置ssh是前提)常用
(1)整体启动/停止HDFS

start-dfs.sh   /  stop-dfs.sh

如果配置了主从,那么start-dfs.sh会启动集群中的namenode,所有datanode,secondarynamenode

(2)整体启动/停止YARN

start-yarn.sh  /  stop-yarn.sh

如果配置了主从,那么start-yarn.sh会启动集群中的ResourceManager,所有NodeManager
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值