Tensorflowonspark standalone安装
来源:互联网 发布:百度程序员待遇 编辑:程序博客网 时间:2024/05/16 08:06
Tensorflowonspark standalone安装
1. 实验环境
Centos7 , jdk1.8.0_65 , hadoop2.7.4
Spark1.6.0 , tensorflow0.12.1 ,tensorflowonspark1.0.2
虚拟机地址:
192.168.1.84(master)
192.168.1.85(slave)
192.168.1.86(slave)
2. 搭建hadoop集群
hadoop完全分布式安装过程
搭建spark集群(standalone模式)
Master 机器:
下载spark-1.6.0-bin-hadoop2.6.tar,放在/opt/lqu/packages(这是我自己设置的目录)- 解压:
tar -xvf spark-1.6.0-bin-hadoop2.6.tar
- spark配置:
进入conf目录:
①cp spark-env.sh.template spark-env.sh
vim spark-env.sh
export JAVA_HOME=/opt/lqu/packages/jdk1.8.0_65
export SPARK_MASTER_IP=192.168.1.84
export SPARK_WORKER_MEMORY=1g
export HADOOP_CONF_DIR=/opt/lqu/packages/hadoop- 2.7.4/etc/hadoop
export HADOOP_HDFS_HOME=/opt/lqu/packages/hadoop-2.7.4/
SPARK_WORKER_CORES=1
[注]:SPARK_WORKER_MEMORY: Worker 节点能够分配给 Executors 的最大内存大小
SPARK_WORKER_CORES:电脑的核数(上面这两个参数通过命令行可以查)②
cp slaves.template slaves
- 解压:
vim slaves 192.168.1.84 192.168.1.85 192.168.1.86
[注]:192.168.1.84既是master节点,也是worker节点
- 修改配置文件
vim /etc/profile
export SPARK_HOME=/opt/lqu/packages/spark-1.6.0-bin-hadoop2.6export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
让配置文件生效:source /etc/profile
配置完成
4. 启动
①首先查看hadoop集群是否启动,可使用jps查看
在master(192.168.1.84)启动
cd /opt/lqu/packages/spark-1.6.0-bin-hadoop2.6/sbin
启动master:start-master.sh
启动slaves:start-slaves.sh
②在master节点查看
在其他两台slave上查看:
③ 浏览器观察spark
Standalone集群安装:https://my.oschina.net/jackieyeah/blog/659741
这篇文章很详细
4 . 安装tensorflow
1. 安装python2.7
电脑自带python2.7.5,省略这一步
2. 安装pip
curl -O https://bootstrap.pypa.io/get-pip.pypython get-pip.py
- 使用pip安装tensorflow(使用清华镜像源)
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow==0.12.1
因为官方给出的示例版本是0.12.1,所以安装该版本,要不然版本不兼容容易出现一些不知道的错误
4. 查看
安装成功
【坑】给三台虚拟机都安装tensorflow,之前只给master节点安装tensorflow,其他两台找不到six.moves.queue模块。
5. 安装tensorflowonspark
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflowonspark
git clone https://github.com/yahoo/TensorFlowOnSpark.gitcd TensorFlowOnSparkexport TFoS_HOME=$(pwd)
打包tensorflowonspark目录的文件
zip -r tfspark.zip tensorflowonspark/*
tfspark.zip是我们生成的python库文件,之后提交Spark的时候用到,其就是把tensorflowonspark所有文件进行了打包。
6. 样例测试
1. 下载数据集
mkdir ${TFoS_HOME}/mnistcd ${TFoS_HOME}/mnistcurl -O "http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz"curl -O "http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz"curl -O "http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz"curl -O "http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz"
2. 转换mnist数据集(.gz-->csv)
在hdfs上/user/root/建立目录examples/mnist/csv
[注]因为我是用root用户运行的,所以在/user/root底下建立目录,如果是其他用户运行,则在/user/${user}下建立目录
${SPARK_HOME}/bin/spark-submit \--master=local[*] \${TFoS_HOME}/examples/mnist/mnist_data_setup.py \--output examples/mnist/csv \--format csv
将上面的地址改为实际下载目录
转换成功后查看hdfs,生成2个目录
3. 训练模型
${SPARK_HOME}/bin/spark-submit \--master=spark://192.168.1.84:7077 \--conf spark.executorEnv.LD_LIBRARY_PATH="${JAVA_HOME}/jre/lib/amd64/server“\--conf spark.executorEnv.CLASSPATH="$($HADOOP_HOME/bin/hadoop classpath --glob):${CLASSPATH}" \--py-files ${TFoS_HOME}/examples/mnist/spark/mnist_dist.py,${TFoS_HOME}/tfspark.zip \--conf spark.cores.max=3 \--conf spark.task.cpus=1 \${TFoS_HOME}/examples/mnist/spark/mnist_spark.py \--cluster_size 3 \--images examples/mnist/csv/train/images \--labels examples/mnist/csv/train/labels \--format csv \--mode train \--model mnist_model
spark.cores.max/spark.task.cpus=workernumber,如果设置不满的话会出现无限等待的情况。
spark.cores.max(集群总核数)
spark.task.cpus(worker节点分配核数)
将mnist_dist.py 的logdir改为本地路径,如logdir=’/tmp/’+args.model
运行成功后,hdfs查看:
4. 预测模型
${SPARK_HOME}/bin/spark-submit \--master spark://192.168.1.84:7077 \--conf spark.executorEnv.LD_LIBRARY_PATH="${JAVA_HOME}/jre/lib/amd64/server" \--conf spark.executorEnv.CLASSPATH="$($HADOOP_HOME/bin/hadoop classpath --glob):${CLASSPATH}" \--py-files ${TFoS_HOME}/tfspark.zip,${TFoS_HOME}/examples/mnist/spark/mnist_dist.py \--conf spark.cores.max=3 \--conf spark.task.cpus=1 \--conf spark.executorEnv.JAVA_HOME="$JAVA_HOME" \${TFoS_HOME}/examples/mnist/spark/mnist_spark.py \--cluster_size 3 \--images examples/mnist/csv/test/images \--labels examples/mnist/csv/test/labels \--mode inference \--format csv \--model mnist_model \--output predictions
终于成功了
在经历无数次才坑爬坑后,终于成功了,一定要多看日志,再坚持一下,就成功了。
下面,推荐几个较好的链接
tensorflowonspark standalone安装
官方安装文档github
- Tensorflowonspark standalone安装
- TensorflowOnSpark 安装
- TensorflowOnSpark:1)Standalone集群初体验
- TensorflowOnSpark:1)Standalone集群初体验
- 如何安装Spark & TensorflowOnSpark
- TensorFlowOnSpark安装教程
- 如何安装Spark & TensorflowOnSpark
- 如何安装Spark & TensorflowOnSpark
- TensorFlowOnSpark
- Centos6安装TensorFlow及TensorFlowOnSpark
- 雅虎开源TensorflowOnSpark,Ubuntu配置安装TensorflowOnSpark
- <转>雅虎开源TensorflowOnSpark,Ubuntu配置安装TensorflowOnSpark
- 雅虎开源TensorflowOnSpark,Ubuntu配置安装TensorflowOnSpark
- 安装spark standalone mode
- zookeeper standalone模式安装
- Spark standalone模式安装
- Spark standalone集群安装
- Spark1.6安装-Standalone
- 【数据结构】【C++STL】动态数组 集合 映射和优先队列
- eclipse之project facets
- 小白入门---Vue无限滚动(vue-infinite-scroll)
- Android基础面试简答题
- iOS-百度语音识别
- Tensorflowonspark standalone安装
- python3基础知识一
- [Thinking in Java]
- [数位DP]HDU 4507——吉哥系列故事——恨7不成妻
- 创建类Student,在创建该类的对象,并实例化!
- 把二叉树打印成多行
- swagger 整合springmvc
- java常用包简介
- ArrayList