使用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,一经查实,立即删除!

相关文章

Entity Framework在Asp.net MVC中的实现One Context Per Request(附源码)

上篇中"Entity Framework中的Identity map和Unit of Work模式"&#xff0c; 由于EF中的Identity map和Unit of Work模式&#xff0c;EF体现出来如下特性: 唯一性: 在一个Context的生命周期中&#xff0c;一个Entity只会有一个实例&#xff0c;任何对该实例的修改&…

python随机生成100内的10个整数_用python随机生成数字教程_如何用Python编程随机产生10个随机整数,并输出这10个整数的和�9�3...

如何用Python编程随机产生10个随机整数&#xff0c;并输出这10个整数的和 用Python编程产生10个随机整数&#xff0c;并整数的和&#xff0c;方法如下 准备材料python、电脑 1、需要加载的模块是&#xff1a;random。 2、给出0到10之间的随机整数&#xff1a;import random&…

【linux磁盘分区--格式化】fdisk,parted,mkfs.ext3

磁盘分区完成后&#xff0c;一般就需要对分区进行格式化磁盘分区命令主要有两个&#xff1a;fdisk &#xff1a;最大支持不超过2T分区&#xff1b;parted &#xff1a;支持GPT&#xff0c;适用于大容量分区&#xff1b;分区指令的选择&#xff1a;在RHEL系统上&#xff0c;用fd…

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

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

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

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

Android之Andorid studio 解决Error:Configuration with name ‘default‘ not found

在导入studio工程的时候&#xff0c;进行sync的时候&#xff0c;提示Error:Configuration with name ‘default’ not found. 原因&#xff1a; 打开settings.gradle发现里面有很多个include ‘:app’这样的include&#xff0c;然而发现在工程的目录下面根本没有include的项目…

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

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

hive集成spark和mysql

参考&#xff1a;http://ihoge.cn/2018/HiveSpark.html 一、Hive安装 1.Hive简介 ​ Hive是Facebook开发的构建于Hadoop集群之上的数据仓库应用&#xff0c;可以将结构化的数据文件映射为一张数据库表&#xff0c;并提供完整的SQL查询功能&#xff0c;可以将SQL语句转换为Ma…

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…

ubuntu设置代理 的三种方式

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程 转载自&#xff1a;http://www.cnblogs.com/lexus/archive/2012/02/20/2359229.html ubuntu下设置代理 2010-01-11 20:13:20| 分类&am…

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

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;会将查询的表的每个字段的具体信息列出来,查询的行数…

DB级buffer与IO 查看

--buffer中缓存每个数据库所占的buffer SET TRAN ISOLATION LEVEL READ UNCOMMITTED SELECT ISNULL(DB_NAME(database_id), ResourceDb) AS DatabaseName , CAST(COUNT(row_count) * 8.0 / (1024.0) AS DECIMAL(28,2)) AS [Size (MB)] FROM sys.dm_os_buffer_descriptors…

SparkSQL DataFrame基础篇

SparkSQL DataFrame基础篇 SparkSQL DataFrame进阶篇 SparkSQL DataFrame基础篇 Spark 2.2及以后的SparkSession替换了Spark以前版本中的SparkContext和SQLContext&#xff0c;为Spark集群提供了唯一的入口点。 val spark SparkSession.builder().appName(“SparkExample”)…

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、…