国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Hadoop的企業(yè)級(jí)大數(shù)據(jù)平臺(tái)的自動(dòng)化部署

2019-05-23 10:44陳新華
電腦知識(shí)與技術(shù) 2019年8期
關(guān)鍵詞:大數(shù)據(jù)平臺(tái)

陳新華

摘要:Hadoop系統(tǒng)是優(yōu)秀的大數(shù)據(jù)處理系統(tǒng),具有分布式存儲(chǔ)和處理數(shù)據(jù)的能力,其應(yīng)用環(huán)境的部署相對(duì)比較復(fù)雜,文章提出一種自動(dòng)化部署Hadoop的解決方案。通過(guò)編寫(xiě)自動(dòng)化部署Hadoop的shell腳本,可以快速部署Hadoop大數(shù)據(jù)平臺(tái),顯著降低了Hadoop集群部署的復(fù)雜度及時(shí)間成本。

關(guān)鍵詞:自動(dòng)化部署;大數(shù)據(jù)平臺(tái);Hadoop集群

中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A

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

1 概述

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

2 HADOOP簡(jiǎn)介

Hadoop是一套開(kāi)源的軟件平臺(tái),利用服務(wù)器集群,根據(jù)用戶的自定義業(yè)務(wù)邏輯,對(duì)海量數(shù)據(jù)進(jìn)行分布式處理。Hadoop的主要目標(biāo)是對(duì)分布式環(huán)境下的“大數(shù)據(jù)”以一種可靠、高效、可伸縮的方式處理。

Hadoop的MapReduce和HDFS的核心設(shè)計(jì),使得整個(gè)框架能夠自動(dòng)處理節(jié)點(diǎn)故障。MapReduce提供了對(duì)數(shù)據(jù)的計(jì)算,HDFS提供了海量數(shù)據(jù)的存儲(chǔ)。Hadoop能夠輕松處理PB級(jí)的海量數(shù)據(jù)。

HDFS(Hadoop Distributed File System)是為Hadoop項(xiàng)目開(kāi)發(fā)的文件系統(tǒng),它采用(master/slave)架構(gòu)。HDFS由一個(gè)NameNode和眾多DataNode組成。HDFS以文件格式為用戶存儲(chǔ)數(shù)據(jù)提供相應(yīng)的文件名稱空間。通常情況下,HDFS將這些文件分成幾個(gè)文件塊,這些文件塊被存儲(chǔ)在一組數(shù)據(jù)服務(wù)中。然后由NameNode提供基本功能,如打開(kāi)、關(guān)閉和重命名文件和目錄,同時(shí)負(fù)責(zé)將文件塊映射到DataNode節(jié)點(diǎn)上。由DataNode負(fù)責(zé)響應(yīng)客戶端具體文件的讀寫(xiě)操作,同時(shí)處理NameNode節(jié)點(diǎn)發(fā)來(lái)的建立、刪除和備份數(shù)據(jù)塊的請(qǐng)求。Hadoop平臺(tái)架構(gòu)如圖1所示。

Hadoop平臺(tái)的部署形式可分為三類:獨(dú)立模式,偽分布模式和完全分布模式(標(biāo)準(zhǔn)集群模式)。根據(jù)研究項(xiàng)目的要求,建立企業(yè)大數(shù)據(jù)Hadoop平臺(tái)必須使用完全分布式模式。

Hadoop的部署方式目前以手動(dòng)部署居多。手動(dòng)部署缺點(diǎn)較多,主要表現(xiàn)在部署耗時(shí)多、容易出現(xiàn)錯(cuò)誤、對(duì)操作人員的技術(shù)水平要求高、部署過(guò)程既不可重復(fù)也不可靠、需要維護(hù)額外的文檔。

本文提出一種自動(dòng)化部署Hadoop的解決方案。通過(guò)編寫(xiě)shell腳本,可以快速實(shí)現(xiàn)自動(dòng)化部署Hadoop大數(shù)據(jù)平臺(tái),大大降低了Hadoop集群部署的復(fù)雜度、縮減了部署的時(shí)間成本。在一定程度上彌補(bǔ)了手動(dòng)部署的缺點(diǎn)。

3 自動(dòng)化部署程序的設(shè)計(jì)與實(shí)現(xiàn)

3.1 shell工具介紹

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

本文利用shell編寫(xiě)自動(dòng)化部署腳本。

3.2 自動(dòng)化部署shell腳本的實(shí)現(xiàn)

自動(dòng)化部署shell腳本的實(shí)現(xiàn)主要依據(jù)hadoop平臺(tái)的部署步驟,將每一個(gè)步驟編寫(xiě)為shell腳本,最后形成一個(gè)shell腳本文件。下文以一個(gè)master節(jié)點(diǎn),兩個(gè)slave節(jié)點(diǎn),共三個(gè)節(jié)點(diǎn)組成的hadoop集群為例進(jìn)行展示。

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

[#修改hosts文件,配置主機(jī)名與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

#需要配置的主機(jī)名。

SERVERS="master slave1 slave2"

#需要配置的主機(jī)登錄密碼。

PASSWORD=123456

#將本機(jī)生成的公鑰復(fù)制到其他節(jié)點(diǎn)上。

ssh_copy_id_to_all(){

for SERVER in $SERVERS

do

auto_ssh_copy_id $SERVER $PASSWORD

done

} ]

2) 配置每臺(tái)服務(wù)器的hosts文件。腳本如下:

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

scp /etc/hosts slave1:/etc

scp /etc/hosts slave2:/etc ]

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

[#為集群中節(jié)點(diǎn)的hdfs的NameNode、DataNode及臨時(shí)文件在用戶目錄下創(chuàng)建目錄。

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

#解壓軟件包并將解壓后的包移動(dòng)到相應(yīng)的目錄下。

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) 配置環(huán)境變量。

java環(huán)境變量配置腳本如下:

[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

#導(dǎo)入配置

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環(huán)境變量配置腳本如下:

[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的環(huán)境變量生效。

[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文件。腳本如下:

[#將整個(gè)hadoop-2.7.6文件夾及其子文件夾復(fù)制到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) 啟動(dòng)hadoop服務(wù)。腳本如下:

[#格式化namenode

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

#啟動(dòng)hadoop進(jìn)程

/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節(jié)點(diǎn)上啟動(dòng)hadoop進(jìn)程

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的企業(yè)大數(shù)據(jù)平臺(tái)自動(dòng)化部署測(cè)試

4.1 測(cè)試網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)設(shè)計(jì)

測(cè)試環(huán)境搭建的是hadoop三節(jié)點(diǎn)集群,包含一臺(tái)master節(jié)點(diǎn),兩臺(tái)slave節(jié)點(diǎn)。

實(shí)驗(yàn)室環(huán)境中Hadoop集群的拓?fù)浣Y(jié)構(gòu)如圖2所示。

ip地址和主機(jī)名規(guī)劃如表1所示。

4.2 測(cè)試環(huán)境準(zhǔn)備

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

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

4.3 基于HADOOP的企業(yè)大數(shù)據(jù)平臺(tái)的自動(dòng)化部署

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

將以上腳本寫(xiě)入一個(gè)名為hadoop.sh的腳本文件,并在master節(jié)點(diǎn)上使用下列命令執(zhí)行該腳本文件。

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

2) 運(yùn)行jps查看服務(wù)啟動(dòng)情況。

腳本文件運(yùn)行結(jié)束后,即可用jps查看hadoop服務(wù)啟動(dòng)情況。

[root@master ~]# jps

3) 查看UI管理界面

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

可以看出三節(jié)點(diǎn)集群的hadoop大數(shù)據(jù)平臺(tái)自動(dòng)化部署成功。

5 總結(jié)

Hadoop作為大數(shù)據(jù)分析平臺(tái)被企業(yè)廣泛應(yīng)用,但其部署過(guò)程復(fù)雜、耗時(shí)長(zhǎng)、技術(shù)要求高。本文以企業(yè)大數(shù)據(jù)平臺(tái)的部署為研究對(duì)象,提出使用自動(dòng)化部署來(lái)改善手動(dòng)部署的缺點(diǎn),編寫(xiě)了自動(dòng)化部署文件,并在三節(jié)點(diǎn)的hadoop集群上進(jìn)行了自動(dòng)化部署測(cè)試。測(cè)試結(jié)果顯示,自動(dòng)化部署將部署時(shí)間從5~6小時(shí)縮減至5~10分鐘,顯著地降低了部署的時(shí)間成本,而且對(duì)部署人員的技術(shù)要求也不高。

參考文獻(xiàn):

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

[2] 于金良,朱志祥,李聰穎.Hadoop平臺(tái)的自動(dòng)化部署與監(jiān)控研究[J].計(jì)算機(jī)與數(shù)字工程,2016(12):2457-2461.

[3] 劉萍.基于Hadoop與Spark的大數(shù)據(jù)處理平臺(tái)的構(gòu)建研究[J].通化師范學(xué)院學(xué)報(bào),2018(30):83-88.

[4] 孟永偉,黃建強(qiáng),曹騰飛,王曉英.Hadoop集群部署實(shí)驗(yàn)的設(shè)計(jì)與實(shí)現(xiàn)[J].實(shí)驗(yàn)技術(shù)與管理,2015(1):145-149.

【通聯(lián)編輯:王力】

猜你喜歡
大數(shù)據(jù)平臺(tái)
全國(guó)耕地質(zhì)量大數(shù)據(jù)平臺(tái)設(shè)計(jì)
高校思想政治教育大數(shù)據(jù)平臺(tái)運(yùn)行機(jī)制探析