Linux安裝Spark-詳細步驟及常見報錯

目錄

一、前期環境配置

Hadoop單機環境搭建

Java環境搭建

二、Spark安裝及相關配置

三、Hadoop及Spark安裝報錯


一、前期環境配置

Hadoop單機環境搭建

創建新用戶hadoop

sudo useradd -m hadoop -s /bin/bash
sudo passwd hadoop #設置密碼
sudo adduser hadoop sudo #增加用戶權限

更新apt,下載vim

sudo apt-get update
sudo apt-get install vim

安裝SSH,配置無密碼登錄

sudo apt-get install openssh-server
ssh localhost
exit                           # 退出剛纔的 ssh localhost
cd ~/.ssh/                     # 若沒有該目錄,請先執行一次ssh localhost
ssh-keygen -t rsa              # 會有提示,都按回車就可以
cat ./id_rsa.pub >> ./authorized_keys  # 加入授權

Java環境搭建

jdk下載地址:鏈接: https://pan.baidu.com/s/1xrg-tk73T7U4RYRhBQ5UMg 提取碼: bv8c

cd /usr/lib
sudo mkdir jvm #創建/usr/lib/jvm目錄用來存放JDK文件
cd ~ #進入hadoop用戶的主目錄
cd Downloads  #注意區分大小寫字母,剛纔已經通過FTP軟件把JDK安裝包jdk-8u162-linux-x64.tar.gz上傳到該目錄下
sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm  #把JDK文件解壓到/usr/lib/jvm目錄下
cd /usr/lib/jvm
ls
cd ~
vim ~/.bashrc

添加如下內容

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

使配置生效

source ~/.bashrc #使配置生效
java -version #檢測是否安裝成功

安裝Hadoop

sudo tar -zxf ~/下載/hadoop-2.6.0.tar.gz -C /usr/local    # 解壓到/usr/local中
cd /usr/local/
sudo mv ./hadoop-2.6.0/ ./hadoop            # 將文件夾名改爲hadoop
sudo chown -R hadoop ./hadoop       # 修改文件權限
cd /usr/local/hadoop
./bin/hadoop version #成功則輸出版本信息

啓動Hadoop

cd /usr/local/hadoop
./sbin/start-dfs.sh  #start-dfs.sh是個完整的可執行文件,中間沒有空格,啓動hadoop
./sbin/stop-dfs.sh #關閉hadoop

二、Spark安裝及相關配置

安裝Spark:官方下載地址

相關配置修改

sudo tar -zxf ~/下載/spark-1.6.2-bin-without-hadoop.tgz -C /usr/local/
cd /usr/local
sudo mv ./spark-1.6.2-bin-without-hadoop/ ./spark
sudo chown -R hadoop:hadoop ./spark          # 此處的 hadoop 爲你的用戶名
cd /usr/local/spark #修改配置
cp ./conf/spark-env.sh.template ./conf/spark-env.sh
vim ./conf/spark-env.sh

在env文件中插入

export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)
cd /usr/local/spark #測試是否安裝成功
bin/run-example SparkPi 2>&1 | grep "Pi is" #出現下列截圖即安裝成功

三、Hadoop及Spark安裝報錯

問題1:ssh: Could not resolve hostname xxx

解決辦法:在~/.bashrc中加入,修改完成後輸入jps查看是否修改成功。

export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

問題2:DataNode無法啓動

解決辦法:這種辦法會損壞原有HDFS中數據

# 針對 DataNode 沒法啓動的解決方法
cd /usr/local/hadoop
./sbin/stop-dfs.sh   # 關閉
rm -r ./tmp     # 刪除 tmp 文件,注意這會刪除 HDFS 中原有的所有數據
./bin/hdfs namenode -format   # 重新格式化 NameNode
./sbin/start-dfs.sh  # 重啓

問題3:Failed to find Spark jars directory.......You need to build the Spark with the package.......

解決辦法:這裏的Spark版本安裝與Hadoop的安裝版本不匹配,建議直接重新安裝與Hadoop匹配的Spark版本。

四、Spark基礎知識點

三大分佈式計算系統:Spark.Hadoop.Storm
Spark生態系統:Spark Core;Spark Sql;Spark Streaming;Mllib;GraphX
RDD:彈性分佈式數據集(共享內存模型),在內存中進行,管道化操作;
RDD執行過程:讀入數據集(可以分爲多個分區);一系列轉換操作(惰性機制,只是記錄轉換的軌跡);進行動作操作,完成第二步的所有計算並輸出到外部節點;
RDD優勢:具有良好的容錯機制;內存持久化;無需進行序列化和反序列化操作;
RDD依賴關係:窄依賴(一個父分區對一個孩子分區;多個RDD父分區對應一個孩子分區),寬依賴(一個父RDD一個分區對應一個子RDD多個分區);
Stage類型:ShuffleMapStage;ResultStage(沒有輸出,直接產生結果,至少含有1個);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章