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

基于Hadoop的企業(yè)級大數(shù)據(jù)平臺的自動化部署

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

陳新華

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

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

中圖分類號:TP393 文獻標(biāo)識碼:A

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

1 概述

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

2 HADOOP簡介

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

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

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

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

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

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

3 自動化部署程序的設(shè)計與實現(xiàn)

3.1 shell工具介紹

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

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

3.2 自動化部署shell腳本的實現(xiàn)

自動化部署shell腳本的實現(xiàn)主要依據(jù)hadoop平臺的部署步驟,將每一個步驟編寫為shell腳本,最后形成一個shell腳本文件。下文以一個master節(jié)點,兩個slave節(jié)點,共三個節(jié)點組成的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

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

ssh_copy_id_to_all(){

for SERVER in $SERVERS

do

auto_ssh_copy_id $SERVER $PASSWORD

done

} ]

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

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

scp /etc/hosts slave1:/etc

scp /etc/hosts slave2:/etc ]

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

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

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

#解壓軟件包并將解壓后的包移動到相應(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文件。腳本如下:

[#將整個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) 啟動hadoop服務(wù)。腳本如下:

[#格式化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節(jié)點上啟動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的企業(yè)大數(shù)據(jù)平臺自動化部署測試

4.1 測試網(wǎng)絡(luò)拓撲結(jié)構(gòu)設(shè)計

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

實驗室環(huán)境中Hadoop集群的拓撲結(jié)構(gòu)如圖2所示。

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

4.2 測試環(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ù)平臺的自動化部署

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

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

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

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

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

[root@master ~]# jps

3) 查看UI管理界面

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

可以看出三節(jié)點集群的hadoop大數(shù)據(jù)平臺自動化部署成功。

5 總結(jié)

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

參考文獻:

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

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

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

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

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

主站蜘蛛池模板: 九九热视频在线免费观看| 精品视频一区在线观看| 国产高清自拍视频| 中国一级特黄视频| 一级一毛片a级毛片| 亚洲综合狠狠| 尤物精品国产福利网站| 精品久久人人爽人人玩人人妻| 亚洲天堂啪啪| 国产浮力第一页永久地址 | 亚洲精品无码AV电影在线播放| 国产青榴视频| 97国内精品久久久久不卡| 亚洲a免费| 人人看人人鲁狠狠高清| 2020极品精品国产| 国产视频久久久久| 中文字幕1区2区| 无码日韩精品91超碰| 婷婷综合色| 精品伊人久久大香线蕉网站| 成人国产免费| 美女内射视频WWW网站午夜| 无码免费视频| 亚洲无码91视频| 午夜性刺激在线观看免费| 亚洲色图狠狠干| 99热国产这里只有精品9九| 毛片一区二区在线看| 国产精品xxx| 国产丝袜精品| 欧美日韩第二页| 国产美女91视频| 国产欧美日韩在线一区| 久久女人网| 国产免费羞羞视频| 欧美精品1区| 国产精品视频导航| 亚洲综合日韩精品| 一级毛片高清| 国产日本欧美在线观看| 久久亚洲国产最新网站| 中日韩欧亚无码视频| 一级片一区| 成人国产精品一级毛片天堂| 国产午夜福利在线小视频| 国产精品亚洲а∨天堂免下载| 久一在线视频| 久久久精品无码一区二区三区| 激情六月丁香婷婷| 亚洲视频在线青青| 在线免费亚洲无码视频| 日本尹人综合香蕉在线观看| 毛片大全免费观看| 精品福利国产| 伊人成人在线视频| 日本一本正道综合久久dvd| 亚洲国产中文综合专区在| 最新精品久久精品| 精品国产免费人成在线观看| 人妻精品全国免费视频| 操国产美女| 欧美日本在线播放| 精品视频91| 国产人成乱码视频免费观看| 国产成人高清精品免费软件| 狠狠色成人综合首页| 色亚洲激情综合精品无码视频| 91破解版在线亚洲| 精品视频免费在线| 一级毛片免费不卡在线视频| 国产91成人| 在线观看精品国产入口| 欧美高清国产| 伊人狠狠丁香婷婷综合色 | 亚洲精品少妇熟女| 久久人搡人人玩人妻精品| 国产成人精品高清不卡在线| 国产精品欧美日本韩免费一区二区三区不卡| 日本成人在线不卡视频| 日韩精品一区二区三区swag| 在线国产毛片|