配置
- dfs.replication 不能超过DataNode的数目,副本数大可以间接提升计算速度。
- fs.checkpoint.period,指定连续两次检查点的最大时间间隔, 默认值是1小时。
- fs.checkpoint.size定义了edits日志文件的最大值,一旦超过这个值会导致强制执行检查点(即使没到检查点的最大时间间隔)。默认值是64MB。
slaves文件里是DataNode和NodeManager主机名,也就是HDFS和Yarn都认这个文件。
dfs.bytes-per-checksum #默认512字节 校验
HA配置
配置样例在这
https://github.com/deadwind4/xuanwu/tree/master/hadoop
命令
启动
namenode机器 需要格式化,不格式化50070无法访问。
hdfs namenode -format
两次以上格式化会导致DataNode启动失败。要删除dfs.data.dir目录在重启。
sbin/start-dfs.sh #启动hdfs
#以下不建议使用原因需探究
sbin/start-all.sh #启动
sbin/stop-all.sh #关闭
HA模式
bin/zkServer.sh start
sbin/hadoop-daemon.sh start journalnode
#如果是一个新的集群那么需要首次格式化namenode,如果不是新的集群可以不用
bin/hdfs namenode -format
#只需要格式化一台,因为两个namenode管理的是同一个元数据空间
#注意:先启动第一台的namenode再操作下面的元数据同步
sbin/hadoop-daemon.sh start namenode
hdfs fsck / -files -blocks
安全模式
hdfs dfsadmin -safemode leave #强制 NameNode 退出安全模式
hdfs dfsadmin -safemode enter #进入安全模式
hdfs dfsadmin -safemode get #查看安全模式状态
hdfs dfsadmin -safemode wait #等待,一直到安全模式结束
hadoop dfsadmin -safemode leave && hdfs dfs -rm -r -skipTrash
错误备忘
要配置这个,要不然重启后/tmp目录会删除
<property>
<name>hadoop.tmp.dir</name>
<value>/var/hadoop/tmp</value>
</property>
WARN org.apache.hadoop.hdfs.server.common.Util: Path /var/hadoop/data should be specified as a URI in configuration files. Please update hdfs configuration.
<property>
<name>dfs.namenode.name.dir</name>
<value>file://var/hadoop/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file://var/hadoop/data</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/var/hadoop/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/var/hadoop/data</value>
</property>
手动Checkpoint
目的是提高HDFS重启的速度。
hdfs dfsadmin -safemode enter
hdfs dfsadmin -saveNamespace
hdfs dfsadmin -safemode leave
参考资料
ZooKeeper学习之路 (九)利用ZooKeeper搭建Hadoop的HA集群
Hadoop之HA高可用性
高可用解析
https://blog.csdn.net/l1028386804/article/details/51935169
https://hadoop.apache.org/docs/r2.8.5/hadoop-project-dist/hadoop-common/FileSystemShell.html