1. 程式人生 > 實用技巧 >ubantu18.04安裝hadoop

ubantu18.04安裝hadoop

版本:

虛擬機器VM:15.5.2

ubantu:18.04

hadoop:3.1.3

jdk:1.8

官網下載可能比較慢,可以右鍵相應的下載包,然後複製連結到迅雷中下載。這裡我也把相應的安裝包上傳到百度雲,有需要的請下載。

連結:https://pan.baidu.com/s/1BbP6uD87rdfWt9jZHLMgYQ
提取碼:y5zy

1、修改主機名:將主機名ubantu修改成hadoop100。

sudo gedit /etc/hostname

使用gedit是因為方便,實際上是自己vim不太會用,哈哈。

記住,所有的修改都要點選save儲存再退出。我的截圖上是修改之前的。

2、新增ip和主機名的對映關係。

sudo gedit /etc/hosts

在hosts檔案裡新增ip與主機名的對映,如圖:

檢視自己的虛擬機器ip使用 ifconfig,圖中紅線處便是虛擬機器ip。如果沒有這個命令,則根據錯誤提示安裝net-tools。

3、關閉防火牆

首先檢視防火牆狀態,如果是開啟的,則關閉,如果是關閉的就可以跳過這一步。當然也可以不管防火牆有沒有開,都強行關閉。

4、設定ssh免密登入

首先是下載ssh,命令如下:

sudo apt-get install openssh-server

接下來是設定ssh免密登入,原理不是太懂。

ssh-keygen -t rsa

執行該命令時一路按回車鍵就行。

cat /home/jetaime/.ssh/id_rsa.pub >> /home/jetaime/.ssh/authorized_keys

到這裡就設定好ssh免密登入了,可以測試一下:

要退出ssh的話直接輸入exit然後回車就可以了。

5、新增jdk、hadoop環境變數

首先下載jdk1.8和hadoop3.1.3到指定的資料夾下,由於下載下來解壓縮之後檔名太長,我將資料夾名字只保留了檔名和版本號。我的存放位置如下:

然後開啟環境變數檔案,在根目錄下的etc目錄裡有一個profile:

sudo gedit /etc/profile

在末尾新增如下命令:

export JAVA_HOME=/home/jetaime/soft/jdk1.8

export HADOOP_HOME=/home/jetaime/soft/hadoop3.1.3
export PATH=.:$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH

接著是使環境變數生效的操作:

source /etc/profile

這樣環境變數就生效了,可以測試一下jdk是否安裝成功:

可以看到jdk確實安裝成功了,但是命令列最前面的字型變白了,這時可以重啟ubantu系統,再開啟命令列輸入java -version也可以顯示java版本號,但是如果不重啟,直接關閉終端再開啟新的終端,

輸入java -version,會顯示找不到java命令(我的電腦是這樣的,如果你們的電腦可以,請忽略哈)

6、修改 hadoop-env.sh檔案

首先進入 soft/hadoop3.1.3/etc/hadoop/這個資料夾,會發現有一個hadoop-env.sh檔案,開啟該檔案:

gedit hadoop-env.sh

這裡不用sudo是因為hadoop檔案在我的家目錄下,不需要root許可權。

新增如下資訊:

export JAVA_HOME=/home/jetaime/soft/jdk1.8
export HADOOP_LOG_DIR=/home/jetaime/data/hadoop_repo/logs/hadoop

這裡的/home/jetaime/data/資料夾是新建的,用於儲存hadoop在執行過程中的一些日誌吧。只用新建一個data資料夾就行,後面的hadoop_repo等在後面的配置中hadoop會自動建立的

7、修改 core-site.xml檔案

開啟core-site.xml檔案:

gedit core-site.xml

新增:

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop100:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/jetaime/data/hadoop_repo</value>
</property>
</configuration>

注意,這裡的fs.defaultFS 屬性中的主機名需要和你配置的主機名保持一致,hadoop.tmp.dir所在資料夾需要和你建立的data資料夾路徑一致。

8、修改hdfs-site.xml檔案

按照上面的操作:開啟hdfs-site.xml檔案,新增:

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

直接貼上就行了,不需要修改啥。

9、修改mapred-site.xml檔案

同樣是開啟mapred-site.xml檔案,新增:

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

10、修改 yarn-site.xml,設定 yarn 上支援執行的服務和環境變數白名單

同樣是開啟yarn-site.xml檔案,新增:

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CL
ASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
</configuration>

11、格式化 namenode

首先往上退兩層目錄到 soft/hadoop3.1.3/,或者直接

cd soft/hadoop3.1.3/

然後進行namenode的格式化:

bin/hdfs namenode -format

如果看到common.Storage: Storage directory /home/jetaime/data/hadoop_repo/dfs/name has been successfully formatted.,則說明格式化成功。如圖:

12、修改start-dfs.sh檔案

進入sbin目錄,開啟start-dfs.sh檔案:

cd sbin/
gedit start-dfs.sh

新增:

HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

13、修改stop-dfs.sh檔案

開啟stop-dfs.sh檔案,新增:

HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

14、修改 start-yarn.sh檔案

開啟start-yarn.sh檔案,新增:

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

15、修改stop-yarn.sh檔案

開啟stop-yarn.sh檔案,新增:

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

16、啟動 hadoop 叢集

start-all.sh

17、驗證叢集程序資訊

jps

執行 jps 命令可以檢視叢集的程序資訊,丟擲 Jps 這個程序之外還需要有 5 個程序才說明叢集是正常啟動的

18、通過 webui 介面來驗證叢集服務是否正常

1)hdfs webui 介面:192.168.40.132:9870,這裡的192.168.40.132是我的虛擬機器ip,需要根據個人ip地址不同進行修改(使用ifconfig檢視),後面的:9870不用改。


2)yarn webui 介面:192.168.40.132:8088,這裡的192.168.40.132是我的虛擬機器ip,需要根據個人ip地址不同進行修改(使用ifconfig檢視),後面的:8088不用改。

19、停止叢集

stop-all.sh

至此,hadoop就已經安裝完成了。