Amazon s3 Nomad将下载的S3文件放在哪里?
我有以下游牧工作:Amazon s3 Nomad将下载的S3文件放在哪里?,amazon-s3,nomad,Amazon S3,Nomad,我有以下游牧工作: job "aws_s3_copy_rev2" { datacenters = ["dc1"] type = "system" group "aws_s3_copy_rev2" { count = 1 task "aws_s3_copy_rev2" { driver = "raw_exec" artifact { source = "s3::https://my-data-files/123/"
job "aws_s3_copy_rev2" {
datacenters = ["dc1"]
type = "system"
group "aws_s3_copy_rev2" {
count = 1
task "aws_s3_copy_rev2" {
driver = "raw_exec"
artifact {
source = "s3::https://my-data-files/123/"
}
resources {
cpu = 500 # 500 MHz
memory = 256 # 256MB
network {
port "http" {}
}
}
}
}
}
我使用nomad run aws\u s3\u copy\u rev2.nomad
提交了作业。但我不知道文件下载到哪里。游牧者把下载的S3文件放在哪里
这是我启动Nomad代理的配置文件
# Increase log verbosity
log_level = "DEBUG"
# Setup data dir
data_dir = "/tmp/client1"
# Give the agent a unique name. Defaults to hostname
name = "client1"
# Enable the client
client {
enabled = true
# For demo assume we are talking to server1. For production,
# this should be like "nomad.service.consul:4647" and a system
# like Consul used for service discovery.
servers = ["xxx:4647"]
options {
"driver.raw_exec.enable" = "1"
}
}
# Modify our port to avoid a collision with server1
ports {
http = 5657
}
通常工件存储在Nomad分配之外的分配文件夹中,默认情况下,Linux机器上的分配文件夹是
/etc/Nomad.d/alloc///local/
。不确定其他操作系统上的东西落在哪里
在本例中,您的数据\u dir
被设置为/tmp/client1
,因此我希望这些文件类似于/tmp/client1/alloc///local/
需要注意的是,这些工件是在运行作业分配的Nomad“client”上生成的,而不是在启动作业的机器上生成的
此外,您可能需要小心地在/tmp文件夹中查找Nomad数据目录,因为它可能会定期被删除,这可能解释了您找不到这些文件的原因。通常工件存储在Nomad分配之外的分配文件夹中,在Linux机器上,默认情况下是
/etc/nomad.d/alloc///local//
。不确定其他操作系统上的东西落在哪里
在本例中,您的数据\u dir
被设置为/tmp/client1
,因此我希望这些文件类似于/tmp/client1/alloc///local/
需要注意的是,这些工件是在运行作业分配的Nomad“client”上生成的,而不是在启动作业的机器上生成的
此外,您可能需要小心地在/tmp文件夹中创建Nomad数据目录的根目录,因为它可能会定期被删除,这可能解释了您找不到这些文件的原因。您可以在Nomad环境中将此目录引用为${Nomad\u TASK\u DIR} 并使用以下路径访问或执行文件:
artifact {
source = "s3::https://some-bucket/code/archive-logs.sh"
destination = "/local/"
}
driver = "raw_exec"
kill_timeout = "120s"
config {
command = "/bin/bash"
args = ["${NOMAD_TASK_DIR}/archive-logs.sh","7"]
}
您可以在nomad环境中将此目录引用为${nomad\u TASK\u DIR} 并使用以下路径访问或执行文件:
artifact {
source = "s3::https://some-bucket/code/archive-logs.sh"
destination = "/local/"
}
driver = "raw_exec"
kill_timeout = "120s"
config {
command = "/bin/bash"
args = ["${NOMAD_TASK_DIR}/archive-logs.sh","7"]
}
我在
/etc/
中找不到nomad.d
目录。根据您提供的配置更新了我的答案。我在/etc/
中找不到nomad.d
目录。根据您提供的配置更新了我的答案。