1. 程式人生 > >使用aconda3-5.1.0(Python3.6.4) 搭建pyspark遠端部署

使用aconda3-5.1.0(Python3.6.4) 搭建pyspark遠端部署

前言

首次安裝的環境搭配是這樣的:
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_keys

sudo 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.py

c = 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/hostname

sudo vi /etc/hosts

七、遠端測試pyspark叢集

# 伺服器端啟動叢集
start-all.sh
spark/sbin/start-all.sh

# hadoop和spark的程序都顯示正常後開始啟動pyspark
1、local模式執行
pyspark

2、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遠端伺服器部署成功。

相關推薦

使用aconda3-5.1.0Python3.6.4 搭建pyspark遠端部署

前言 首次安裝的環境搭配是這樣的: jdk8 hadoop2.6.5 spark2.1 scala2.12.4 Anaconda3-5.1.0 一連串的報錯讓人驚喜無限,儘管反覆調整配置始終無法解決。 坑了一整

漢諾塔1.0普通次數版

好吧,作為資訊統練中的基礎題,在網上確實找不到,因此我找了一道需要高精度的題進行改編 漢諾塔 時空限制1000ms / 128MB 題目背景 直達通天路·小A歷險記第四篇 題目描述

在LinuxRedhat 6.4上安裝配置telnet服務,並使用SecureCRT連線

由於之前在電腦上安裝了虛擬機器,並在虛擬機器中安裝了Linux,但是由於沒辦法直接複製螢幕內容,有時候做記錄顯得有些不方便。因此今天在電腦上安裝了一個SecureCRT,並在Linux上安裝了telnet服務,用於連線虛擬機器中的Linux,之後便可以更方便複製

若澤資料-早課2018/6/4

1、hdfs架構是什麼架構?    hdfs架構為主/從架構,管理者Namenode和工作者Datanode。2、hdfs哪些程序?    總共有三個程序:Namenode、Datanode和Secondarynamenode3、hdfs dfs等價與什麼命令?    hds

ubuntu 14.04 64位 安裝Opencv3.1.0 包含opencv_contrib模組

寫在前邊: 據官方說法,目前還不是太穩定的演算法模組都在opencv_contrib裡邊,由於不穩定,所以不能在release版本里發行,只有在穩定以後才會放進release裡邊。但是這裡邊有很多我們經常要用的演算法,比如SIFT,SURF等(在xfeatures2d 模組裡邊)。官網提供了說明,可以把op

UEFI 啟動 GPT 分割槽引導、安裝 Linux CentOS 6.4

引導方式:UEFI 分割槽結構:GPT 在上述前提下安裝 CentOS 6.4 。 一、進 BIOS 選擇啟動方式。 BIOS Features --> PCI ROM Priority --> EFI Compat ible ROM   (此為 EFI 引導

Linuxcentos 6.8搭建DHCP伺服器

DHCP指的是由伺服器控制一段IP地址範圍,客戶機登入伺服器時就可以自動獲得伺服器分配的IP地址和子網掩碼。 Linux版本 centos6.8 (VM虛擬機器中測試,客戶機與DHCP服務機必須同

SpringMVC3.2.4搭建詳解

      由於這段時間公司事情不多,就趁空閒時間自學一下 SpringMVC,雖然之前用過這個框架,但是都是架構師搭完之後,我們這些程式猿在上面擴充套件功能的,實際就在昨天,我連SpringMVC框架都不會搭。      之所以寫這篇文章是因為網上的框架搭建教程參差不齊,

Ubuntu16.04系統中CUDA9+MKL+MATLAB2015b+Anaconda3-5.1.0+OpenCV3.4.0+TensorFlow_GPU-1.6+Keras+caffe安裝

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=OFF -D WITH_OPENGL=ON -D WITH_OPENMP=ON -D WI

上周熱點回顧5.29-6.4

log com 順豐 網絡 bind 在線 維權 服務 詳解 熱點隨筆: · 觀《IT培訓行業揭秘》觸發北大青鳥回憶(MXTA)· 每天4億行SQLite訂單大數據測試(源碼)(大石頭)· 為什麽說上ERP找死?(競爭)&midd

CentOS5.8/6.4linux生產環境若幹優化實戰

優化CentOS(5.8/6.4)linux生產環境若幹優化實戰CentOS系統安裝之後並不能立即投入生產環境使用,往往需要先經過我們運維人員的優化才行。在此講解幾點關於Linux系統安裝後的基礎優化操作。註意:本次優化都是基於CentOS(5.8/6.4)。關於5.8和6.4兩者優化時的小區別,我會在文中提

從零寫分散式RPC框架 系列 1.0 5整合測試

本篇將對前面幾篇模組作整合處理,使用spring-boot-starter的形式進行釋出。然後新建 examples 工程模組對其測試使用。 系列文章: 從零寫分散式RPC框架 系列 1.0 (1)架構設計 從零寫分散式RPC框架 系列 1.0 (2)RPC-Common模組設計

從零寫分散式RPC框架 系列 1.0 4RPC-Client模組設計實現

RPC-Client模組負責建立 動態代理物件 供 服務消費者 使用,而動態代理物件的方法執行則是通過RPC呼叫RPC-Server的服務實現。即RPC-Client遮蔽了底層的通訊過程,使得服務消費者可以基於介面透明使用服務提供者的服務。 系列文章: 從零寫分散式RPC框架 系

spring原始碼學習5.1.0版本——Bean的初始化

目錄   前言 createBean 有自定義TargetSource代理類的生成 resolveBeforeInstantiation applyBeanPostProcessorsBeforeInstantiation postProcessBeforeIn

spring原始碼學習5.1.0版本——Bean的初始化

目錄   前言 源頭 preInstantiateSingletons方法 getBean(String beanName) doGetBean getObjectForBeanInstance getObjectFromFactoryBean doGe

centos7.5靜態網頁基於nginx建站python3.6 mysql5.7 nginx安裝以及配置

系統純淨 首先在不損壞原生Python2.7的情況下安裝python3.6 centos7安裝pip 1.執行:yum install python-pip 若沒有python-pip包,先執行:yum -y install epel-release,再執行yum install python-

oracle11.2.0.1.0 連線 python3.5.1

1.    cx_Oracle:cx_Oracle-6.0rc2-cp35-cp35m-win_amd64.whl        下載網址:https://pypi.python.org/pypi/cx_Oracle/5.3 2.

windows 8 + Tensorflow 1.10.0 + Python 3.6.4 + CUDA 9.0 + CUDNN7.3.0配置

windows 8 + Tensorflow 1.10.0 + Python 3.6.4 + CUDA 9.0 + CUDNN7.3.0配置 一、首先安裝TensorFlow 因為anaconda可以更方便的進行包的管理,所以先裝了一波anaconda,然後pip install

Mysql 8.05章 Mysql伺服器管理 5.1.8節 伺服器系統變數

Mysql伺服器系統變數變數列表 max_allowed_packet max_sort_length sort_buffer_size 不斷翻譯,不斷更新… max_allowed_packet

Spring原始碼閱讀5.1.0版本——Contextloaderlistener

目錄 前言 結論 原始碼解析 前言 上了大三了,逐漸想保研,現在一邊準備比賽,一邊學習新知識,一邊做著專案,希望自己能扛下去吧,這篇部落格的原始碼來自spring 5.1.0版本,如有錯誤,歡迎指出 結論 Contextloaderlistener幹了下