使用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.0(Python3.6.4) 搭建pyspark遠端部署
前言 首次安裝的環境搭配是這樣的: jdk8 hadoop2.6.5 spark2.1 scala2.12.4 Anaconda3-5.1.0 一連串的報錯讓人驚喜無限,儘管反覆調整配置始終無法解決。 坑了一整
漢諾塔1.0(普通次數版)
好吧,作為資訊統練中的基礎題,在網上確實找不到,因此我找了一道需要高精度的題進行改編 漢諾塔 時空限制1000ms / 128MB 題目背景 直達通天路·小A歷險記第四篇 題目描述
在Linux(Redhat 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 引導
Linux(centos 6.8)搭建DHCP伺服器
DHCP指的是由伺服器控制一段IP地址範圍,客戶機登入伺服器時就可以自動獲得伺服器分配的IP地址和子網掩碼。 Linux版本 centos6.8 (VM虛擬機器中測試,客戶機與DHCP服務機必須同
SpringMVC(3.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
CentOS(5.8/6.4)linux生產環境若幹優化實戰
優化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 (4)RPC-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.0 第5章 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幹了下