使用aconda3-5.1.0(Python3.6.4) 搭建pyspark远程部署

参考:http://ihoge.cn/2018/anacondaPyspark.html

前言

首次安装的环境搭配是这样的:
jdk8
hadoop2.6.5
spark2.1
scala2.12.4
Anaconda3-5.1.0
一连串的报错让人惊喜无限,尽管反复调整配置始终无法解决。

坑了一整天后最后最终发现是版本不兼容!!再次提醒自己一定要重视各组件版本的问题。这里最主要的是spark和Anaconda版本的兼容问题,为了兼容python3尽量用新版的spark。最终解决方案的版本搭配如下:
jdk8
hadoop2.7.5
spark2.3.0
scala2.11.12
Anaconda3-5.1.0

一、VM安装Ubuntu16.04虚拟机

sudo apt-get update
sudo apt-get install vim
sudo apt-get install openssh-server# 配置ssh免密登陆
ssh localhost
ssh-keygen -t rsa //一路回车
cat id_rsa.pub >> authorized_keyssudo vi /etc/hosts //添加各个节点ip
192.168.221.132 master
192.168.221.133 slave1
192.168.221.134 slave2# sudo vi /etc/hostname
master

二、配置profile环境变量

#Java
export JAVA_HOME=/home/hadoop/jdk1.8.0_161
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jar
#Hadoop
export HADOOP_HOME=/home/hadoop/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
#Scala
export SCALA_HOME=/home/hadoop/scala
export PATH=$PATH:$SCALA_HOME/bin
#Anaconda
export PATH=/home/hadoop/anaconda3/bin:$PATH
export PYSPARK_DRIVER_PYTHON=/home/hadoop/anaconda3/bin/jupyter
export PYSPARK_DRIVER_PYTHON_OPTS="notebook"
export PYSPARK_PYTHON=/home/hadoop/anaconda3/bin/python
#Spark
export SPARK_HOME=/home/hadoop/spark
export PATH=$PATH:$SPARK_HOME/bin

三、hadoop 六个配置文件

# hadoop-env.sh
export JAVA_HOME=/home/hadoop/hadoop/jdk1.8.0_161# core-site.xml
<configuration><property><name>hadoop.tmp.dir</name><value>file:/home/hadoop/hadoop/tmp</value><description>Abase for other temporary directories.</description></property><property><name>fs.defaultFS</name><value>hdfs://master:9000</value></property>
</configuration># hdfs-site.xml
<configuration><property><name>dfs.namenode.secondary.http-address</name><value>master:50090</value></property><property><name>dfs.replication</name><value>3</value></property><property><name>dfs.namenode.name.dir</name><value>file:/home/hadoop/hadoop/tmp/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/home/hadoop/hadoop/tmp/dfs/data</value></property>
</configuration># mapred-site.xml
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapreduce.jobhistory.address</name><value>master:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>master:19888</value></property>
</configuration># yarn-site.xml
<configuration><property><name>yarn.resourcemanager.hostname</name><value>master</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property>
</configuration># slaves
slave1
slave2

三、spark两个配置文件

# spark-env.sh
#java
export JAVA_HOME=/home/hadoop/jdk1.8.0_161
#scala
export SCALA_HOME=/home/hadoop/scala
#hadoop
export HADOOP_HOME=/home/hadoop/hadoop
export HADOOP_CONF_DIR=/home/hadoop/hadoop/etc/hadoop
export YARN_CONF_DIR=/home/hadoop/hadoop/etc/hadoop
#spark
export SPARK_HOME=/home/hadoop/spark
export SPARK_LOCAL_DIRS=/home/hadoop/spark
export SPARK_DIST_CLASSPATH=$(/home/hadoop/hadoop/bin/hadoop classpath)
export SPARK_WORKER_CORES=1
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_MEMORY=1g
export SPARK_MASTER_IP=master
export SPARK_LIBRARY_PATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$HADOOP_HOME/lib/native# slaves
slave1
slave2

四、解压缩文件

scp jdk-8u161-linux-x64.tar hadoop@master:~
scp Anaconda3-5.1.0-Linux-x86_64.sh hadoop@master:~
scp -r hadoop/ hadoop@master:~
scp -r scala/ hadoop@master:~
scp -r spark/ hadoop@master:~tar -xvf jdk-8u161-linux-x64.tar -C ./source ~/.profile
分别查看jdk版本、hadoop版本、scala版本# 集群模式启动spark查看jps
spark-shell --master spark://master:7077 --executor-memory 512m --total-executor-cores 2

五、安装Anaconda

bash Anaconda3-5.1.0-Linux-x86_64.sh -b# 创建配置jupyter_notebook_config.py
jupyter notebook --generate-config
vim ~/.jupyter/jupyter_notebook_config.pyc = get_config()
c.IPKernelApp.pylab = 'inline'
c.NotebookApp.ip = '*' 
c.NotebookApp.open.browser = False
c.NotebookApp.password = u''
c.NotebookApp.port = 8888

六、关机后克隆出两个新节点并配置相关内容

sudo vi /etc/hostnamesudo vi /etc/hosts

七、远程测试pyspark集群

# 服务器端启动集群
start-all.sh
spark/sbin/start-all.sh# hadoop和spark的进程都显示正常后开始启动pyspark
1、local模式运行
pyspark2、Stand Alone运行模式
MASTER=spark://master:7077 pyspark --num-executors 1 --total-executor-cores 3 --executor-memory 512m

然后在远程Web端输入192.168.221.132:8888
页面打开后需要输入验证信息(第一次验证即可):
输入上图token后面的字符串和用户密码

输入sc测试

至此,aconda3-5.1.0(Python3.6.4) 搭建pyspark远程服务器部署成功。

参考:http://ihoge.cn/2018/anacondaPyspark.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/293042.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

假如人类长出翅膀,会变成这种怪样子

鲁迅曾经说过&#xff1a;“不会画漫画的段子手不是好英语老师”咳咳~ 图图君就是这样一位专注知识科普的双语漫画家长按二维码带你去图图君家串串门儿想知道人类长出翅膀的怪样子吗&#xff1f;长按二维码关注回复“翅膀”寻找答案吧在这里你不仅可以大口呼吸知识还能顺便学个…

CSS3实战开发: 纯CSS实现图片过滤分类显示特效

CSS3实战开发: 纯CSS实现图片过滤分类显示特效 原文:CSS3实战开发: 纯CSS实现图片过滤分类显示特效各位网友大家好&#xff0c;今天我要带领大家开发一个纯CSS的图片分类显示的网址导航&#xff0c;单纯看标题大家可能有些困惑&#xff0c;依照以往惯例&#xff0c;我先给大家演…

C# WPF DataGrid获取单元格并改变背景色

01—概述WPF 自带了一个表格控件datagrid&#xff0c;这个控件类似winfrom中的datagridview&#xff0c;在数据显示的时候也经常会用到&#xff0c;这节主要讲解如何从后台代码获取到单元格控件并改变其相关属性&#xff1a;背景色、前景色、字体等。02—效果演示03—代码后台c…

PingingLab传世经典系列《CCNA完全配置宝典》-3.4 Trunk进阶配置

3.4 Trunk进阶配置实验目的&#xff1a;1、掌握Native vlan和Allow vlan的配置。2、理解Native vlan和Allow vlan的功能。实验拓扑&#xff1a;实验步骤&#xff1a;1、依据图中拓扑配置4台主机的IP地址&#xff0c;其中PC通过路由器模拟&#xff0c;配置如下&#xff1a;PC1(c…

python浮点数类型与数学_Python3标准库:decimal定点数和浮点数的数学运算

1. decimal定点数和浮点数的数学运算 decimal模块实现了定点和浮点算术运算&#xff0c;使用的是大多数人所熟悉的模型&#xff0c;而不是程序员熟悉的模式(即大多数计算机硬件实现的IEEE浮点数运算)。Decimal实例可以准确的表示如何数&#xff0c;对其上火其下取整&#xff0c…

业务功能中包含邮件发送,怎么测试?

前言网站开发中&#xff0c;经常碰到需要发送邮件的场景。比如&#xff0c;重置用户密码&#xff0c;需要执行下列流程&#xff1a;用户在重置页面输入邮箱地址进入邮箱&#xff0c;使用获得的重置链接打开重置页面输入新密码一般来说&#xff0c;重置链接都需要包含一个token值…

如何用CSS让一个容器水平垂直居中?

- 第一类&#xff08;被居中的元素有固定的宽高&#xff09; 效果&#xff1a; 第一种方法&#xff08;绝对定位 负margin&#xff09;<div class"div1"> <div class"div2"></div> </div><style type"text/css"&g…

和男朋友出去玩,该去哪里​?

1 当代熬夜人的脑回路&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼2 确实需要找一下眼珠子&#xff08;via.剪怪不怪&#xff0c;侵删&#xff09;▼3 原来是老师想太多&#xff08;via.万事屋纸纸酱&#xff0c;侵删&#xff09;▼4 有一个会英语的妈妈&#x…

查询表结构的语句总结

四种方式&#xff1a;① DESC 表名② DESCRIBE 表名③ SHOW COLUMNS FROM 表名④ SHOW CREATE TABLE 表名从以上图片结果中可以看出&#xff1a;show columns 和 desc 和 describe 的结果是一样的&#xff0c;即&#xff1a;会将查询的表的每个字段的具体信息列出来,查询的行数…

ch340串口驱动_关于串口下载问题和超时

串口下载适用于mini、精英、战舰、探索者、阿波罗429不适用于阿波罗767&#xff0c;H743&#xff0c;号令者1052保证板子在独立供电状态下&#xff0c;电源灯处于亮灯状态下&#xff0c;USB线接板子上USB_232&#xff0c;RXD 和 PA9(STM32 的 TXD)TXD 和 PA10(STM32的 RXD)通过…

tcpdump抓取HTTP包

http://blog.csdn.net/kofandlizi/article/details/8106841 cpdump -XvvennSs 0 -i eth0 tcp[20:2]0x4745 or tcp[20:2]0x4854 0x4745 为"GET"前两个字母"GE" 0x4854 为"HTTP"前两个字母"HT" 说明&#xff1a; 通常情况下:一…

cobbler工作流分析

官网 http://cobbler.github.io/ 介绍 Cobbler是一个快速网络安装linux的服务&#xff0c;而且在经过调整也可以支持网络安装windows。该工具使用python开发&#xff0c;小巧轻便&#xff0c;使用简单的命令即可完成PXE网络安装环境的配置&#xff0c;同时还可以管理DHCP、DNS、…

数学到底有多难难难难?看完这个,瞬间觉得智商都提高了!

▲ 点击查看数学家陈省身曾说过&#xff0c;我们每个人一生都花了很多时间学数学&#xff0c;但我们其实只是学会了计算&#xff0c;而不是数学。不知道你有没有听说过这样一句话&#xff1a;想要学好数学&#xff0c;就要靠刷题。尽管我们不得不承认&#xff0c;确实需要不断地…

matlab机械臂工作空间代码_【ROS-Moveit!】机械臂控制探索(3)——基于python的API示例代码分析...

本文参考Moveit!官方文档。系统&#xff1a;ubuntu 18.04 / 16.04ROS&#xff1a;Melodic / Kinetic概述基于python的运动组API是最简单的MoveIt!用户接口。其中提供了用户常用的大量功能封装&#xff0c;例如&#xff1a;设置目标关节控制或笛卡尔空间位置创建运动规划移动机器…

竟然有如何奇葩的如厕方式......

1 密集恐惧症一下子都好啦&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼2 请选择适合您的如厕方式&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼3 为什么当年的粉丝没有现在像这样互掐&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼4 怕什么…

crm开源系统 tp框架_八个开源的 Spring Boot 前后端分离项目,一定要收藏!

点击蓝色字关注我们前后端分离已经在慢慢走进各公司的技术栈&#xff0c;不少公司都已经切换到这个技术栈上面了。即使贵司目前没有切换到这个技术栈上面&#xff0c;也非常建议大家学习一下前后端分离开发&#xff0c;以免在公司干了两三年&#xff0c;SSH 框架用的滚瓜烂熟&a…

Spark运行原理剖析

http://ihoge.cn/2018/Spark%20Scheduler.html Apache Spark是一个开源的&#xff0c;强大的分布式查询和处理引擎。它提供MapReduce的灵活性和可扩展性&#xff0c;但速度明显更高。 Spark的核心是根据RDD来实现的&#xff0c;Spark Scheduler则为Spark核心实现的重要一环…

那些奇奇怪怪的男性用品......

1 原来浣熊竟是我自己&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼2 能不能对全靠运气&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼3 万万没想到是这个结局&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼4 真实版出猪车&#xff08;素材来…

.Net Minimal API 介绍

Minimal APIs 是.Net 6 中新增的模板&#xff0c;借助 C# 10 的一些特性以最少的代码运行一个 Web 服务。本文脱离 VS 通过 VS Code&#xff0c;完成一个简单的 Minimal Api 项目的开发。创建项目新建一个文件夹&#xff0c;用来管理我们的项目文件&#xff0c;文件夹内启动命令…

access 子窗体 鼠标滚动不工作_Python GUI项目实战(五)明细信息窗体的完善

前言上一节我们实现了明细窗体GUI的搭建&#xff0c;并且设置了查看、修改、添加三种不同的状态&#xff0c;框架搭建好了&#xff0c;内容并没有填充&#xff0c;本节我们继续完善这个项目&#xff0c;将学生信息填充进明细窗体中。一、填充当前学生信息1.需求目前我们已经实现…