插件¶
可用插件列表¶
用于集群管理的 Anaconda 可以在集群上安装和管理以下插件:
以下插件不受支持,只能用于原型设计/实验目的:
如果您有兴趣将 Anaconda 与生产 Hadoop 集群一起使用,用于集群管理的 Anaconda 可与Cloudera CDH 或Hortonworks HDP等企业 Hadoop 发行版配合使用 。
在现有企业 Hadoop 安装的集群上,用于集群管理的 Anaconda 可以管理包(例如,用于 PySpark、SparkR 或 Dask)并且可以安装和管理 Jupyter Notebook 和 Dask 插件。
安装插件¶
可以使用两种方法安装插件:
profile.yaml
在创建或供应集群时使用集群文件。- 创建集群后使用该命令。
acluster install
1. 使用 profile.yaml 文件安装插件
创建或配置集群时,创建或编辑文件
~/.acluster/profiles.d/profile_name.yaml
,如下例所示:
name: profile_name
provider: aws
node_id: ami-d05e75b8 # Ubuntu 14.04, us-east-1 region
user: ubuntu
node_type: m3.large
num_nodes: 5
plugins:
- notebook
- dask
或者,您可以从您的配置文件中配置一些插件设置。例如,您可以使用以下命令指定密码来保护 Jupyter Notebook:
name: profile_name
provider: aws
node_id: ami-d05e75b8 # Ubuntu 14.04, us-east-1 region
user: ubuntu
node_type: m3.large
num_nodes: 5
plugins:
- notebook:
password: secret
有关配置插件设置的更多详细信息,请参阅插件设置部分。
2.使用acluster install命令安装插件
创建集群后,您可以使用命令查看可用插件列表,如下例所示:acluster install
$ acluster install
Usage: acluster install [OPTIONS] COMMAND [ARGS]...
Install plugins across the cluster
Options:
-h, --help Show this message and exit.
Commands:
conda Install (mini)conda
dask Install Dask/Distributed
elasticsearch Install Elasticsearch
ganglia Install Ganglia
hdfs Install HDFS
hive Install Hive
impala Install Impala
ipython-parallel Install IPython Parallel
kibana Install Kibana
notebook Install Jupyter Notebook
logstash Install Logstash
salt Install Salt
spark-standalone Install Spark (standalone)
spark-yarn Install Spark (YARN)
storm Install Storm
yarn Install YARN
zookeeper Install Zookeeper
以上所有子命令都可以选择接收一个--cluster/-x
选项来指定集群。如果您只运行一个集群,则不需要此选项。
注意:Salt 是除 Conda 之外的所有插件的基础。因此,需要先安装 Salt 插件,然后才能安装其他插件。当您使用or命令创建或配置集群时,默认情况下会安装 Salt
。acluster create
acluster provision
插件设置¶
以下插件支持可以在配置文件中定义的自定义设置。
Conda¶
配置要在创建或配置集群时安装的 conda 包和环境:
name: profile_name
plugins:
- conda:
environments:
root:
- numpy
py27:
- python=2.7
- scipy
- numba
py34:
- python=3.4
- pandas
- nltk
配置conda的安装位置(默认:)/opt/anaconda
:
name: profile_name
plugins:
- conda:
install_prefix: /opt/another_anaconda
设置conda_sh
为 false 以禁用/etc/profile.d/conda.sh
在集群节点上的创建
(默认值:true):
name: profile_name
plugins:
- conda:
conda_sh: false
设置conda_group_name
为任何有效的 unix 组(默认:anaconda):
name: profile_name
plugins:
- conda:
conda_group_name: anaconda
设置conda_acl
为将获得 Anaconda Cluster 管理功能访问权限的用户列表。注意:使用此设置时,至少一个用户必须在配置阶段具有 sudo 访问权限。通常,这将包括之前设置为 的用户user
。
name: profile_name
plugins:
- conda:
conda_acl:
- user1
- user2
设置ssl_verify
为自定义 SSL 路径或False
禁用 SSL 验证conda
。
有关更多信息,请参阅conda 文档。
name: profile_name
plugins:
- conda:
ssl_verify: False
达克¶
您可以选择设置nprocs
用于 Dask/分布式工作者的进程数 ( ) 以及host
通过浏览器访问 Dask/分布式 UI 的进程数。
有关这些设置的更多信息,请参阅
Dask 分布式调度程序文档。
name: profile_name
plugins:
- dask:
nprocs: 8
host: dask-ui.com
HDFS ¶
默认情况下,HDFS 插件配置为使用以下目录:
/data/dfs/nn
在名称节点和数据/data/dfs/dn
节点上。当有多个驱动器可用时,在所有非根驱动器上使用相同的目录。
您可以选择为 HDFS namenode 和 datanode 设置自定义目录。例如,如果您想利用大型根卷(例如,使用root_volume
Amazon EC2的配置文件设置),可以使用以下设置:
name: profile_name
plugins:
- hdfs:
namenode_dirs:
- /data/dfs/nn
datanode_dirs:
- /data/dfs/dn
Jupyter 笔记本¶
设置自定义密码以保护 Jupyter Notebook(默认值:)acluster
:
name: profile_name
plugins:
- notebook:
password: acluster
为 Jupyter Notebook 服务器设置自定义端口(默认:)8888
:
name: profile_name
plugins:
- notebook:
port: 8888
为 Jupyter Notebooks 设置自定义目录(默认:)/opt/notebooks
:
name: profile_name
plugins:
- notebook:
directory: /opt/notebooks
插件的自定义下载设置¶
大多数插件是从 Linux 发行版的标准包管理存储库中安装的。一些插件直接从它们的源/项目网站下载。您可以覆盖以下插件的默认下载设置:
name: profile_name
plugins:
- elasticsearch:
download_url: https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.1.0/elasticsearch-2.1.0.tar.gz
download_hash: sha1=b6d681b878e3a906fff8c067b3cfe855240bffbb
version: elasticsearch-2.1.0
- logstash:
download_url: https://download.elastic.co/logstash/logstash/logstash-2.1.1.tar.gz
download_hash: sha1=d71a6e015509030ab6012adcf79291994ece0b39
version: logstash-2.1.1
- kibana:
download_url: https://download.elastic.co/kibana/kibana/kibana-4.3.0-linux-x64.tar.gz
download_hash: sha1=d64e1fc0ddeaaab85e168177de6c78ed82bb3a3b
version: kibana-4.3.0-linux-x64
- storm:
source_url: http://apache.arvixe.com/storm/apache-storm-0.9.5/apache-storm-0.9.5.tar.gz
version_name: apache-storm-0.9.5
管理插件¶
以下命令可用于管理您的插件:
插件状态¶
使用以下命令检查插件的状态:acluster status
$ acluster status
Usage: acluster status [OPTIONS] COMMAND [ARGS]...
Options:
-x, --cluster TEXT Cluster name
-l, --log-level [info|debug|error]
Library logging level
-h, --help Show this message and exit.
Commands:
conda Check Conda status
dask Check Dask/Distributed status
elasticsearch Check Elasticsearch status
ganglia Check Ganglia status
hdfs Check HDFS status
hive Check Hive status
impala Check Impala status
ipython-parallel Check IPython Parallel status
kibana Check Kibana status
notebook Check IPython/Jupyter Notebook status
salt Check Salt package status
salt-conda Check Salt Conda module status
salt-key Check salt-minion keys status
spark-standalone Check Spark (standalone) status
ssh Check SSH status
storm Check Storm status
yarn Check YARN status
例子:
$ acluster status conda
Checking status of conda on cluster: demo_cluster
54.81.187.22: True
54.91.219.252: True
54.163.26.229: True
54.145.10.211: True
Status all: True
$ acluster status salt
54.167.128.130: True
54.205.160.114: True
50.16.32.99: True
50.16.34.82: True
54.163.143.34: True
Status all: True
$ acluster status salt-key
ip-10-156-23-215.ec2.internal: True
ip-10-147-47-235.ec2.internal: True
ip-10-225-181-251.ec2.internal: True
ip-10-237-145-2.ec2.internal: True
ip-10-156-30-32.ec2.internal: True
Status all: True
$ acluster status salt-conda
ip-10-156-23-215.ec2.internal: True
ip-10-237-145-2.ec2.internal: True
ip-10-225-181-251.ec2.internal: True
ip-10-147-47-235.ec2.internal: True
ip-10-156-30-32.ec2.internal: True
Status all: True
多个盐状态检查执行不同的检查。该
命令验证是否安装了 salt 包,该
命令验证了 salt minion 是否连接到头节点,该
命令验证了 salt conda 模块是否分布在整个集群中并且可以运行。acluster status salt
acluster status salt-key
acluster status salt-conda
上述所有检查在执行后都应返回成功状态。acluster install salt
插件说明和网络端口¶
HDFS ¶
要求: salt
许多分布式分析引擎,如所使用的分布式文件系统Impala
,Hive
以及Spark
。
服务 | 地点 | 港口 |
---|---|---|
名称节点界面 | 头节点 | 50070 |
HDFS大师 | 头节点 | 9000 |
网络HDFS | 头节点 | 14000 |
Jupyter 笔记本¶
要求: salt
基于 Web 的 Python 交互式计算环境。
服务 | 地点 | 港口 |
---|---|---|
笔记本 | 头节点 | 8888 |
笔记本保存在目录中/opt/notebooks
。您可以分别使用put
和get
命令从集群上传和下载笔记本。
$ acluster put mynotebook.ipynb /opt/notebooks/mynotebook.ipynb
$ acluster get /opt/notebooks/mynotebook.ipynb mynotebook.ipynb
迷你Conda¶
来自Anaconda 的Python 发行版——随附用于大规模数据处理、预测分析和科学计算的 Python 库。