hadoop与spark搭建及pyspark调用问题

最近趁着有空,在虚拟机里装了Ubuntu18.04系统,然后搭建了 hadoop与spark环境,记录一下。

一、使用的工具版本:

  • jdk-8u241-linux-x64.tar.gz
  • hadoop-2.7.7.tar.gz
  • scala-2.11.8.tar.gz
  • spark-2.4.5-bin-hadoop2.7.gz
  • 没装hive,略过
  • Anaconda3-2019.07-Linux-x86_64.sh(使用python版本3.7.3)

二、python问题

问题:系统自带python3.6.5,软件更新升级后变成python3.6.9,与Anaconda3使用的python3.7.3不一致,会导致在Anaconda3里调用pyspark报错

报错内容:pyspark调用报错:Java.io.IOException: Cannot run program “python”: CreateProcess error=2

解决方案:为了避免升级的麻烦,我是先安装Anaconda3,安装完毕后调用命令python、python3,出现的都是python3.7.3,这个没问题。但是后面调用pyspark报错了,因为pyspark默认是3.6.9,Anaconda3用的是python3.7.3,两个python版本不一样造成冲突,Anaconda3里pyspark无法找到python。所以安装完Anaconda3之后,再建立个软链接:

ln -s  /home/用户名/anaconda3/bin/python3.7   /usr/bin/python

建立完成后,在ubuntu用户系统配置文件.bashrc中加入并使之生效:

export PYSPARK_PYTHON=/usr/bin/python

我在spark配置文件spark-env.sh里也加入了上述语句

pyspark测试语句:

import os
os.environ['JAVA_HOME']='/home/用户名/opt/java/jdk1.8.0_241'
from pyspark.sql import SparkSession

spark = SparkSession.builder.appName('first_app_try').getOrCreate()
df = pd.DataFrame([[11, 12, 13], [14, 15,16]], index=['A1','A2'], columns=['c1', 'c2','c3'])

spark_data = spark.createDataFrame(df)
spark_data.show() # 上面的报错由这句引起,建立软链接之后正常执行
print('successful')

三、安装hadoop与spark参考文章

  1. Ubuntu 18.04下搭建单机Hadoop和Spark集群环境

    https://www.linuxidc.com/Linux/2019-12/161628.htm

  2. linux上搭建单机版hadoop和spark
    https://www.cnblogs.com/traditional/p/11297049.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值