Orca: update yarn tutorial (#6857)
* doc: 1. update yarn tutorial 2. upload deployment diagram. * fix: code style. * fix: remove unnecessary changes. * fix: code style. * fix: fix wording. * fix: fix wording.
This commit is contained in:
parent
b82975a8d1
commit
b96d39db4a
1 changed files with 53 additions and 56 deletions
|
|
@ -77,26 +77,26 @@ def train_data_creator(config, batch_size):
|
|||
Before running BigDL Orca programs on YARN, you need to properly setup the environment following the steps in this section.
|
||||
|
||||
__Note__:
|
||||
* When using [`python` command](#use-python-command) or [`bigdl-submit`](#use-bigdl-submit), we would directly use the corresponding `pyspark` (which is a dependency of BigDL Orca) for the Spark environment. Thus to avoid possible conflicts, you *DON'T* need to download Spark by yourself or set the environment variable `SPARK_HOME` unless you [`spark-submit`](#use-spark-submit).
|
||||
* When using [`python` command](#use-python-command) or [`bigdl-submit`](#use-bigdl-submit), we would directly use the corresponding `pyspark` (which is a dependency of BigDL Orca) for the Spark environment. Thus to avoid possible conflicts, you *DON'T* need to download Spark by yourself or set the environment variable `SPARK_HOME` unless you use [`spark-submit`](#use-spark-submit).
|
||||
|
||||
|
||||
### 2.1 Setup JAVA & Hadoop Environment
|
||||
- See [here](../Overview/install.md#install-java) to prepare Java in your cluster.
|
||||
|
||||
- Check the Hadoop setup and configurations of your cluster. Make sure you correctly set the environment variable `HADOOP_CONF_DIR`, which is needed to initialize Spark on YARN:
|
||||
```bash
|
||||
export HADOOP_CONF_DIR=/path/to/hadoop/conf
|
||||
```
|
||||
```bash
|
||||
export HADOOP_CONF_DIR=/path/to/hadoop/conf
|
||||
```
|
||||
|
||||
### 2.2 Install Python Libraries
|
||||
- See [here](../Overview/install.md#install-anaconda) to install conda and prepare the Python environment on the __Client Node__.
|
||||
|
||||
- See [here](../Overview/install.md#install-bigdl-orca) to install BigDL Orca in the created conda environment.
|
||||
- See [here](../Overview/install.md#install-bigdl-orca) to install BigDL Orca in the created conda environment. Note that if you use [`spark-submit`](#use-spark-submit), please skip this step and __DO NOT__ install BigDL Orca.
|
||||
|
||||
- You should install all the other Python libraries that you need in your program in the conda environment as well. `torch` and `torchvision` are needed to run the Fashion-MNIST example:
|
||||
```bash
|
||||
pip install torch torchvision
|
||||
```
|
||||
```bash
|
||||
pip install torch torchvision
|
||||
```
|
||||
|
||||
- For more details, please see [Python User Guide](https://bigdl.readthedocs.io/en/latest/doc/UserGuide/python.html).
|
||||
|
||||
|
|
@ -104,10 +104,10 @@ pip install torch torchvision
|
|||
* For [CDH](https://www.cloudera.com/products/open-source/apache-hadoop/key-cdh-components.html) users, the environment variable `HADOOP_CONF_DIR` should be `/etc/hadoop/conf` by default.
|
||||
|
||||
* The __Client Node__ may have already installed a different version of Spark than the one installed with BigDL. To avoid conflicts, unset all Spark-related environment variables (you may use use `env | grep SPARK` to find all of them):
|
||||
```bash
|
||||
unset SPARK_HOME
|
||||
unset ...
|
||||
```
|
||||
```bash
|
||||
unset SPARK_HOME
|
||||
unset ...
|
||||
```
|
||||
|
||||
---
|
||||
## 3. Prepare Dataset
|
||||
|
|
@ -136,41 +136,41 @@ Spark allows to upload Python files (`.py`), and zipped Python packages (`.zip`)
|
|||
|
||||
The FasionMNIST example needs to import modules from [`model.py`](https://github.com/intel-analytics/BigDL/blob/main/python/orca/tutorial/pytorch/FashionMNIST/model.py).
|
||||
* When using [`python` command](#use-python-command), please specify `extra_python_lib` in `init_orca_context`.
|
||||
```python
|
||||
init_orca_context(..., extra_python_lib="model.py")
|
||||
```
|
||||
```python
|
||||
init_orca_context(..., extra_python_lib="model.py")
|
||||
```
|
||||
|
||||
For more details, please see [BigDL Python Dependencies](https://bigdl.readthedocs.io/en/latest/doc/Orca/Overview/orca-context.html#python-dependencies).
|
||||
|
||||
* When using [`bigdl-submit`](#use-bigdl-submit) or [`spark-submit`](#use-spark-submit), please specify `--py-files` option in the submit command.
|
||||
```bash
|
||||
bigdl-submit # or spark-submit
|
||||
...
|
||||
--py-files model.py
|
||||
...
|
||||
```
|
||||
```bash
|
||||
bigdl-submit # or spark-submit
|
||||
...
|
||||
--py-files model.py
|
||||
...
|
||||
```
|
||||
|
||||
For more details, please see [Spark Python Dependencies](https://spark.apache.org/docs/latest/submitting-applications.html).
|
||||
|
||||
* After uploading `model.py` to YARN, you can import this custom module as follows:
|
||||
```python
|
||||
from model import model_creator, optimizer_creator
|
||||
```
|
||||
```python
|
||||
from model import model_creator, optimizer_creator
|
||||
```
|
||||
|
||||
__Note__:
|
||||
|
||||
If your program depends on a nested directory of Python files, you are recommended to follow the steps below to use a zipped package instead.
|
||||
|
||||
1. Compress the directory into a zipped package.
|
||||
```bash
|
||||
zip -q -r FashionMNIST_zipped.zip FashionMNIST
|
||||
```
|
||||
```bash
|
||||
zip -q -r FashionMNIST_zipped.zip FashionMNIST
|
||||
```
|
||||
2. Upload the zipped package (`FashionMNIST_zipped.zip`) to YARN by setting `--py-files` or specifying `extra_python_lib` as discussed above.
|
||||
|
||||
3. You can then import the custom modules from the unzipped file in your program as follows:
|
||||
```python
|
||||
from FashionMNIST.model import model_creator, optimizer_creator
|
||||
```
|
||||
```python
|
||||
from FashionMNIST.model import model_creator, optimizer_creator
|
||||
```
|
||||
|
||||
---
|
||||
## 5. Run Jobs on YARN
|
||||
|
|
@ -288,37 +288,34 @@ In the `bigdl-submit` script:
|
|||
|
||||
|
||||
### 5.3 Use `spark-submit`
|
||||
When you are not able to install BigDL using conda on the __Client Node__ , please use the `spark-submit` script instead.
|
||||
If you prefer to use `spark-submit` instead of `bigdl-submit`, please follow the steps below to prepare the environment on the __Client Node__.
|
||||
|
||||
Set the cluster_mode to "spark-submit" in `init_orca_context`.
|
||||
```python
|
||||
sc = init_orca_context(cluster_mode="spark-submit")
|
||||
```
|
||||
1. Set the cluster_mode to "spark-submit" in `init_orca_context`.
|
||||
```python
|
||||
sc = init_orca_context(cluster_mode="spark-submit")
|
||||
```
|
||||
|
||||
Before submitting the application on the __Client Node__, you need to:
|
||||
- First, prepare the conda environment on a __Development Node__ where conda is available and pack the conda environment to an archive:
|
||||
```bash
|
||||
conda pack -o environment.tar.gz
|
||||
```
|
||||
2. Download requirement file [here](https://github.com/intel-analytics/BigDL/tree/main/python/requirements/orca) and install required Python libraries of BigDL Orca according to your needs.
|
||||
```bash
|
||||
pip install -r /path/to/requirements.txt
|
||||
```
|
||||
|
||||
- Then send the conda archive to the __Client Node__;
|
||||
```bash
|
||||
scp /path/to/environment.tar.gz username@client_ip:/path/to/
|
||||
```
|
||||
3. Pack the current activate conda environment to an archive before submitting the example:
|
||||
```bash
|
||||
conda pack -o environment.tar.gz
|
||||
```
|
||||
|
||||
4. Download and extract [Spark](https://archive.apache.org/dist/spark/). Then setup the environment variables `${SPARK_HOME}` and `${SPARK_VERSION}`.
|
||||
```bash
|
||||
export SPARK_HOME=/path/to/spark # the folder path where you extract the Spark package
|
||||
export SPARK_VERSION="downloaded spark version"
|
||||
```
|
||||
|
||||
On the __Client Node__:
|
||||
- Download and extract [Spark](https://archive.apache.org/dist/spark/). Then setup the environment variables `${SPARK_HOME}` and `${SPARK_VERSION}`.
|
||||
```bash
|
||||
export SPARK_HOME=/path/to/spark # the folder path where you extract the Spark package
|
||||
export SPARK_VERSION="downloaded spark version"
|
||||
```
|
||||
|
||||
- Refer to [here](../Overview/install.html#download-bigdl-orca) to download and unzip a BigDL assembly package. Make sure the Spark version of your downloaded BigDL matches your downloaded Spark. Then setup the environment variables `${BIGDL_HOME}` and `${BIGDL_VERSION}`.
|
||||
```bash
|
||||
export BIGDL_HOME=/path/to/unzipped_BigDL
|
||||
export BIGDL_VERSION="downloaded BigDL version"
|
||||
```
|
||||
5. Refer to [here](../Overview/install.html#download-bigdl-orca) to download and unzip a BigDL assembly package. Make sure the Spark version of your downloaded BigDL matches your downloaded Spark. Then setup the environment variables `${BIGDL_HOME}` and `${BIGDL_VERSION}`.
|
||||
```bash
|
||||
export BIGDL_HOME=/path/to/unzipped_BigDL
|
||||
export BIGDL_VERSION="downloaded BigDL version"
|
||||
```
|
||||
|
||||
Some runtime configurations for Spark are as follows:
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue