-
Notifications
You must be signed in to change notification settings - Fork 466
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
docs: docs for fs related services (#2397)
* docs for sftp Signed-off-by: suyanhanx <[email protected]> * doc for ftp Signed-off-by: suyanhanx <[email protected]> * doc for hdfs Signed-off-by: suyanhanx <[email protected]> * doc for ipfs Signed-off-by: suyanhanx <[email protected]> * doc for webhdfs Signed-off-by: suyanhanx <[email protected]> * fix Signed-off-by: suyanhanx <[email protected]> --------- Signed-off-by: suyanhanx <[email protected]>
- Loading branch information
Showing
21 changed files
with
659 additions
and
328 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
## Capabilities | ||
|
||
This service can be used to: | ||
|
||
- [x] stat | ||
- [x] read | ||
- [x] write | ||
- [x] create_dir | ||
- [x] delete | ||
- [ ] copy | ||
- [ ] rename | ||
- [x] list | ||
- [ ] ~~scan~~ | ||
- [ ] ~~presign~~ | ||
- [ ] blocking | ||
|
||
## Configuration | ||
|
||
- `endpoint`: Set the endpoint for connection | ||
- `root`: Set the work directory for backend | ||
- `user`: Set the login user | ||
- `password`: Set the login password | ||
|
||
You can refer to [`FtpBuilder`]'s docs for more information | ||
|
||
## Example | ||
|
||
### Via Builder | ||
|
||
```rust | ||
use anyhow::Result; | ||
use opendal::services::Ftp; | ||
use opendal::Operator; | ||
|
||
#[tokio::main] | ||
async fn main() -> Result<()> { | ||
let mut builder = Ftp::default(); | ||
|
||
builder.endpoint("127.0.0.1"); | ||
|
||
let op: Operator = Operator::new(builder)?.finish(); | ||
Ok(()) | ||
} | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
A distributed file system that provides high-throughput access to application data. | ||
|
||
## Capabilities | ||
|
||
This service can be used to: | ||
|
||
- [x] stat | ||
- [x] read | ||
- [x] write | ||
- [x] create_dir | ||
- [x] delete | ||
- [ ] copy | ||
- [ ] rename | ||
- [x] list | ||
- [ ] ~~scan~~ | ||
- [ ] ~~presign~~ | ||
- [x] blocking | ||
|
||
## Differences with webhdfs | ||
|
||
[Webhdfs][crate::services::Webhdfs] is powered by hdfs's RESTful HTTP API. | ||
|
||
## Features | ||
|
||
HDFS support needs to enable feature `services-hdfs`. | ||
|
||
## Configuration | ||
|
||
- `root`: Set the work dir for backend. | ||
- `name_node`: Set the name node for backend. | ||
|
||
Refer to [`HdfsBuilder`]'s public API docs for more information. | ||
|
||
## Environment | ||
|
||
HDFS needs some environment set correctly. | ||
|
||
- `JAVA_HOME`: the path to java home, could be found via `java -XshowSettings:properties -version` | ||
- `HADOOP_HOME`: the path to hadoop home, opendal relays on this env to discover hadoop jars and set `CLASSPATH` automatically. | ||
|
||
Most of the time, setting `JAVA_HOME` and `HADOOP_HOME` is enough. But there are some edge cases: | ||
|
||
- If meeting errors like the following: | ||
|
||
```shell | ||
error while loading shared libraries: libjvm.so: cannot open shared object file: No such file or directory | ||
``` | ||
Java's lib are not including in pkg-config find path, please set `LD_LIBRARY_PATH`: | ||
```shell | ||
export LD_LIBRARY_PATH=${JAVA_HOME}/lib/server:${LD_LIBRARY_PATH} | ||
``` | ||
The path of `libjvm.so` could be different, please keep an eye on it. | ||
- If meeting errors like the following: | ||
```shell | ||
(unable to get stack trace for java.lang.NoClassDefFoundError exception: ExceptionUtils::getStackTrace error.) | ||
``` | ||
`CLASSPATH` is not set correctly or your hadoop installation is incorrect. | ||
To set `CLASSPATH`: | ||
```shell | ||
export CLASSPATH=$(find $HADOOP_HOME -iname "*.jar" | xargs echo | tr ' ' ':'):${CLASSPATH} | ||
``` | ||
## Example | ||
### Via Builder | ||
```rust | ||
use std::sync::Arc; | ||
use anyhow::Result; | ||
use opendal::services::Hdfs; | ||
use opendal::Operator; | ||
#[tokio::main] | ||
async fn main() -> Result<()> { | ||
// Create fs backend builder. | ||
let mut builder = Hdfs::default(); | ||
// Set the name node for hdfs. | ||
builder.name_node("hdfs://127.0.0.1:9000"); | ||
// Set the root for hdfs, all operations will happen under this root. | ||
// | ||
// NOTE: the root must be absolute path. | ||
builder.root("/tmp"); | ||
// `Accessor` provides the low level APIs, we will use `Operator` normally. | ||
let op: Operator = Operator::new(builder)?.finish(); | ||
Ok(()) | ||
} | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.