ubuntu server安装hadoop和spark,并设置集群
安裝server請看本人的上一篇博客
Ubuntu Server 20.04.2 安裝
先前準(zhǔn)備工作
創(chuàng)建 hadoop用戶
創(chuàng)建用戶之后,輸入一下指令重啟
shutdown -r now登錄 hadoop 用戶
安裝 ssh 和 vim
首先更新一下 apt 工具
sudo apt-get update然后安裝vim
sudo apt-get install vim安裝ssh server
sudo apt-get install openssh-server安裝 ssh 之后,使用 ssh localhost 命令,查看是否ok
過一會在設(shè)置免密登陸
apt-get install network-manager查看 ip
并利用 cmd ping 一下,看看是否正確
查看和修改網(wǎng)絡(luò)配置信息。
編輯 /etc/netplan 下的 .yaml 文件(注意自己的文件名)
假設(shè)IP地址修改為192.168.126.124,子網(wǎng)掩碼24位即255.255.255.0,網(wǎng)關(guān)設(shè)置為192.168.126.2,DNS1:8.8.8.8。
這個部分,需要查看自己虛擬機的設(shè)置,來確定自己的ip,不要亂設(shè)置,否則會連不上網(wǎng)(非法ip)
然后輸入一下命令,
sudo netplan apply ip addr測試一下是否可行
windows ping 一下虛擬機
linux server 自己 ping 一下 www.baidu.com
一切正常
修改主機名與IP的映射
搭建一個三臺機器的集群,分配的ip如下:
| hadoop01 | 192.168.126.124 |
| hadoop02 | 192.168.126.125 |
| hadoop03 | 192.168.126.126 |
修改相應(yīng)的配置文件
sudo vim /etc/hosts在該配置文件后加入
192.168.126.124 hadoop01
192.168.126.125 hadoop02
192.168.126.126 hadoop03
并注釋掉
#127.0.1.1 hadoop01
# 安裝hadoop
為了方便我們的下一步安裝(主要是復(fù)制主機的信息),我們選擇使用 XShell 來輔助完成,詳情請參考我的上一篇博客 XShell的破解安裝與連接
啟動ssh 客戶端
查看是否啟動 ssh 客戶端,客戶端是用于連接其他從機,服務(wù)端是用于向其他客戶端提供鏈接自己的方式
ps -e | grep ssh # 查看當(dāng)前 ssh 的進,-e 表示every,利用管道線精確查找
倘若沒有 ssh -agent 則需要使用 eval ssh-agent 啟動客戶端
安裝 java
# 先更新更新apt sudo apt update sudo apt upgrade輸入下面的命令使用 apt 工具安裝 java
# 安裝 java sudo apt install default-jdk default-jre安裝完成之后,查看 java 版本,檢驗是否安裝成功
java --versionssh 免密登陸
想要深入了解,查看我的另一篇博客
輸入 ssh localhost 發(fā)現(xiàn) ssh 遠程登陸還需要密碼,下面我們進行生成秘鑰,免密登陸
生成 rsa 秘鑰(公鑰和私鑰)
設(shè)置root權(quán)限
我們創(chuàng)建的普通用戶權(quán)限不足,不能修改網(wǎng)絡(luò)配置信息,要先為普通用戶賦予root權(quán)限,這需要切換到root用戶下。首先為root用戶設(shè)置一個密碼并切換到root用戶:
安裝 hadoop
????下面對hadoop進行初步的配置。
????首先計劃集群做一個功能的分配:
現(xiàn)在,我們下載Apache Hadoop的最新穩(wěn)定版本。
本文所寫內(nèi)容引用Hadoop版本為2021年9月更新的3.2.2版本(雖然不知道為啥這個版本是最近更新的)。如有更新版本,請點擊Binary download一欄下面的binary鏈接,進入下載頁面獲取到下載鏈接,作為下述代碼的依據(jù)。
本文所提供的下載鏈接來自北京外國語大學(xué)的鏡像站,速度++。鏡像站所有Hadoop的下載地址:Index of /apache/hadoop/common (bfsu.edu.cn);另附上清華大學(xué)的鏡像站地址:Index of /apache/hadoop/common (tsinghua.edu.cn)
使用非常好使的 wget 命令獲取網(wǎng)絡(luò)資源,wget不加參數(shù),會下載到你當(dāng)前的目錄下
wget https://mirrors.bfsu.edu.cn/apache/hadoop/common/hadoop-3.2.2/hadoop-3.2.2.tar.gz tar -xvzf hadoop-3.2.2.tar.gz
接下來將解壓后的目錄移動到: /usr/local
配置環(huán)境文件
編輯 ~/.bashrc 文件
export HADOOP_HOME=/usr/local/hadoop export HADOOP_INSTALL=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"然后
source ~/.bashrc接下來,您需要在hadoop-env.sh中定義Java環(huán)境變量,以配置YARN、HDFS、MapReduce和Hadoop相關(guān)項目設(shè)置。
上一個加上 sudo
下面開始修改hadoop的配置文件:
進入配置文件目錄
修改一下5個文件
- core-site.xml ok
使用命令:vim core-site.xml
- hdfs-site.xml ok
使用命令:vim hdfs-site.xml
- mapred-site.xml
使用命令:vim mapred-site.xml
- yarn-site.xml ok
使用命令:vim yarn-site.xml
-
workers
使用命令:vim workers
將內(nèi)容全部清除掉,并更換為你的三臺從機的主機名。
-
xsync(虛擬機之間傳送文件,傳送至相同文件下)
寫一個腳本用于虛擬機之間通過scp傳送文件
注:各位可以按需將循環(huán)中的內(nèi)容更改為你自己命名的的主機名。如:
你的主機名叫xxx,則去掉循環(huán),依次替換為rsync -rvlt $dirpath/$filename xxx:$dirpath
該命令的含義是 將你主機上的文件復(fù)制到 目標(biāo)主機(/etc/hosts 文件給出了相應(yīng)的ip,不成功時候,注意查看該文件配置情況)
- xcall
新建一個文件
修改權(quán)限,并將它們移到 ~/bin/ 目錄下
chmod 777 xsync chmod 777 xcall mkdir ~/bin # 注意這個bin 是新建的 mv xsync ~/bin mv xcall ~/bin/至此,單臺虛擬機上所需要的hadoop內(nèi)容基本上配置完畢,下面開始配置Spark。
安裝Spark
獲取下載鏈接、并配置環(huán)境
從Downloads | Apache Spark網(wǎng)頁中獲取您所需的Spark版本(務(wù)必按照所安裝的Hadoop版本進行選擇,撰寫之時最新版為3.1.1)。
清華大學(xué)鏡像站網(wǎng)址
wget https://mirrors.bfsu.edu.cn/apache/spark/spark-3.1.1/spark-3.1.1-bin-hadoop3.2.tgz tar xvzf spark-3.1.1-bin-hadoop3.2.tgz sudo mv spark-3.1.1-bin-hadoop3.2/ /usr/local/spark安裝Scala 配置Apache Spark 環(huán)境
下載解壓之后,我們進行配置環(huán)境
vim ~/.bashrc source ~/.bashrc配置的內(nèi)容如下所示
export SPARK_HOME=/usr/local/spark export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin安裝scala:
使用命令:sudo apt install scala -y,確認(rèn)命令執(zhí)行完畢的最后一行中的安裝位置:
更改配置文件
切換到Spark的目錄下(cd /usr/local/spark/conf):
將conf文件夾下的spark-env.sh.template重命名為spark-env.sh(mv spark-env.sh.template spark-env.sh),并添加以下內(nèi)容(vim spark-env.sh):
export SCALA_HOME=/usr/share/scala-2.11 export HADOOP_HOME=/usr/local/hadoop export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export SPARK_MASTER_HOST=hadoop01 export SPARK_LOCAL_DIRS=/usr/local/spark export SPARK_DRIVER_MEMORY=2g #內(nèi)存 export SPARK_WORKER_CORES=2 #cpus核心數(shù)不建議將虛擬機內(nèi)存全部分配給他
將conf文件夾下的workers.template重命名為workers(mv workers.template workers),并修改為以下內(nèi)容(vim workers)
至此,單臺虛擬機上所需要的內(nèi)容基本上配置完畢,我們只需要將虛擬機克隆兩臺然后配置各自的固定IP、主機名,重新生成ssh密匙即可。
克隆虛擬機
虛擬機的克隆
將虛擬機關(guān)機,點擊工具欄的虛擬機-管理-克隆。
點擊下一步
點擊下一步
選擇創(chuàng)建完整克隆
改個名,點完成
我們需要克隆出來兩個,重復(fù)此步驟。
啟動第二個(克隆出來的第一個)虛擬機。
虛擬機需要一個一個啟動,因為克隆出來的虛擬機的ip是一樣的,會導(dǎo)致沖突。需要一個一個修改啟動。由于虛>擬機的ip沒有發(fā)生改變,所以還可以使用xshell直接進行連接。
使用命令sudo vim /etc/hostname,將文件的內(nèi)容修改為hadoop02;
編輯網(wǎng)絡(luò)配置信息文件,使用下述命令查看網(wǎng)絡(luò)配置文件名稱,并使用vim編輯器打開它:
注意保持里面的基本信息,并修改其中的ip地址到你設(shè)計的ip地址;
改完之后sudo netplan apply 進行 應(yīng)用,ping 一個網(wǎng)址進行測試查看是否ok
然后重啟虛擬機,按照文章之前的xshell建立新連接的步驟新建連接到hadoop02主機。同理設(shè)置最后一臺虛擬機。
ssh 秘鑰設(shè)置
想要深入了解,查看我的另一篇博客
在三臺虛擬機上分別執(zhí)行:
ssh-keygen -t rsa這里是生成了rsa密鑰
然后將這三個密鑰在三臺虛擬機上相互傳輸
首先,在hadoop01上向hadoop01、hadoop02、hadoop03發(fā)送
第一個輸入yes,第二個輸入密碼
輸入ssh查看是否設(shè)置成功
重復(fù)執(zhí)行。
下面測試xcall和xsync命令
使用xcall來關(guān)閉三臺虛擬機上的防火墻,在hadoop01的終端上輸入(起始任意一臺虛擬機都可以)
xcall sudo ufw disable倘若出現(xiàn)“/bin/bash^M: bad interpreter“的,博客
解決方案
使用linux命令dos2unix filename,直接把文件轉(zhuǎn)換為unix格式;
然后我們查看 xcall sudo ufw disable 結(jié)果
測試發(fā)現(xiàn)沒毛病
hadoop初次使用
運行hadoop
還之前的那個 hadoop 安裝一樣,初始化 namenode
hadoop namenode -format
在 /usr/local/hadoop/sbin 中運行
start-all.sh
jsp 查看進程
通過 web 訪問試一試是否成功
192.168.182.159:9870
查看JPS情況
hadoop01
hadoop02
hadoop03
或者是使用 xcall
參考博客
總結(jié)
以上是生活随笔為你收集整理的ubuntu server安装hadoop和spark,并设置集群的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: springboot 多了8小时_日本人
- 下一篇: 如何配置Xshell连接Ubuntu