999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Hadoop的企業級大數據平臺的自動化部署

2019-05-23 10:44:48陳新華
電腦知識與技術 2019年8期

陳新華

摘要:Hadoop系統是優秀的大數據處理系統,具有分布式存儲和處理數據的能力,其應用環境的部署相對比較復雜,文章提出一種自動化部署Hadoop的解決方案。通過編寫自動化部署Hadoop的shell腳本,可以快速部署Hadoop大數據平臺,顯著降低了Hadoop集群部署的復雜度及時間成本。

關鍵詞:自動化部署;大數據平臺;Hadoop集群

中圖分類號:TP393 文獻標識碼:A

文章編號:1009-3044(2019)08-0221-03

1 概述

隨著信息技術的發展,越來越多的信息以數字形式在信息系統中傳輸、處理和存儲。在信息技術快速發展的今天,人類以正在以前所未有的速度產生數據,除了信息系統的運行產生大量數據,現在每個人在每天的生活中都會產生很多的數據(例如工作中產生的數據、電話通信、交通導航、新聞閱覽、消費記錄、評論、留言、工作過程等),大數據就成為這個高科技時代的產物。大數據是云計算、智慧城市的基礎,同時大數據也為人工智能提供數據基礎。Hadoop作為開源的大數據處理系統,為數據的存儲和處理提供了技術平臺,為了解決Hadoop系統應用中配置管理的復雜性問題,本文通過shell編程,提供了一種自動化配置管理Hadoop的方法,減少了配置難度,提升了Hadoop平臺的部署速度。

2 HADOOP簡介

Hadoop是一套開源的軟件平臺,利用服務器集群,根據用戶的自定義業務邏輯,對海量數據進行分布式處理。Hadoop的主要目標是對分布式環境下的“大數據”以一種可靠、高效、可伸縮的方式處理。

Hadoop的MapReduce和HDFS的核心設計,使得整個框架能夠自動處理節點故障。MapReduce提供了對數據的計算,HDFS提供了海量數據的存儲。Hadoop能夠輕松處理PB級的海量數據。

HDFS(Hadoop Distributed File System)是為Hadoop項目開發的文件系統,它采用(master/slave)架構。HDFS由一個NameNode和眾多DataNode組成。HDFS以文件格式為用戶存儲數據提供相應的文件名稱空間。通常情況下,HDFS將這些文件分成幾個文件塊,這些文件塊被存儲在一組數據服務中。然后由NameNode提供基本功能,如打開、關閉和重命名文件和目錄,同時負責將文件塊映射到DataNode節點上。由DataNode負責響應客戶端具體文件的讀寫操作,同時處理NameNode節點發來的建立、刪除和備份數據塊的請求。Hadoop平臺架構如圖1所示。

Hadoop平臺的部署形式可分為三類:獨立模式,偽分布模式和完全分布模式(標準集群模式)。根據研究項目的要求,建立企業大數據Hadoop平臺必須使用完全分布式模式。

Hadoop的部署方式目前以手動部署居多。手動部署缺點較多,主要表現在部署耗時多、容易出現錯誤、對操作人員的技術水平要求高、部署過程既不可重復也不可靠、需要維護額外的文檔。

本文提出一種自動化部署Hadoop的解決方案。通過編寫shell腳本,可以快速實現自動化部署Hadoop大數據平臺,大大降低了Hadoop集群部署的復雜度、縮減了部署的時間成本。在一定程度上彌補了手動部署的缺點。

3 自動化部署程序的設計與實現

3.1 shell工具介紹

Shell提供了用戶和內核進行交互操作的一種接口。同時,Shell也是一個命令解釋器,它解釋由用戶輸入的命令并且把它們送到內核。不僅如此,Shell有自己的編程語言用于對命令的編輯,它允許用戶編寫由 shell 命令組成的程序。UNIX/Linux 操作系統下的Shell既是用戶交互的界面,也是控制系統的腳本語言。

本文利用shell編寫自動化部署腳本。

3.2 自動化部署shell腳本的實現

自動化部署shell腳本的實現主要依據hadoop平臺的部署步驟,將每一個步驟編寫為shell腳本,最后形成一個shell腳本文件。下文以一個master節點,兩個slave節點,共三個節點組成的hadoop集群為例進行展示。

1) 配置SSH免密登錄。腳本如下:

[#修改hosts文件,配置主機名與ip的映射。

echo "IP地址 master" >> /etc/hosts

echo " IP地址slave1" >> /etc/hosts

echo " IP地址slave2" >> /etc/hosts

#下載安裝expect。

yum install expect –y

#生成秘鑰。

echo |ssh-keygen -t rsa

#需要配置的主機名。

SERVERS="master slave1 slave2"

#需要配置的主機登錄密碼。

PASSWORD=123456

#將本機生成的公鑰復制到其他節點上。

ssh_copy_id_to_all(){

for SERVER in $SERVERS

do

auto_ssh_copy_id $SERVER $PASSWORD

done

} ]

2) 配置每臺服務器的hosts文件。腳本如下:

[#在master上配置hosts文件,再將配置好的hosts文件發送給slave1,slave2。

scp /etc/hosts slave1:/etc

scp /etc/hosts slave2:/etc ]

3) 創建目錄并安裝hadoop和jdk軟件。腳本如下:

[#為集群中節點的hdfs的NameNode、DataNode及臨時文件在用戶目錄下創建目錄。

mkdir -p /home/data/hdfs/data /home/data/hdfs/tmp /home/data/hdfs/name

#解壓軟件包并將解壓后的包移動到相應的目錄下。

tar -zxvf jdk-8u171-linux-x64.tar.gz

mv jdk1.8.0_171 /usr/local/

tar -zxvf hadoop-2.7.6.tar.gz

mv hadoop-2.7.6 /home/data/hdfs/data ]

4) 配置環境變量。

java環境變量配置腳本如下:

[grep -q "export PATH=" /etc/profile

if [ $? -ne 0 ]; then

#末行插入

echo 'export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$HADOOP_HOME/bin'>>/etc/profile

else

#行尾添加

sed -i '/^export PATH=.*/s/$/:\$JAVA_HOME\/bin/' /etc/profile

fi

grep -q "export JAVA_HOME=" /etc/profile

if [ $? -ne 0 ]; then

#導入配置

filename="$(ls /usr/local | grep '^jdk.*[^rpm | gz]$' | sed -n '1p')"

sed -i "/^export PATH=.*/i\export JAVA_HOME=\/usr\/local\/jdk1.8.0_171$filename" /etc/profile

sed -i '/^export PATH=.*/i\export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib' /etc/profile

#echo "export JAVA_HOME=/usr/local/$filename">>/etc/profile

#echo 'export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar'>>/etc/profile

else

#替換原有配置

filename="$(ls /usr/local | grep '^jdk.*[^rpm | gz]$' | sed -n '1p')"

sed -i "s/^export JAVA_HOME=.*/export JAVA_HOME=\/usr\/local\/$filename/" /etc/profile

fi

source /etc/profile

echo"7"

source /etc/profile

echo"8" ]

hadoop環境變量配置腳本如下:

[grep -q "export HADOOP_HOME=" /etc/profile

if [ $? -ne 0 ]; then

#在PATH前面一行插入HADOOP_HOME

sed -i '/^export PATH=.*/i\export HADOOP_HOME=\/home\/data\/hdfs\/data\/hadoop-2.7.6' /etc/profile

else

sed -i 's/^export HADOOP_HOME=.*/export HADOOP_HOME=\/home\/data\/hdfs\/data\/hadoop-2.7.6:' /etc/profile

fi

source /etc/profile

echo"9"

source /etc/profile ]

加載,使slave的環境變量生效。

[scp /etc/profile slave1:/etc

scp /etc/profile slave2:/etc

ssh slave1 source /etc/profile

ssh slave2 source /etc/profile ]

5) 共享Hadoop配置文件。

hadoop-2.7的配置目錄,依次修改core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml以及slaves文件。腳本如下:

[#將整個hadoop-2.7.6文件夾及其子文件夾復制到slave1和slave2的相同目錄中。

scp –r /home/data/hdfs/data/hadoop-2.7.6/root@slave1:/home/data/hdfs/data

scp –r /home/data/hdfs/data/hadoop-2.7.6/root@slave2:/home/data/hdfs/data ]

6) 啟動hadoop服務。腳本如下:

[#格式化namenode

/home/data/hdfs/data/hadoop-2.7.6/bin/hadoop namenode –format

#啟動hadoop進程

/home/data/hdfs/data/hadoop-2.7.6/sbin/hadoop-daemon.sh start namenode

/home/data/hdfs/data/hadoop-2.7.6/sbin/hadoop-daemon.sh start datanode

/home/data/hdfs/data/hadoop-2.7.6/sbin/hadoop-daemon.sh start secondarynamenode

/home/data/hdfs/data/hadoop-2.7.6/sbin/yarn-daemon.sh start resourcemanager

#在slave節點上啟動hadoop進程

ssh slave1 /home/data/hdfs/data/hadoop-2.7.6/sbin/yarn-daemon.sh start nodemanager

ssh slave2 /home/data/hdfs/data/hadoop-2.7.6/sbin/yarn-daemon.sh start nodemanager ]

4 基于HADOOP的企業大數據平臺自動化部署測試

4.1 測試網絡拓撲結構設計

測試環境搭建的是hadoop三節點集群,包含一臺master節點,兩臺slave節點。

實驗室環境中Hadoop集群的拓撲結構如圖2所示。

ip地址和主機名規劃如表1所示。

4.2 測試環境準備

1)操作系統鏡像選擇的是rhel-server-7.0-x86_64-dvd.iso,也可以選擇Ubuntu、CentOS等。

2)軟件選擇Hadoop2.7.6和jdk1.8.0_171。

4.3 基于HADOOP的企業大數據平臺的自動化部署

1) 執行hadoop.sh腳本文件。

將以上腳本寫入一個名為hadoop.sh的腳本文件,并在master節點上使用下列命令執行該腳本文件。

[root@master ~]# . /hadoop.sh

2) 運行jps查看服務啟動情況。

腳本文件運行結束后,即可用jps查看hadoop服務啟動情況。

[root@master ~]# jps

3) 查看UI管理界面

登錄http://192.168.127.130:50070查看YARN管理界面,如圖3所示。

可以看出三節點集群的hadoop大數據平臺自動化部署成功。

5 總結

Hadoop作為大數據分析平臺被企業廣泛應用,但其部署過程復雜、耗時長、技術要求高。本文以企業大數據平臺的部署為研究對象,提出使用自動化部署來改善手動部署的缺點,編寫了自動化部署文件,并在三節點的hadoop集群上進行了自動化部署測試。測試結果顯示,自動化部署將部署時間從5~6小時縮減至5~10分鐘,顯著地降低了部署的時間成本,而且對部署人員的技術要求也不高。

參考文獻:

[1] 孟源北.支持自動化Hadoop安裝部署的研究[J].信息通信,2013(8):20.

[2] 于金良,朱志祥,李聰穎.Hadoop平臺的自動化部署與監控研究[J].計算機與數字工程,2016(12):2457-2461.

[3] 劉萍.基于Hadoop與Spark的大數據處理平臺的構建研究[J].通化師范學院學報,2018(30):83-88.

[4] 孟永偉,黃建強,曹騰飛,王曉英.Hadoop集群部署實驗的設計與實現[J].實驗技術與管理,2015(1):145-149.

【通聯編輯:王力】

主站蜘蛛池模板: 666精品国产精品亚洲| 97国产在线播放| 爆乳熟妇一区二区三区| 在线观看亚洲国产| 真人免费一级毛片一区二区| 4虎影视国产在线观看精品| 国产成人精品男人的天堂| 亚洲另类第一页| 无码人中文字幕| AV在线天堂进入| 精品一区二区无码av| 国产呦精品一区二区三区下载| 欧美日本激情| 国产一级无码不卡视频| 成年人免费国产视频| 午夜欧美在线| 99re视频在线| 亚洲人在线| 欧美α片免费观看| 日韩欧美亚洲国产成人综合| 99热精品久久| 欧美日韩国产综合视频在线观看| 高清视频一区| 久久久久青草线综合超碰| 97视频在线精品国自产拍| 国产AV无码专区亚洲A∨毛片| 91色综合综合热五月激情| 色婷婷电影网| 婷婷午夜天| 亚洲无码免费黄色网址| 99精品国产电影| 欧美精品二区| 亚洲国产欧美中日韩成人综合视频| 男人天堂伊人网| 无码人中文字幕| 国产粉嫩粉嫩的18在线播放91| 99无码熟妇丰满人妻啪啪| 青青草国产精品久久久久| 日韩福利视频导航| 在线毛片免费| 欧美成人午夜在线全部免费| 亚洲欧洲日产国产无码AV| 2019年国产精品自拍不卡| 精品一区二区三区四区五区| 国产成人精品一区二区三区| 永久成人无码激情视频免费| 国产欧美综合在线观看第七页| 91无码人妻精品一区二区蜜桃| 日韩欧美中文字幕一本| 精品少妇人妻av无码久久 | 亚洲成人播放| 久久精品66| 国模视频一区二区| 中国成人在线视频| 欧美人与性动交a欧美精品| 日韩123欧美字幕| 人妻21p大胆| 婷婷色狠狠干| 亚洲中字无码AV电影在线观看| 九九九国产| 国产av无码日韩av无码网站| 91偷拍一区| a毛片在线播放| 亚洲h视频在线| www.国产福利| 国产噜噜噜视频在线观看| 午夜欧美在线| 国产剧情伊人| 毛片免费在线| 国产精品一线天| 91久久精品日日躁夜夜躁欧美| 91无码视频在线观看| 中文字幕乱妇无码AV在线| 免费毛片全部不收费的| 久久国产拍爱| 毛片免费在线视频| 国产96在线 | 香蕉蕉亚亚洲aav综合| 日韩毛片在线视频| 久久精品丝袜高跟鞋| 亚洲最大看欧美片网站地址| 亚洲综合九九|