日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

Ubuntu从零安装 Hadoop And Spark

發布時間:2024/7/5 Ubuntu 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ubuntu从零安装 Hadoop And Spark 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

安裝 linux 以Ubuntu為例

選擇鏡像,虛擬機安裝

虛擬機下,直接安裝鏡像即可,選擇好自己的配置,一定要注意路徑名選好,而且和你虛擬機的名稱匹配,這里我的鏡像是 ubuntu-20.04.2.0-desktop-amd64.iso

切換一下中文


注意重啟之后,這一部分保留英文

安裝 VMTools

為了方便 復制粘貼,建議安裝 VMTools,這里不再給出如何安裝

提前準備工作

創建用戶

首先我們創建hadoop用戶,并將/bin/bash 作為他的 默認 shell,并設置他的密碼以及增加管理員權限
(CTRL + SHIFT + V 是linux 下的 粘貼快捷鍵)

sudo useradd -m hadoop -s /bin/bash sudo passwd hadoop sudo adduser hadoop sudo

設置成功后,我們退出,使用 hadoop 用戶登錄此linux系統

更新apt

sudo apt-get update

安裝 Vim

vim 是 vi 的升級版,快捷好用,為了編輯文本,我們可以使用 vim,也可以使用 vi,或者是 gedit,看個人喜好

sudo apt-get install vim

安裝 SSH

SSH 為 Secure Shell 的縮寫。是較可靠,專為遠程登錄會話和其他網絡服務提供安全性的協議。利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題。
具體查看 SSH的內容可以直接去百度
從客戶端來看,SSH提供兩種級別的安全驗證。
第一種級別(基于口令的安全驗證)
只要你知道自己帳號和口令,就可以登錄到遠程主機。所有傳輸的數據都會被加密,但是不能保證你正在連接的服務器就是你想連接的服務器。可能會有別的服務器在冒充真正的服務器,也就是受到“中間人”這種方式的攻擊。
第二種級別(基于密匙的安全驗證)
需要依靠密匙,也就是你必須為自己創建一對密匙,并把公用密匙放在需要訪問的服務器上。如果你要連接到SSH服務器上,客戶端軟件就會向服務器發出請求,請求用你的密匙進行安全驗證。服務器收到請求之后,先在該服務器上你的主目錄下尋找你的公用密匙,然后把它和你發送過來的公用密匙進行比較。如果兩個密匙一致,服務器就用公用密匙加密“質詢”(challenge)并把它發送給客戶端軟件。客戶端軟件收到“質詢”之后就可以用你的私人密匙解密再把它發送給服務器。
用這種方式,你必須知道自己密匙的口令。但是,與第一種級別相比,第二種級別不需要在網絡上傳送口令。
第二種級別不僅加密所有傳送的數據,而且“中間人”這種攻擊方式也是不可能的(因為他沒有你的私人密匙)。但是整個登錄的過程可能需要10秒 [2] 。


集群、單節點模式都需要用到SSH登陸(類似于遠程登陸,你可以登錄某臺Linux電腦,并且在上面運行命令),Ubuntu 默認已安裝了 SSH client,此外還需要安裝 SSH server:

sudo apt-get install openssh-server

安裝后,可以使用如下命令登陸本機:
localhost 等價于 127.0.0.1 本機 ip

ssh localhost

輸入密碼之后便可以進入

但這樣登陸是需要每次輸入密碼的,我們需要配置成SSH無密碼登陸比較方便。

首先退出(使用exit 命令)剛才的 ssh,就回到了我們原先的終端窗口,然后利用 ssh-keygen 生成密鑰,并將密鑰加入到授權中:

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


重新嘗試發現不需要密碼了

安裝 Hadoop 和 Java

Java

查看可用 java 版本

apt search openjdk

apt安裝 open jdk,這里選擇 openjdk-14-jdk

sudo apt install openjdk-14-jdk

java --version 查看是否安裝成功

java --version

配置java環境

下面我來介紹一下如何配置java 的環境
為方便,我們在 ~/.bashrc 中進行設置
修改home目錄下的 .bashrc 文件
.bashrc 文件主要保存著個人的一些個性化設置,如:命令別名、環境變量等。 參考中有其他修改方法。

首先,我們打開配置文件

gedit ~/.bashrc

在配置文件中加入一行

export JAVA_HOME=/usr/lib/jvm/java-14-openjdk-amd64

請注意,這部分 JAVA_HOME=的內容需要你個人去文件目錄中查看,畢竟下載的 openjdk版本不同

下面,我們讓配置生效,并且驗證配置是否成功

source ~/.bashrc # 使變量設置生效 echo $JAVA_HOME # 檢驗是否設置正確

安裝 hadoop

在這里,我下載的是 hadoop-3.3.0.tar.gz,版本可以執行百度下載即可,選擇一個下載速度快的

首先,我們將文件解壓,到/usr/local 目錄下,重命名并修改用戶主,注意,選擇自己的 hadoop 版本號

cd ~/下載 sudo tar -zxvf ./hadoop-3.3.0.tar.gz -C /usr/local # 解壓到/usr/local中 cd /usr/local/ sudo mv ./hadoop-3.3.0/ ./hadoop # 將文件夾名改為hadoop sudo chown -R hadoop:hadoop ./hadoop # 修改文件權限

hadoop單機測試

Hadoop 默認模式為非分布式模式,無需進行其他配置即可運行。非分布式即單 Java 進程,方便進行調試。現在我們可以執行例子來感受下 Hadoop 的運行。Hadoop 附帶了豐富的例子(運行 bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar 可以看到所有例子),包括 wordcount、terasort、join、grep 等。在此我們選擇運行 grep 例子,即將 input 文件夾中的所有文件作為輸入,篩選當中符合正則表達式 dfs[a-z.]+ 的單詞并統計出現的次數,最后輸出結果到 output 文件夾中。 cd /usr/local/hadoop mkdir input cp ./etc/hadoop/*.xml input # 將配置文件作為輸入文件 ./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+' cat ./output/* # 查看運行結果

倘若提示 JAVA_HOME 未定義,你先 echo “$JAVA_HOME”,然后查看 ~/.bashrc 文件,以及 source ~/.bashrc 一下,再次輸出 $JAVA_HOME 是否可以

hadoop偽分布式配置

Hadoop 可以在單節點上以偽分布式的方式運行,Hadoop 進程以分離的 Java 進程來運行,節點既作為 NameNode 也作為 DataNode。

Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,偽分布式需要修改2個配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每個配置以聲明 property 的 name 和 value 的方式來實現。

修改配置文件 core-site.xml (gedit /usr/local/hadoop/etc/hadoop/core-site.xml),將當中的

<configuration> </configuration>

修改為下面配置:

<configuration><property><name>hadoop.tmp.dir</name><value>file:/usr/local/hadoop/tmp</value><description>Abase for other temporary directories.</description></property><property><name>fs.defaultFS</name><value>hdfs://localhost:9000</value></property> </configuration>

同樣的,修改配置文件 hdfs-site.xml:

<configuration><property><name>dfs.replication</name><value>1</value></property><property><name>dfs.namenode.name.dir</name><value>file:/usr/local/hadoop/tmp/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/usr/local/hadoop/tmp/dfs/data</value></property> </configuration>

配置完成后,執行 namenode 的格式化:

bin/hdfs namenode -format

注意
在這一步以及后面啟動 Hadoop 時若提示 Error: JAVA_HOME is not set and could not be found. 的錯誤,則需要在文件 ./etc/hadoop/hadoop-env.sh 中設置 JAVA_HOME 變量,即找到 export JAVA_HOME=${JAVA_HOME}這一行,改為 export JAVA_HOME=/usr/lib/jvm/java-14-openjdk-amd64 (就是之前設置的JAVA_HOME位置),再重新嘗試即可。

下面我們輸入命令,查看是否成功

./sbin/start-all.sh #開啟 jps

最后需要關閉

./sbin/stop-all.sh # 關閉

輸入命令后的運行效果如下

hadoop 偽分布式測試

注意測試的時候一定要打開 hadoop, 即運行 sbin/start-all.sh

運行完之后, sbin/stop-all.sh

鏈接

安裝 Spark,并使用PySpark測試

Spark的安裝

可以直接看這個參考網站,很合適
按照鏈接的做法

  • 首先將下載好的 Spark 安裝包解壓至 /usr/local 的目錄下
  • 然后修改 /usr/local/spark/conf 目錄下的配置文件
    spark-env.sh

  • 之后,我們修改環境變量


    這里進行勘誤,應該在 hadoop 用戶下進行,否則修改的是 root 的配置文件,而不是我們 hadoop 用戶的配置文件!

  • 最后我們運行測試一下
    執行時會輸出非常多的運行信息,輸出結果不容易找到,可以通過 grep 命令進行過濾(命令中的 2>&1 可以將所有的信息都輸出到 stdout 中,否則由于輸出日志的性質,還是會輸出到屏幕中):

Spark的測試

運行的代碼

出現一個問題

原來是路徑寫錯了



參考鏈接

https://blog.csdn.net/qinzhaokun/article/details/47804923

http://dblab.xmu.edu.cn/blog/install-hadoop/

安裝java

百度百科

延伸閱讀 java 環境的兩種配置方法

總結

以上是生活随笔為你收集整理的Ubuntu从零安装 Hadoop And Spark的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。