mysql spark centos_CentOS6下配置Spark+Python开发环境记录

1. 使用$SPARK_HOME/sbin/下的pyspark启动时,报错Traceback (most recent call last):

File "/home/joy/spark/spark/Python/pyspark/shell.py", line 28, in

首先按照搜索结果使用 yum install -y zlib* 安装了欠缺的包,但是仍报错,后使用sudo命令执行./pyspark即可正常执行。目前必须使用sudo命令才能正常执行,可能与环境设置有关,待解决——因为使用sudo命令安装,所以文件的所有者为root,chown更改所有者。

但是这样必须使用sudo安装pip,为了一劳永逸,重新编译python

解决方法:

1、安装依赖zlib、zlib-devel

2、重新编译安装Python

./configure

编辑Modules/Setup文件

找到下面这句,去掉注释

zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

重新编译安装:make & make install

编译后报错仍有部分模块未编译成功

Python build finished, but the necessary bits to build these modules were not found:

_bsddb _curses _curses_panel

_sqlite3 _ssl _tkinter

bsddb185 bz2 dbm

dl gdbm imageop

无论报错信息如何,意思很明确,我们编译的时候,系统没有办法找到对应的模块信息,为了解决这些报错,我们就需要提前安装依赖包,这些依赖包对应列表如下(不一定完全):

模块依赖说明

_bsddb

bsddb

Interface to Berkeley DB library。Berkeley数据库的接口.bsddb is deprecated since 2.6. The ideal is to use the bsddb3 module.

_curses

ncurses

Terminal handling for character-cell displays。

_curses_panel

ncurses

A panel stack extension for curses。

_sqlite3

sqlite

DB-API 2.0 interface for SQLite databases。SqlLite,CentOS可以安装sqlite-devel

_ssl

openssl-devel.i686

TLS/SSL wrapper for socket objects。

_tkinter

N/A

a thin object-oriented layer on top of Tcl/Tk。如果不使用桌面程序可以忽略TKinter

bsddb185

old bsddb module

老的bsddb模块,可忽略。

bz2

bzip2-devel.i686

Compression compatible with bzip2。bzip2-devel

dbm

bsddb

Simple “database” interface。

dl

N/A

Call C functions in shared objects.Python2.6开始,已经弃用。

gdbm

gdbm-devel.i686

GNU’s reinterpretation of dbm

imageop

N/A

Manipulate raw image data。已经弃用。

readline

readline-devel

GNU readline interface

sunaudiodev

N/A

Access to Sun audio hardware。这个是针对Sun平台的,CentOS下可以忽略

zlib

Zlib

Compression compatible with gzip

在CentOS下,可以安装这些依赖包:readline-devel,sqlite-devel,bzip2-devel.i686,openssl-devel.i686,gdbm-devel.i686,libdbi-devel.i686,ncurses-libs,zlib-devel.i686。完成这些安装之后,可以再次编译,上表中指定为弃用或者忽略的模块错误可以忽略。

在编译完成之后,就可以接着上面的第六步安装Python到指定目录下。安装完成之后,我们可以到安装目录下查看Python是否正常安装。

3. SparkSQL准备

首先呢,看使用HiveContext都需要哪些要求,文章中有这么三个要求:

1、检查$SPARK_HOME/lib目录下是否有datanucleus-api-jdo-3.2.1.jar、datanucleus-rdbms-3.2.1.jar

、datanucleus-core-3.2.2.jar 这几个jar包。

2、检查$SPARK_HOME/conf目录下是否有从$HIVE_HOME/conf目录下拷贝过来的hive-site.xml。

3、提交程序的时候将数据库驱动程序的jar包指定到DriverClassPath,如bin/spark-submit --driver-class-path *.jar。或者在spark-env.sh中设置SPARK_CLASSPATH。

参考文章,将$HIVE_HOME/lib下以datanucleus开头的几个jar包复制到$SPARK_HOME/lib下;$HIVE_HOME/conf下的hive-site.xml 复制到 $SPARK_HOME/conf下;将$HIVE_HOME/lib 下的MySQL-connector复制到$SPARK_HOME/jars下,

2. 启动spark-shell时报错

To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).

17/01/17 11:42:58 WARN SparkContext: Support for 7 is deprecated as of Spark 2.0.0

17/01/17 11:43:00 WARN NativeCodeLoader: Unable to load native-Hadoop library for your platform... using builtin-java classes where applicable

17/01/17 11:43:00 WARN Utils: Your hostname, node1 resolves to a loopback address: 127.0.0.1; using 192.168.85.128 instead (on interface eth1)

17/01/17 11:43:00 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address

17/01/17 11:43:11 WARN HiveConf: DEPRECATED: hive.metastore.ds.retry.* no longer has any effect. Use hive.hmshandler.retry.* instead

17/01/17 11:43:11 WARN HiveConf: HiveConf of name hive.server2.thrift.http.min.worker.threads does not exist

17/01/17 11:43:11 WARN HiveConf: Hi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值