Hadoop包括三種安裝模式:
-
單機模式:只在一台機器上運行,存儲是采用本地文件系統,沒有采用分布式文件系統HDFS;
-
偽分布式模式:存儲采用分布式文件系統HDFS,但HDFS的名稱節點和數據節點都在同一台機器上;
-
分布式模式:存儲采用分布式文件系統HDFS,而且,HDFS的名稱節點和數據節點位於不同機器上;
Hadoop安裝步驟:
- 准備Hadoop、Jdk壓縮包
- 更新軟件包最新列表
- 安裝SSH
- 安裝Java並配置環境
- 安裝Hadoop
- 運行Hadoop樣例
1. 准備Hadoop、Jdk壓縮包
- Jdk:由於官網下載jdk還要登錄oracle賬號很麻煩,可自行通過百度等其它方式下載
- Hadoop:https://hadoop.apache.org/releases.html
注:binary是編譯好的可以直接使用,source是還沒編譯過的源代碼,需要自行編譯
根據推薦下載源下載
百度網盤分享:
Jdk-8u171-linux-x64:
鏈接:https://pan.baidu.com/s/1_lji-tSNTeo_bXTP49HddQ 提取碼:45bw
Hadoop-3.2.2:
鏈接:https://pan.baidu.com/s/1WlLfa13YeMGYr0ZSeXtkgQ 提取碼:uxq3
這里使用hadoop3.2.2版本和jdk1.8版本
2. 更新軟件包最新列表
hadoop@zq:~$ sudo apt-get update
如果是新增加的hadoop用戶可能沒有sudo權限,報錯:hadoop is not in the sudoers file. This incident will be reported.
hadoop@zq:~$ exit # 返回管理員賬號 logout zou123@zq:~$ sudo -s # 切換超級管理員 root@zq:~# vim /etc/sudoers # 用Vim編輯 sudoers文件
新增一條語句,hadoop ALL=(ALL) ALL
:wq! 這是只讀文件,需要強制保存
3. 安裝SSH
hadoop@zq:~$ sudo apt-get install openssh-server
用本機命令登錄
hadoop@zq:~$ ssh localhost
執行該命令后會輸入“yes”,然后按提示輸入密碼,就登錄到本機了
exit退出SSH,然后ssh-keygen生成密鑰,並將密鑰加入到授權中
# 若進入目錄失敗,則重新安裝SSH hadoop@zq:~/.ssh$ ls known_hosts # 三個密碼都省略,直接回車 hadoop@zq:~/.ssh$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: # 將id_rsa.pub的內容追加到authoried_keys中 hadoop@zq:~/.ssh$ cat id_rsa.pub >> authorized_keys # 再次登錄本地,無需輸入密碼 hadoop@zq:~/.ssh$ ssh localhost
4. 安裝Java並配置環境
# 執行如下命令創建“/usr/lib/jvm”目錄用來存放JDK文件 hadoop@zq:~/.ssh$ cd /usr/lib hadoop@zq:/usr/lib$ sudo mkdir jvm # 將已下載的jdk進行解壓縮 hadoop@zq:~/Downloads$ sudo tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/lib/jvm
在Hadoop用戶目錄下配置Java運行環境
# 使用Vim打開.bashrc文件,保存 hadoop@zq:~$ vim ~/.bashrc # 在文件的開頭位置,添加如下幾行內容,這里jdk目錄名為 jdk1.8.0_171 export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_171 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH # 繼續執行如下命令讓.bashrc文件的配置立即生效 hadoop@zq:~$ source ~/.bashrc # 查看Java版本,驗證是否安裝成功 hadoop@zq:~$ java -version
5. 安裝Hadoop
# 解壓Hadoop壓縮文件到usr/local hadoop@zq:~/Downloads$ sudo tar -zxvf hadoop-3.2.2.tar.gz -C /usr/local # 給hadoop-3.2.2文件改名為hadoop hadoop@zq:/usr/local$ sudo mv hadoop-3.2.2 hadoop # 修改文件權限 hadoop@zq:/usr/local$ sudo chown -R hadoop ./hadoop hadoop@zq:/usr/local$ cd hadoop # 查看hadoop版本,驗證是否安裝成功 hadoop@zq:/usr/local/hadoop$ bin/hadoop version
6. 運行Hadoop樣例
# Hadoop附帶了豐富的例子,運行如下命令可以查看所有例子:
hadoop@zq:/usr/local/hadoop$ cd /usr/local/hadoop
hadoop@zq:/usr/local/hadoop$ ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar
# 運行grep例子
hadoop@zq:/usr/local/hadoop$ cd /usr/local/hadoop
# 創建input文件夾
hadoop@zq:/usr/local/hadoop$ mkdir input
# 拷貝hadoop目錄下所有.xml文件到input文件夾
hadoop@zq:/usr/local/hadoop$ cp ./etc/hadoop/*.xml ./input hadoop@zq:/usr/local/hadoop$ ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce- examples-*.jar grep ./input ./output 'dfs[a-z.]+' # 查看結果 hadoop@zq:/usr/local/hadoop$ cat ./output/*
Hadoop默認模式為非分布式模式(本地模式),無需進行其他配置即可運行,偽分布式、分布式將在后續補充