cacheadmin
Командная строка позволяет взаимодействовать с пулами кеша и директивами с помощью подкоманды hdfs cacheadmin
.
Директивы кеша идентифицируются уникальным, неповторяющимся 64-битным целочисленным идентификатором. Идентификаторы не будут повторно использоваться, даже если директива кеша будет впоследствии удалена. Пулы кеша идентифицируются уникальным строковым именем.
Команды директив кеша
addDirective
Добавляет новую директиву кеша.
$ hdfs cacheadmin -addDirective -path <path> -pool <pool-name> [-force] [-replication <replication>] [-ttl <time-to-live>]
<path> |
Путь к кешу. Можно указать путь к каталогу или файлу |
<pool-name> |
Указывает пул, к которому добавится директива. Для добавления новых директив необходимо иметь права записи в пул кеша |
-force |
Пропускает проверку лимитов ресурсов пула кеша |
<replication> |
Указывает используемое значение репликации кеша |
<time-to-live> |
Указывает время, в течение которого директива действительна. Можно указать в минутах, часах, днях и так далее. Например, |
removeDirective
Удаляет все директивы кеша в указанном пути.
$ hdfs cacheadmin -removeDirective <id>
<path> |
Путь к директивам кеша для удаления. Необходимо иметь разрешение на запись в пул директивы, чтобы удалить ее |
listDirectives
Показывает список директив кеша.
$ hdfs cacheadmin -listDirectives [-stats] [-path <path>] [-pool <pool>]
<path> |
Перечисляет только директивы кеша с этим путем. Если в пуле кеша есть директива кеша для пути, к которому у вас нет прав на чтение, она не будет отображена в списке |
<pool> |
Показывает директивы кеша только в данном пуле |
-stats |
Показывает статистику директив кеша на основе путей |
Cache pool commands
addPool
Добавляет новый пул кеша.
$ hdfs cacheadmin -addPool <name> [-owner <owner>] [-group <group>] [-mode <mode>] [-limit <limit>] [-maxTtl <maxTtl>]
<name> |
Имя нового пула. Если в пуле кеша есть директива кеша для пути, к которому у вас нет прав на чтение, она не будет включена в список |
<owner> |
Имя пользователя владельца пула. По умолчанию указывается текущий пользователь |
<group> |
Группа пула. По умолчанию указывается имя основной группы текущего пользователя |
<mode> |
Разрешения в стиле UNIX для пула.
Разрешения указываются в восьмеричном формате, например, |
<limit> |
Максимальное количество байт, которое может быть совокупно кешировано директивами в этом пуле. По умолчанию ограничение не задается |
<maxTtl> |
Максимально допустимое время жизни для директив, добавляемых в пул.
Это значение может быть указано в секундах, минутах, часах и днях, например, |
modifyPool
Изменяет метаданные существующего пула кеша
$ hdfs cacheadmin -modifyPool <name> [-owner <owner>] [-group <group>] [-mode <mode>] [-limit <limit>] [-maxTtl <maxTtl>]
<name> |
Имя пула для изменения |
<owner> |
Имя пользователя владельца пула |
<group> |
Имя группы пула |
<mode> |
Разрешения для пула в стиле UNIX в восьмеричном формате |
<limit> |
Максимальное количество байтов, которые могут быть кешированы этим пулом |
<maxTtl> |
Максимальное время жизни директив, добавляемых в пул |
removePool
Удаляет пул кеша. При этом также удаляются пути, связанные с пулом.
$ hdfs cacheadmin -removePool <name>
<name> |
Имя пула кеша для удаления |