Hadoop(5)
歷史服務其和日誌聚集的配置、集羣時間同步的配置
歷史服務器
爲了查看程序的歷史運行情況,需要配置一下歷史服務器
- 配置mapred-site.xml
打開mapred-site.xml,在configuration
標籤裏面添加以下內容:
<!-- 歷史服務器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value><歷史服務器地址>:10020</value>
</property>
<!-- 歷史服務器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value><歷史服務器地址>:19888</value>
</property>
- 啓動歷史服務器
<Hadoop安裝目錄>/sbin/mr-jobhistory-daemon.sh start historyserver
- 使用
scp
或者xsync
命令同步配置文件 - 然後使用
jps
命令查看歷史服務器是否啓動成功
日誌聚集
日誌聚集即將Hadoop運行的日誌信息上傳到HDFS上,這樣可以方便的查看到程序運行的詳情,方便開發調試
- 配置yarn-site.xml,在
configuration
標籤中添加以下內容:
<!-- 日誌聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日誌保留時間設置7天,value以秒爲單位 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
- 使用
scp
或者xsync
命令同步配置文件 - 重新啓動NodeManager 、ResourceManager和HistoryManager
測試歷史服務器和日誌聚集
-
訪問ResourceManager的8088端口,可以看到Hadoop資源調度的頁面
-
在Hadoop上執行一個MapReduce程序,執行完之後在資源調度的頁面會出現一個History
-
訪問JobHistoryServer的19888端口
點擊logs
按鈕可以查看日誌
集羣時間同步
有有時候我們需要保證集羣中所有的服務器時間相同,不然可能會出現一些問題,具體的思路就是使用一臺主機作爲時間服務器,其他的主機同步時間服務器的時間,從而保證集羣中所有的節點時間一致
注意
配置過程最好都使用root
配置集羣中的時間服務器
選取一臺主機當做時間服務器,這裏我們使用192.168.8.101作爲時間服務器
- 檢查ntp是否安裝
rpm -qa|grep ntp
看一下是否有以下內容
ntp-4.2.6p5-10.el6.centos.x86_64
ntpdate-4.2.6p5-10.el6.centos.x86_64
如果沒有,需要我們手動安裝ntp
yum -y install ntp
- 確保ntp安裝完成之後,先關掉ntp服務
systemctl stop ntpd
- 修改ntp配置文件
vim /etc/ntp.conf
首先將#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
前面的註釋去掉,然後將這個網段改爲自己集羣的額網段,我的網段是192.168.8.*
這個配置的意義是該網段上的所有機器可以從這臺機器上查詢和同步時間
restrict 192.168.8.0 mask 255.255.255.0 nomodify notrap
然後在下面幾行前面加上註釋,即不使用該配置
這幾行的作用是從網絡上獲取時間
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
然後再添加以下內容到配置文件
server 127.127.1.0
fudge 127.127.1.0 stratum 10
- 修改 /etc/sysconfig/ntpd 文件,添加以下內容(同步硬件時鐘)
SYNC_HWCLOCK=yes
- 然後重新啓動ntp服務
systemctl start ntpd
- 設置ntp服務開機啓動
systemctl enable ntpd
配置集羣中的其他主機
- 首先跟上面一樣檢測ntp是否安裝
- 確認安裝ntp以後,啓動ntp服務,並設置開機啓動
- 創建一個定時任務
crontab -e
然後輸入
*/10 * * * * /usr/sbin/ntpdate <集羣中時間府服務器地址>
保存退出即可