Spark伪分布式环境搭建

注意: 以下操作都在Master(DW1)节点进行

下载二进制包spark-2.1.1-bin-hadoop2.7.tgz

解压并移动到相应目录,命令如下:

tar -zxvf spark-2.1.1-bin-hadoop2.7.tgz

修改相应的配置文件

修改/etc/profie,增加如下内容:

export SPARK_HOME=/home/heitao/Soft/spark
export PATH=$PATH:$SPARK_HOME/bin

复制spark-env.sh.template成spark-env.sh

cp spark-env.sh.template spark-env.sh

修改$SPARK_HOME/conf/spark-env.sh,添加如下内容

xport HADOOP_HOME=/home/heitao/Soft/hadoop-2.7.3
export HADOOP_CONF_DIR=/home/heitao/Soft/hadoop-2.7.3/etc/hadoop
export JAVA_HOME=/home/heitao/Soft/jdk1.8.0_131
# 设置Master的主机名
export SPARK_MASTER_IP=192.168.83.8
export SPARK_LOCAL_IP=192.168.83.8
export SPARK_MASTER_HOST=192.168.83.8
# 提交Application的端口,默认就是这个,万一要改呢,改这里
export SPARK_MASTER_PORT=7077
# 每一个Worker最多可以使用的cpu core的个数,我虚拟机就一个...
# 真实服务器如果有32个,你可以设置为32个
export SPARK_WORKER_CORES=1
# 每一个Worker最多可以使用的内存,我的虚拟机就2g
# 真实服务器如果有128G,你可以设置为100G
export SPARK_WORKER_MEMORY=1g
export SCALA_HOME=/home/heitao/Soft/scala-2.11.0
export SPARK_HOME=/home/heitao/Soft/spark
export SPARK_DIST_CLASSPATH=$(/home/heitao/Soft/hadoop-2.7.3/bin/hadoop classpath)

复制slaves.template成slaves

cp slaves.template slaves

修改$SPARK_HOME/conf/slaves,添加如下内容:

DW1
DW2
DW3

将配置好的spark文件复制到Slave1和Slave2节点。

scp /home/heitao/Soft/spark heitao@DW1:/home/heitao/Soft/
scp /home/heitao/Soft/spark heitao@DW2:/home/heitao/Soft/

修改DW1和DW2、DW3的配置

在DW1和DW2上分别修改/etc/profile,增加Spark的配置,过程同Master一样。
在DW1和DW2修改$SPARK_HOME/conf/spark-env.sh,将export SPARK_LOCAL_IP=114.55.246.88改成Slave1和Slave2对应节点的IP。

在Master节点启动集群

/home/heitao/Soft/spark/sbin/start-all.sh

查看集群是否启动成功

jps

DW1在Hadoop的基础上新增了:Master
DW2在Hadoop的基础上新增了:Worker

使用jupyter远程连接Spark集群

默认Centos7中是有python安装的,但是是2.7版本,我们需要安装py3。我们去看一下默认的py2.7在哪里。

备份Python2.7

[root@localhost bin]# cd /usr/bin
[root@localhost bin]# ls python*
python  python2  python2.7 
[root@localhost bin]# 

三个显示结果中最后一个是python2.7,实际上这几个文件之间是有依赖关系的。在ls 后面加个 -al参数,如下:

[root@localhost bin]# ls -al  python*
lrwxrwxrwx. 1 root root   33 Oct 21 12:30 python -> python2
lrwxrwxrwx. 1 root root    9 Oct 19 23:55 python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 Aug  4 08:40 python2.7
[root@localhost bin]#

依赖关系很明显就可以看到。我们要安装版本3,首先要把刚才显示的三个py在这里插入代码片thon文件中的第一个python给备份一下(不保留源文件,仅保留备份文件就可以)

使用如下命令:

[root@localhost bin]# mv python python.bak

安装anaconda

输入安装命令

bash Anaconda.sh

根据提示按ENTER

Welcome to Anaconda2 4.4.0 (by Continuum Analytics, Inc.)

In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
>>>

根据提示输入yes,同意license agreement

... ...
kerberos (krb5, non-Windows platforms)
A network authentication protocol designed to provide strong authentication
for client/server applications by using secret-key cryptography.

cryptography
A Python library which exposes cryptographic recipes and primitives.

Do you approve the license terms? [yes|no]
>>> yes

直接ENTER键,用默认的安装路径

Anaconda3 will now be installed into this location:
/root/anaconda3

  - Press ENTER to confirm the location
  - Press CTRL-C to abort the installation
  - Or specify a different location below

[/root/anaconda] >>>

写入环境变量,直接输入yes

... ...
installing: zlib-1.2.8-3 ...
installing: anaconda-4.4.0-np112py27_0 ...
installing: conda-4.3.21-py27_0 ...
installing: conda-env-2.6.0-0 ...
Python 3.7.1 :: Continuum Analytics, Inc.
creating default environment...
installation finished.
Do you wish the installer to prepend the Anaconda2 install location
to PATH in your /root/.bashrc ? [yes|no]
[no] >>> yes

生效.bashrc文件

[root@master tmp]# source ~/.bashrc

输入python,验证环境

Python 3.7.1 |Anaconda 4.4.0 (64-bit)| (default, Dec 20 2016, 23:09:15) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> 

远程连接jupyter

生成配置文件

jupyter notebook --generate-config

生成密钥,打开python3

from notebook.auth import passwd
passwd()
此时会让你两次输入密码,然后就会生成秘钥
************
 

修改配置文件

vim ~/.jupyter/jupyter_notebook_config.py
c.NotebookApp.ip='0'                                  # 就是设置所有ip皆可访问
c.NotebookApp.password = u'sha:ce...       # 刚才复制的那个密文'
c.NotebookApp.open_browser = False       # 禁止自动打开浏览器
c.NotebookApp.port =8888                         #随便指定一个端口

设置完成后,在ssh或者xshell的命令行中输入

jupyter notebook

在windows本地中输入localhost:8888就可以访问远程服务器上的jupyter了

jupyter连接spark集群

安装pyspark包

pip install pypandoc py4j
pip install pyspark

配置/etc/profile文件

export PYSPARK_DRIVER_PYTHON=/home/heitao/anaconda3/bin/jupyter-notebook
export PYSPARK_DRIVER_PYTHON_OPTS="--ip=0.0.0.0 --port=7777"

使配置文件生效

source /etc/profile

主节点(Spark diver)配置

Xshell以root用户登录到spark diver的主机上,然后进行以下配置:为使其永久生效,我们需要在/etc/profile.d/增加一个自己的文件比如startpyspark.sh。添加以下内容:

# 为pyspark设置环境变量
export PYSPARK_DRIVER_PYTHON=/opt/cloudera/parcels/Anaconda/bin/jupyter
export PYSPARK_DRIVER_PYTHON_OPTS="notebook --NotebookApp.open_browser=False --NotebookApp.ip='0.0.0.0' --NotebookApp.port=7777"
export PYSPARK_PYTHON=/opt/cloudera/parcels/Anaconda/bin/python
export PATH=/opt/cloudera/parcels/Anaconda/bin:$PATH

启动pyspark
在这里插入图片描述

在windows本地中输入localhost:7777就可以访问远程服务器上的jupyter了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值