環境:
1、虛擬機:VMware14pro
2、操作系統:centos7
3、Jdk版本:java SE 1.8.0
4、hadoop版本:2.8.4
5、遠程連接工具:Xshell6(連接服務器) 和 Xftp6(文件傳輸)——ps.非必要
一、安裝虛擬機
在windows系統中安裝VMware14pro,直接下載安裝,無需贅述
下載地址:https://www.vmware.com/cn.html
激活方式參考另一篇博文:https://blog.csdn.net/MDbabyface/article/details/82084346
ps:如有條件,請購買使用
二、安裝linux操作系統
CentOS 是一個基於Red Hat Linux 提供的可自由使用源代碼的企業級Linux發行版本。也可以選擇其他Linux發行版。例如: Ubuntu、Fadora
1、下載centos7鏡像文件
下載地址:https://www.centos.org/download/
2、安裝centos7
2.1 創建虛擬機
選擇創建新的虛擬機——選擇典型安裝——選擇centos7鏡像獲取位置——選擇centos7系統安裝位置——磁盤大小默認20G
點擊完成即可完成系統安裝
2.2 配置操作系統
進入配置界面——選擇語言中文——軟件選擇(最小化安裝或者帶圖形界面)——網絡與主機名自行配置——選擇開始安裝
安裝完成之後打開虛擬機設置,網絡適配器選擇僅主機模式(也可選擇其他模式,此處僅配置單機hadoop,選用僅主機模式)
ps:這裏簡單介紹一下三種網絡模式
橋接模式:相當於在宿主機前端加入了一個虛擬交換器,宿主機和虛擬機共享這個虛擬交換器,虛擬機需要手動配置IP地址、子網掩碼,而且需要和宿主機處於同一個網段,保證能與宿主機進行通信。虛擬機相當於一臺獨立主機。
NAT模式:此種模式下宿主機成爲雙網卡主機,同時參與現有 的宿主局域網和新建的虛擬局域網,虛擬局域網通過虛擬的NAT服務器,使用宿主機IP地址訪問公網。
僅主機模式:此種模式下宿主機與上所以虛擬機可以相互通信,但是虛擬機和真實網絡是被隔離開的。
3、修改主機名
把原先的主機名刪去,寫入新的主機名 hadoop,保存退出
修改主機名需要重啓才能生效,可以通過臨時修改使得主機名立即生效
查看當前主機名
表示修改成功
4、設置靜態ip
查看當前網絡狀態:
第一個網卡lo是迴路網卡,機器與自己通信的,
第二個ens33是與外部通信的網卡,可以看到IP地址,但默認情況下IP地址自動獲取,因此需要手動修改成靜態
輸入指令:
打開ens33配置文件
將“BOOTPROTO=dhcp”改成“BOOTPROTO=static”(設置成靜態)
將“ONBOOT=no”修改成“ONBOOT=yes”(設置開機啓動網卡)
在下面寫入:
IPADDR=192.168.80.128
NETMASK=255.255.255.0
因此本機網絡設置爲僅主機模式無法連接外網,所以僅設置IP地址和子網掩碼
其他模式需要連接外網請自行設置網關和DNS。
重啓網絡即可完成設置
5、添加主機與ip映射
輸入指令
在文件中寫入一行
192.168.91.124 hadoop
:wq 保存退出
6、關閉防火牆
啓動: systemctl start firewalld
關閉: systemctl stop firewalld
查看狀態: systemctl status firewalld
開機禁用 : systemctl disable firewalld
開機啓用 : systemctl enable firewalld
輸入指令 systemctl disable firewalld
若想立即成效,則輸入關閉防火牆指令
systemctl stop firewalld
7、設置ssh免登陸
authorized_keys:存放遠程免密登錄的公鑰,主要通過這個文件記錄多臺機器的公鑰
id_rsa : 生成的私鑰文件
id_rsa.pub : 生成的公鑰文件
know_hosts : 已知的主機公鑰清單
輸入指令生成祕鑰
enter幾次之後完成祕鑰生成
輸入ls指令即可查看生成的祕鑰文件
將公鑰寫入新的文件authorized_keys中
測試一下:ssh hadoop
顯示last login並且無需輸入密碼則設置成功
三、安裝與配置jdk
1、卸載當前openjdk
查看當前jdk版本
java -version
hadoop官網推薦使用sun公司的jdk版本,因此先卸載原先的jdk
yum -y remove java java-1.8.0-openjdk-headless.x86_64
yum -y remove java java-1.7.0-openjdk-headless.x86_64
yum -y remove java java-1.8.0-openjdk
查看是否卸載完成
2、安裝jdk
將jdk安裝包文件拷入到 usr/java 下
cd到usr/java 目錄下
解壓java安裝包
tar -zxvf jdk1.8.0_181
3、配置環境變量
安裝完成後需要配置一下環境變量,編輯/etc/profile文件:
vim /etc/profile
在文件尾部添加如下配置:
export JAVA_HOME=/usr/java/jdk1.8.0_131/
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
最後一步就是通過source命令重新加載/etc/profile文件,使得修改後的內容在當前shell窗口有效:
source /etc/profile
4、測試
查看當前jdk版本
jdk安裝完成!
四、安裝與配置hadoop
1、安裝hadoop
將下載好的hadoop安裝包拷入到 /usr/hadoop 文件夾中
cd 到/usr/java/ 目錄下
tar -zxvf hadoop-2.8.4.tar.gz
解壓完成
2、配置hadoop(修改五個配置文件)
進入到hadoop的配置文件目錄中
/usr/hadoop/hadoop-2.8.4/etc/hadoop
2.1 配置 hadoop-env.sh
vi hadoop-env.sh
將JAVA_HOME修改爲jdk安裝路徑
2.2 配置core-site.xml
vi core-site.xml
# 在<configuration>中添加配置
<configuration>
<!-- 指定HADOOP所使用的文件系統schema(URI),HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop:9000</value>
</property>
<!-- 指定hadoop運行時產生臨時文件的存儲目錄 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/java/jdk1.8.0_181/tmp</value>
</property>
</configuration>
2.3 配置hdfs-site.xml
vi hdfs-site.xml
<configuration>
<!-- 指定HDFS副本的數量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
2.4 配置 mapred-site.xml
將 mapred-site.xml.template複製一份並重命名爲 mapred-site.xml
mv mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
# 配置mapred-site.xml <configuration>
<!-- 指定mr運行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
2.5 配置yarn-site.xml
vi yarn-site.xml
<configuration>
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop</value>
</property>
<!-- reducer獲取數據的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
保存退出,配置完成!
3、格式化hdfs
cd到bin目錄下
./hdfs namenode -format
看見這一行提示即表示格式化成功
4、啓動並測試hdfs
cd 到sbin目錄下
啓動 start-all.sh
start-all.sh
用jps指令查看當前啓動的進程
看見下面幾個即表示啓動成功
在瀏覽器地址欄中輸入 192.168.91.124:50070(IP地址可能不一樣,端口是一樣的)
登錄成功!