![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZwpmL5MTMyATM3kTMtATN0QDNzUTOwEzM1ADMyAjMtEzMyEjN48CX1ADMyAjMvwVMzITM2gzLcd2bsJ2Lc12bj5ycn9Gbi52YuAjMwIzZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
主機名
ip
配置
系統
heboan-hadoop-000
10.1.1.15
8C/8G
CentOS7.7
工具包
配置本機ssh免密
時間校準
檔案描述符優化
安裝jdk
tar xf jdk-8u231-linux-x64.tar.gz -C /srv/vim~/.bash_profile
export JAVA_HOME=/srv/jdk1.8.0_231
export PATH=$JAVA_HOME/bin:$PATH
source~/.bash_profile
安裝maven
tar xf apache-maven-3.6.3-bin.tar.gz -C /srv/vim~/.bash_profile
export MAVEN_HOME=/srv/apache-maven-3.6.3export PATH=$MAVEN_HOME/bin:$PATH
source~/.bash_profile
#更改本地倉庫存路徑mkdir /data/maven_repository
vim/srv/apache-maven-3.6.3/conf/settings.xml
安裝python3
yum install gcc gcc-c++ openssl-devel readline-devel unzip -ytar xf Python-3.6.10.tgz
cd Python-3.6.10./configure --prefix=/srv/python36 --enable-optimizationsmake && make installvim~/.bash_profile
export PATH=/srv/python36/bin:$PATH
source~/.bash_profile
安裝scala
tar xf scala-2.11.8.tgz -C /srv/vim~/.bash_profile
export SCALA_HOME=/srv/scala-2.11.8export PATH=$SCALA_HOME/bin:$PATH
source~/.bash_profile
部署hadoop
下載下傳安裝
wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz
tar xf hadoop-2.6.0-cdh5.7.0.tar.gz -C /srv/vim~/.bash_profile
export HADOOP_HOME=/srv/hadoop-2.6.0-cdh5.7.0export PATH=$HADOOP_HOME/bin:$PATH
source~/.bash_profile
配置hadoop
cd /srv/hadoop-2.6.0-cdh5.7.0/etc/hadoop
#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/srv/jdk1.8.0_231
hadoop-env.sh
fs.default.name
hdfs://heboan-hadoop-000:8020
core-site.xml
mkdir -p /data/hadoop/{namenode,datanode}
dfs.namenode.name.dir
/data/hadoop/namenode
dfs.datanode.data.dir
/data/hadoop/datanode
dfs.replication
1
hdfs-site.xml
cp mapred-site.xml.template mapred-site.xml
mapreduce.framework.name
yarn
mapred-site
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn-site.xml
初始化hdfs
cd /srv/hadoop-2.6.0-cdh5.7.0/bin
./hadoop namenode -format
啟動hdfs
jps檢視是否啟動程序: DataNode NameNode SecondaryNameNode
/srv/hadoop-2.6.0-cdh5.7.0/sbin
./start-dfs.sh
測試建立一個目錄
# hdfs dfs -mkdir /test
# hdfs dfs-ls /drwxr-xr-x - root supergroup 0 2020-05-30 10:19 /test
浏覽器通路http://heboan-hadoop-000:50070
啟動yarn
jps檢視是否啟動程序: ResourceManager NodeManager
cd /srv/hadoop-2.6.0-cdh5.7.0/sbin/./start-yarn.sh
浏覽器通路http://heboan-hadoop-000:8088
源碼編譯部署spark
進入spark下載下傳頁面:http://spark.apache.org/downloads.html
可以看下編譯spark的文檔,裡面有相關的編譯注意事項,比如mavn,jdk的版本要求,機器配置等
http://spark.apache.org/docs/latest/building-spark.html
下載下傳spark-2.3.0.tzg後,進行解壓編譯
tar xf spark-2.3.0.tgz
cd spark-2.3.0./dev/make-distribution.sh\--name 2.6.0-cdh5.7.0 --tgz \-Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver \-Dhadoop.version=2.6.0-cdh5.7.0
編譯依賴網絡環境,預設情況下,指定的倉庫源被牆無法通路
mvn配置settings.conf添加阿裡倉庫加速
alimaven
aliyun maven
https://maven.aliyun.com/nexus/content/groups/public/
central
修改spark的pom.xml,更改倉庫位址為阿裡源位址,并添加cdh源
vim spark-2.3.0/pom.xml
替換maven為自己安裝的
vim dev/make-distribution.sh#MVN="$SPARK_HOME/build/mvn"MVN="${MAVEN_HOME}/bin/mvn"
編譯時間長,取決于你的網絡環境,編譯完成後,會打一個包命名為:spark-2.3.0-bin-2.6.0-cdh5.7.0.tgz
本文所有工具包已傳至網盤,不想折騰的同學可以小額打賞聯系部落客
tar xf spark-2.3.0-bin-2.6.0-cdh5.7.0.tgz -C /srv/cd/srv/spark-2.3.0-bin-2.6.0-cdh5.7.0/bin/
vim ~/.bash_profile
export SPARK_HOME=/srv/spark-2.3.0-bin-2.6.0-cdh5.7.0
export PATH=$SPARK_HOME/bin:$PATH
source ~/.bash_profile
./spark-shell
浏覽器通路http://heboan-hadoop-000:4040
pyspark配置預設使用的是Python2,如下配置環境變量預設使用Python3
vim ~/.bash_profile
export PYSPARK_PYTHON=python3
source~/.bash_profile
配置應用程式IDE開發環境
winows本地安裝pycharm并建立項目
設定基本參數
spark-2.3.0-bin-2.6.0-cdh5.7.0.tgz解壓到E盤: E:\spark-2.3.0-bin-2.6.0-cdh5.7.0
①配置環境變量
進入Environment variables
PYTHONPATH: E:\spark-2.3.0-bin-2.6.0-cdh5.7.0\python
SPARK_HOME: E:\spark-2.3.0-bin-2.6.0-cdh5.7.0
②添加兩個zip包
可以看到多出了兩個包
建立個檔案寫個最簡單的程式測試運作下
代碼開發完成後需要放到伺服器環境上運作
mkdir /data/script
vim/data/script/01.py
使用spark-submit送出任務
# spark-submit --master local[2] --name heboan-pyspark-01 /data/script/01.py
解決pycharm 運作報錯問題
當我們寫好代碼運作的時候,會報如下錯誤,雖然該錯誤不影響最後的運作,但是看着不爽
添加HADOOP_HOME環境變量,事先請确定Hadoop包在E:\hadoop-2.6.0-cdh5.7.0
配置PATH: 末尾添加 ;%HADOOP_HOME/bin%
下載下傳winutils.exe,hadoop.dll放到hadoop環境的bin目錄,建議盡量使用版本比對的
最後重新開機系統即可,看看效果