SeaweedFS
Iremos utilizar o SeaweedFS como nosso sistema de armazenamento de objetos (object storage) para o Data Lakehouse.
O SeaweedFS é um sistema de armazenamento compatível com a API do AWS S3, que pode ser executado localmente.
Preparar ambiente
Exercise
Configuração de credenciais
O SeaweedFS utiliza um arquivo de configuração JSON para definir os usuários e suas credenciais de acesso à API S3.
Crie o arquivo seaweedfs-s3.json com o seguinte conteúdo:
{
"identities": [
{
"name": "admin",
"credentials": [
{
"accessKey": "admin",
"secretKey": "password"
}
],
"actions": ["Admin", "Read", "List", "Tagging", "Write"]
}
]
}
Docker compose
Vamos utilizar o Docker Compose para facilitar a execução do SeaweedFS.
O arquivo docker-compose.yml deve conter:
services:
master:
image: chrislusf/seaweedfs:4.19
container_name: seaweedfs-master-intro
networks:
iceberg_net:
ports:
- 9333:9333
command: "master -ip=master"
volume:
image: chrislusf/seaweedfs:4.19
container_name: seaweedfs-volume-intro
networks:
iceberg_net:
ports:
- 8090:8080
command: "volume -mserver=master:9333 -port=8080"
depends_on:
- master
filer:
image: chrislusf/seaweedfs:4.19
container_name: seaweedfs-filer-intro
networks:
iceberg_net:
ports:
- 8889:8888
- 8333:8333
volumes:
- ./seaweedfs-s3.json:/etc/seaweedfs/s3.json:ro
command: "filer -master=master:9333 -s3 -s3.config=/etc/seaweedfs/s3.json"
depends_on:
- master
- volume
networks:
iceberg_net:
Exercise
Exercise
Exercise
Exercise
Exercise
Exercise
Remover containers
Exercise