<commit_before>---
layout: global
title: 日志
nickname: 日志
group: Features
priority: 0
---

* Table of Contents
{:toc}

Alluxio维护日志，以支持元数据操作的持久性。当请求修改Alluxio状态时，例如创建或重命名文件在返回之前，
Alluxio将为操作写一个日志条目对客户的成功回应。日记条目是写向持久存储，如磁盘或HDFS，所以即使是Alluxio master进程被终止，
状态将在重新启动时恢复。

# 配置

要为日志设置的最重要的配置值是`alluxio.master.journal.folder`。这必须设置为所有主服务器都可以使用的共享文件系统。
在单主节店模式下，直接使用本地文件系统路径是可行的。对于分布在不同机器上的多个主目录，共享文件夹应该位于支持flush的分布式系统中，
比如HDFS或NFS。不建议将日志放在对象存储中。对于对象存储，对日志的每一次更新都需要创建一个新对象，
这对于大多数紧急的用例来说是非常缓慢的。

**配置示例:**
使用HDFS来存储日志：
```
alluxio.master.journal.folder=hdfs://[namenodeserver]:[namenodeport]/dir/alluxio_journal
```
使用本地文件系统来存储日志：
```
alluxio.master.journal.folder=/opt/alluxio/journal
```

# 格式化

第一次启动Alluxio master节点时，日志必须格式化。

**警告: 格式化日志将会删除Alluxio所有元数据**
```bash
$ bin/alluxio formatMaster
```

# 备份

Alluxio支持对日志进行备份，以便可以将Alluxio元数据恢复到以前的时间点。
生成备份会在备份发生时导致服务临时不可用。

使用 `fsadmin backup`命令生成备份。
```bash
$ bin/alluxio fsadmin backup
```

默认情况下，这将编写一个名为`alluxio-journal-YYYY-MM-DD-timestamp.gz`的备份指向文件系统下根目录的"/alluxio_backups"目录，
例如:hdfs://cluster/alluxio_backups。这个默认的备份目录可以通过设置`alluxio.master.backup.directory`来配置。

```
alluxio.master.backup.directory=/alluxio/backups
```

查看 [backup command documentation](Admin-CLI.html#backup) 获取写备份文件具体位置的额外配置。

# 恢复

要从日志备份中恢复 Alluxio 系统，请停止系统，格式化，
然后重新启动系统，使用 `-i`(import) 标志传递备份的URI。

```bash
$ bin/alluxio-stop.sh masters
$ bin/alluxio formatMaster
$ bin/alluxio-start.sh -i <backup_uri> masters
```

 `<backup_uri>` 应该是对所有主机都可用的完整URI路径, e.g.
`hdfs://[namenodeserver]:[namenodeport]/alluxio_backups/alluxio-journal-YYYY-MM-DD-timestamp.gz`

如果恢复成功，您应该会在master节点主日志中看到一行日志消息
```
INFO AlluxioMasterProcess - Restored 57 entries from backup
```<commit_msg>Fix unnecessary translation in docs/cn/Journal.md<commit_after>---
layout: global
title: 日志
nickname: 日志
group: Features
priority: 0
---

* Table of Contents
{:toc}

Alluxio维护日志，以支持元数据操作的持久性。当请求修改Alluxio状态时，例如创建或重命名文件在返回之前，
Alluxio将为操作写一个日志条目对客户的成功回应。日记条目是写向持久存储，如磁盘或HDFS，所以即使是Alluxio master进程被终止，
状态将在重新启动时恢复。

# 配置

要为日志设置的最重要的配置值是`alluxio.master.journal.folder`。这必须设置为所有主服务器都可以使用的共享文件系统。
在单主节店模式下，直接使用本地文件系统路径是可行的。对于分布在不同机器上的多个主目录，共享文件夹应该位于支持flush的分布式系统中，
比如HDFS或NFS。不建议将日志放在对象存储中。对于对象存储，对日志的每一次更新都需要创建一个新对象，
这对于大多数紧急的用例来说是非常缓慢的。

**配置示例:**
使用HDFS来存储日志：
```
alluxio.master.journal.folder=hdfs://[namenodeserver]:[namenodeport]/dir/alluxio_journal
```
使用本地文件系统来存储日志：
```
alluxio.master.journal.folder=/opt/alluxio/journal
```

# 格式化

第一次启动Alluxio master节点时，日志必须格式化。

**警告: 格式化日志将会删除Alluxio所有元数据**
```bash
$ bin/alluxio formatMaster
```

# 备份

Alluxio支持对日志进行备份，以便可以将Alluxio元数据恢复到以前的时间点。
生成备份会在备份发生时导致服务临时不可用。

使用 `fsadmin backup`命令生成备份。
```bash
$ bin/alluxio fsadmin backup
```

默认情况下，这将编写一个名为`alluxio-journal-YYYY-MM-DD-timestamp.gz`的备份指向文件系统下根目录的"/alluxio_backups"目录，
例如:hdfs://cluster/alluxio_backups。这个默认的备份目录可以通过设置`alluxio.master.backup.directory`来配置。

```
alluxio.master.backup.directory=/alluxio/backups
```

查看 [backup command documentation](Admin-CLI.html#backup) 获取写备份文件具体位置的额外配置。

# 恢复

要从日志备份中恢复Alluxio系统，请停止系统，格式化，
然后重新启动系统，使用 `-i`(import) 标志传递备份的URI。

```bash
$ bin/alluxio-stop.sh masters
$ bin/alluxio formatMaster
$ bin/alluxio-start.sh -i <backup_uri> masters
```

 `<backup_uri>` 应该是对所有主机都可用的完整URI路径, e.g.
`hdfs://[namenodeserver]:[namenodeport]/alluxio_backups/alluxio-journal-YYYY-MM-DD-timestamp.gz`

如果恢复成功，您应该会在master节点主日志中看到一行日志消息
```
INFO AlluxioMasterProcess - Restored 57 entries from backup
```
{'fraction_non_alphanumeric': 0.13151728178090216, 'fraction_numerical': 0.0017574692442882249, 'mean_word_length': 7.801546391752577, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1411642', 'n_tokens_mistral': 2087, 'n_tokens_neox': 2277, 'n_words': 168}