https://github.com/apache/ozone-go
Apache Ozone go client and fuse driver (experimental)
https://github.com/apache/ozone-go
fuse go ozone
Last synced: 2 months ago
JSON representation
Apache Ozone go client and fuse driver (experimental)
- Host: GitHub
- URL: https://github.com/apache/ozone-go
- Owner: apache
- License: apache-2.0
- Created: 2021-04-02T20:09:53.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-07-05T21:04:30.000Z (over 2 years ago)
- Last Synced: 2025-01-30T10:06:24.991Z (11 months ago)
- Topics: fuse, go, ozone
- Language: Go
- Homepage: https://ozone.apache.org
- Size: 191 KB
- Stars: 5
- Watchers: 35
- Forks: 10
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Go client for Apache Ozone
This repository contains an experimental, **proof-of-concept** Golang client for Apache Ozone.
It's not ready yet for using in production / non-production.
The repository contains the following sub-modules
* api: the location for the generic golang api for Apache Ozone
* cli: standalone executable tool for main operations (similar to the original `ozone sh`)
* lib: proof-of-concept shared C library
* python: example python script uses the shared C library
* HA failovoer is missing
Status:
* api
* main OM metadata operations worked well, but not all the fields are implemented
* data read / write are implemented on some level but needs further work
* security can be supported by the used Hadoop RPC implementation, but not tested
* fuse
* first working POC, files are successfully listed and files can be read
* write is not implemented at all
* requires major work
* shared lib / python: very basic example, poc
## Testing with cli:
```
cd cli
./build.sh
./ozone-go --om localhost volume create vol1
```
Or you can install it:
```
cd cli
go install
ozone -om 127.0.0.1 volume create vol1
```
## Testing Fuse file system
```
cd fuse
./build.sh
./ozone-fuse/ozone-fuse --om localhost --volume vol1 --bucket bucket1 /tmp/bucket1
```
## Testing the python binding
Create the shared library:
```
go build -o ozone.so -buildmode=c-shared lib/lib.go
```
Modify parameters of `python/test.py` (om address) and run it.