HDFS 启动顺序

HDFS 启动顺序

  1. Loading fsimage:加载镜像文件

    首次开启集群时,加载镜像文件:{hadoop.tmp.dir}/dfs/name/fsimage_0000000000000000000

    再次开启集群时,Loading fsimage /home/hadoop/tmp/dfs/name/current/fsimage_0000000000000000002

  2. Loading edits:加载编辑日志

    首次开启开启集群时,无编辑日志

    再次开启集群时,/home/hadoop/tmp/dfs/name/current/edits_0000000000000000003-0000000000000000003

  3. Saving checkpoint:保存检查点

    首次开启集群时,无保存检查点
    保存检查点机制防止因集群长时间运行导致edits_log文件过大,导致集群重启恢复过程过慢或损毁,所做的保护机制。
    检查点机制由secondarynamenode完成。

  4. Safe mode:退出安全模式

    安全模式相当于写保护,进入安全模式,则禁止对数据做写入,修改,仅支持读取。

    退出安全模式,才可以对数据进行操作。

调整blocksize

1.调大:

​ [hdfs-site.xml]

<property>
		<name>dfs.blocksize</name>
		<value>256M</value>
</propery>

2.调小:【非要调10字节,怎么办,修改哪些配置文件】

  1. [hdfs-size.xml]

    <property>
    		<name>dfs.blocksize</name>
    		<value>10</value>【字节单位】
    </property>
    
  2. 集群可以正常启动,但是执行上传指令,报异常:

    》》[hadoop@master hadoop]$ start-dfs.sh
    Starting namenodes on [master]
    master: starting namenode, logging to /home/hadoop/soft/hadoop-2.7.3/logs/hadoop-hadoop-namenode-master.out
    slave01: starting datanode, logging to /home/hadoop/soft/hadoop-2.7.3/logs/hadoop-hadoop-datanode-slave01.out
    slave02: starting datanode, logging to /home/hadoop/soft/hadoop-2.7.3/logs/hadoop-hadoop-datanode-slave02.out
    slave03: starting datanode, logging to /home/hadoop/soft/hadoop-2.7.3/logs/hadoop-hadoop-datanode-slave03.out
    Starting secondary namenodes [0.0.0.0]
    0.0.0.0: starting secondarynamenode, logging to /home/hadoop/soft/hadoop-2.7.3/logs/hadoop-hadoop-secondarynamenode-master.out

    【集群正常启动】

    》》[hadoop@master hadoop]$ hadoop fs -put ~/tree.txt /mumu/geek
    put: Specified block size is less than configured minimum value (dfs.namenode.fs-limits.min-block-size): 10 < 1048576

    【报错:块大小的最小限制是1M,小于该限制】

  3. 修改[hdfs-site.xml]文件中的${dfs.namenode.fs-limits.min-block-size}属性值

    dfs.namenode.fs-limits.min-block-size 1
  4. 集群可以正常启动,但是执行上传指令,报异常:

    》》[hadoop@master hadoop]$ start-dfs.sh
    Starting namenodes on [master]
    master: starting namenode, logging to /home/hadoop/soft/hadoop-2.7.3/logs/hadoop-hadoop-namenode-master.out
    slave01: starting datanode, logging to /home/hadoop/soft/hadoop-2.7.3/logs/hadoop-hadoop-datanode-slave01.out
    slave02: starting datanode, logging to /home/hadoop/soft/hadoop-2.7.3/logs/hadoop-hadoop-datanode-slave02.out
    slave03: starting datanode, logging to /home/hadoop/soft/hadoop-2.7.3/logs/hadoop-hadoop-datanode-slave03.out
    Starting secondary namenodes [0.0.0.0]
    0.0.0.0: starting secondarynamenode, logging to /home/hadoop/soft/hadoop-2.7.3/logs/hadoop-hadoop-secondarynamenode-master.out

    【集群正常启动】

    》》[hadoop@master ~]$ hadoop fs -put tree.txt /mumu/geek
    -put: Invalid values: dfs.bytes-per-checksum (=512) must divide block size (=10).
    Usage: hadoop fs [generic options] -put [-f] [-p] [-l] …

    【报错:每512字节的块大小创建一个校验和,然而现在设置的块大小为10字节】

  5. 修改[hdfs-site.xml]文件中的${dfs.bytes-per-checksum}属性值

    <property>
    		<name>dfs.bytes-per-checksum</name>
    		<value>2</value>
    </property>
    

checkpoint检查点

1.【P317】图

2.触发检查点阈值:

a.每小时触发一次

<property>
	<name>dfs.namenode.checkpoint.period</name>
	<value>3600</value>
	<description>The number of seconds between two periodic checkpoints.</description>
</property>

b.每100万次触发一次

<property>
	<name>dfs.namenode.checkpoint.txns</name>
	<value>1000000</value>
	<description>The Secondary NameNode or CheckpointNode will create a checkpoint of the namespace every 'dfs.namenode.checkpoint.txns' transactions, regardless of whether 'dfs.namenode.checkpoint.period' has expired.</description>
</property>

### c.每一分钟检查事务id是否为100万次

<property>
	<name>dfs.namenode.checkpoint.check.period</name>
	<value>60</value>
	<description>The SecondaryNameNode and CheckpointNode will poll the NameNode every 'dfs.namenode.checkpoint.check.period' seconds to query the number of uncheckpointed transactions.</description>
</property>

安全模式

1.安全模式开启

$>hdfs dfsadmin -safemode get #获取当前安全模式状态
$>hdfs dfsadmin -safemode enter #进入安全模式状态
$>hdfs dfsadmin -safemode leave #离开安全模式状态
$>hdfs dfsadmin -safemode wait #等待当前安全模式状态

2.手动执行checkpoint,前提需进入到安全模式下

$>hdfs dfsadmin -safemode enter
$>hdfs dfsadmin -saveNamespace
$>hdfs dfsadmin -safemode leave

3.手动滚动日志

$>hdfs dfsadmin -rollEdits

在使用Ambari来部署Hadoop集群时,以下是Hadoop组件启动的一般顺序: 1. ZooKeeper:ZooKeeper是一个分布式协调服务,在Hadoop集群中用于管理和协调其他组件。首先,启动ZooKeeper服务。 2. HDFSHadoop Distributed File System):HDFSHadoop的分布式文件系统。按照以下顺序启动HDFS组件: - NameNode:启动NameNode服务,它是HDFS的主节点,负责管理文件系统的命名空间和元数据。 - SecondaryNameNode(可选):如果使用SecondaryNameNode组件,启动SecondaryNameNode服务,它负责定期合并NameNode的编辑日志并创建检查点。 - DataNode:启动DataNode服务,DataNode是HDFS的数据节点,负责存储实际的文件数据。 3. YARN(Yet Another Resource Negotiator):YARN是Hadoop的资源管理器,用于管理集群资源和任务调度。按照以下顺序启动YARN组件: - ResourceManager:启动ResourceManager服务,它是YARN的主节点,负责整个集群的资源管理和作业调度。 - NodeManager:启动NodeManager服务,NodeManager运行在每个节点上,负责管理该节点上的资源和任务。 4. MapReduce历史服务器(可选):如果使用MapReduce历史服务器组件,可以启动它来查看旧的MapReduce作业历史信息。 5. Hive Metastore服务(可选):如果使用Hive,启动Hive Metastore服务,它是Hive的元数据存储。 6. Spark历史服务器(可选):如果使用Spark,可以启动Spark历史服务器来查看Spark应用程序的历史信息。 请注意,以上是一般情况下的启动顺序,并且可能会因特定的配置或需求而有所不同。在启动之前,请确保相关的配置文件已正确设置,并且网络连接正常。启动过程中,可以查看Ambari界面或相应的日志文件来检查是否有任何错误或异常情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值