Hadoop集群搭建的詳細過程
Hadoop集群搭建
一、準備
-
三台虛擬機:master01,node1,node2
-
時間同步
1.date命令查看三台虛擬機時間是否一致 2.不一致時間同步:ntpdate ntp.aliyun.com
-
調整時區
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
-
查看jdk
java-version
-
修改主機名
三台分別執行vim /etc/hostname 修改為指定的主機名
-
關閉防火牆
systemctl stop firewalld
-
查看防火牆狀態
systemctl status firewalld
-
取消防火牆自啟
systemctl disable firewalld
-
-
靜態ip設置
手動編輯配置文件
1、編輯網絡配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE=Ethernet BOOTPROTO=static HWADDR=00:0C:29:E2:B8:F2 NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.137.150 GATEWAY=192.168.137.2 NETMASK=255.255.255.0 DNS1=192.168.190.2 DNS2=223.6.6.6 需要修改:HWADDR(mac地址,centos7不需要手動指定mac地址) IPADDR(根據自己的網段,自定義IP地址) GATEWAY(根據自己的網段填寫對應的網關地址) 2、關閉NetworkManager,並取消開機自啟 systemctl stop NetworkManager systemctl disable NetworkManager 3、重啟網絡服務 systemctl restart network
-
配置免密登錄
1、生成密鑰 ssh-keygen -t rsa 2、配置免密登錄 ssh-copy-id master01 ssh-copy-id node1 ssh-copy-id nade2 3、測試免密登錄 ssh node1
-
配置映射文件:/etc/hosts
192.168.137.150 master01 192.168.137.160 node1 192.168.137.170 node2
二、搭建Hadoop集群
1、上傳安裝包並解壓
cd /usr/local/soft/
解壓:
tar -zxvf
2、配置環境變量
vim /etc/propfile
重新加載環境變量
source /etc/profile
3、修改Hadoop配置文件
cd /usr/local/soft/hadoop-2.7.6/etc/hadoop
-
配置hadoop-env.sh
-
配置core-site.xml
fs.defaultFS: 默認文件系統的名稱。其方案和權限決定文件系統實現的URI。uri的方案確定命名文件系統實現類的配置屬性(fs.scheme.impl)。uri的權限用於確定文件系統的主機、端口等。
hadoop.tmp.dir:是 hadoop文件系統依賴的基本配置,很多配置路徑都依賴它,它的默認位置是在 /tmp/{$user}下面,注意這是個臨時目錄!!!
因此,它的持久化配置很重要的! 如果選擇默認,一旦因為斷電等外在因素影響,/tmp/{$user}下的所有東西都會丟失。
fs.trash.interval:啟用垃圾箱配置,dfs命令刪除的文件不會立即從HDFS中刪除。相反,HDFS將其移動到垃圾目錄(每個用戶在
/user/<username>/.Trash
下都有自己的垃圾目錄)。只要文件保留在垃圾箱中,文件可以快速恢復。<property> <name>fs.defaultFS</name> <value>hdfs://master01:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/soft/hadoop-2.7.6/tmp</value> </property> <property> <name>fs.trash.interval</name> <value>1440</value> </property>
-
配置hdfs-site.xml
dfs.replication:每個datanode上只能存放一個副本。我這裡就2個datanode
dfs.permissions:如果為「true」,則在HDFS中啟用權限檢查。如果為「false」,則關閉權限檢查,但所有其他行為保持不變。從一個參數值切換到另一個參數值不會更改文件或目錄的模式、所有者或組。
<property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property>
-
配置mapred-site.xml.template
mapreduce.framework.name:用於執行MapReduce作業的運行時框架。
mapreduce.jobhistory.address:Hadoop自帶了一個歷史服務器,可以通過歷史服務器查看已經運行完的Mapreduce作業記錄,比如用了多少個Map、用了多少個Reduce、作業提交時間、作業啟動時間、作業完成時間等信息。默認情況下,Hadoop歷史服務器是沒有啟動的,我們可以通過*mr-jobhistory-daemon.sh start historyserver命令來啟動Hadoop歷史服務器。我們可以通過Hadoop jar的命令來實現我們的程序jar包的運行,關於運行的日誌,我們一般都需要通過啟動一個服務來進行查看,就是我們的JobHistoryServer,我們可以啟動一個進程,專門用於查看我們的任務提交的日誌。mapreduce.jobhistory.address和mapreduce.jobhistory.webapp.address默認的值分別是0.0.0.0:10020和0.0.0.0:19888
1、複製: [root@master01 hadoop]# cp mapred-site.xml.template mapred-site.xml 2、修改 <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>master01:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>master01:19888</value> </property>
-
配置yarn-site.xml
yarn.resourcemanager.hostname:指定yarn主節點
yarn.nodemanager.aux-services:NodeManager上運行的附屬服務。需配置成 mapreduce_shuffle,才可運行MapReduce程序。默認值:「」
yarn.log-aggregation-enable:yarn日誌聚合功能開關
yarn.log-aggregation.retain-seconds:日誌保留時限,默認7天
<property> <name>yarn.resourcemanager.hostname</name> <value>master01</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property>
-
配置slaves
從節點的信息
node1 node2
4、分發Hadoop到node1、node2
cd /usr/local/soft/
scp -r hadoop-2.7.6/ node1:`pwd`
scp -r hadoop-2.7.6/ node2:`pwd`
5、格式化namenode(第一次啟動的時候需要執行,以及每次修改核心配置文件後都需要)
在主節點下進行格式化
hdfs namenode -format
6、啟動Hadoop集群
start-all.sh
7、查看master01、node1、node2上的進程
jps
NameNode:接受客戶端的讀/寫服務,收集 DataNode 彙報的 Block 列表信息
DataNode:真實數據存儲的地方(block)
SecondaryNameNode:做持久化的時候用到
進程 | master01(主) | node1(從) | node2(從) |
---|---|---|---|
NameNode | √ | ||
SecondaryNameNode | √ | ||
ResourceManager | √ | ||
DataNode | √ | √ | |
NodeManager | √ | √ |
8、訪問HDFS的web界面
//192.168.137.150:50070
9、訪問YARN的web界面
//192.168.137.150:8088
10、配置windows映射,讓電腦可以下載hadoop上的文件
- 首先到這個目錄c盤的這個目錄下。c盤文件不允許修改,點擊hosts的屬性,安全,編輯,給user用戶一個修改權限就可以修改了。
添加:192.168.137.150 master01
192.168.137.160 node1
192.168.137.170 node2