Hadoop集群搭建及Hive的安裝與使用

1、集群安裝與配置

以centos為例烈掠,首先創(chuàng)建4臺虛擬機羞秤,分別命名為hp001缸托、hp002、hp003瘾蛋、hp004俐镐。

安裝成功后,然后分別修改主機名(hp002哺哼、hp003佩抹、hp004同hp001)。

vim /etc/sysconfig/network? ? ? ? ? ? ? ? ? ? ? # 編輯network文件修改

hostname hadoop1

cat /etc/sysconfig/network? ?

cat /etc/sysconfig/network?

NETWORKING=yes

HOSTNAME=hp001

再修改/etc/hosts文件(hp002取董、hp003棍苹、hp004同hp001),本機IP對應(yīng)主機名茵汰。

2廊勃、shell腳本編寫

配置ssh

注意在root賬號下創(chuàng)建,否則沒有權(quán)限经窖。

1)安裝ssh

yum apt-get install ssh

2)生成密鑰對

ssh-keygen –t? rsa –P ‘’ –f ~/.ssh/

cd? ~/.ssh

3)導(dǎo)入公鑰數(shù)據(jù)到授權(quán)庫中

cat? ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

scp? /root/.ssh/*? hp002@:/root/.ssh/

scp? /root/.ssh/*? hp003@:/root/.ssh/

scp? /root/.ssh/*? hp004@:/root/.ssh/

4)登錄其他機器:

ssh? hp002

Ifconfig

2坡垫、scp

3、rsync 遠程同步工具 主要備份和鏡像支持鏈接画侣,設(shè)備冰悠。

? ? rsync –rvl /soft/* hadoop@hp002:/soft

4、自定義腳本xsync配乱,在集群上分發(fā)文件溉卓,循環(huán)復(fù)制文件到所以節(jié)點的相同目錄下,

在hp001主機上/usr/loca/bin下創(chuàng)建xsync文件

然后 vi xsync編寫如下代碼保存

#!/bin/bash

pcount=$#

if(( pcount<1 )) ; then

echo no args;

exit;

fi

#獲取文件名稱

p1=$1;

fname=`basename $p1`;

dname=`cd -P $(dirname $p1) ; pwd`

curse=`whoami`;

for(( host=2 ; host<5; host=host+1 )) ; do

? echo ===================== copy to hp00$host ============

? rsync -rvl? $dname/$fname $curse@hp00$host:$dname;

done

? echo ========================== end =====================

4、編寫/usr/local/bin/xcall腳本搬泥,在所有主機上執(zhí)行相同的命令桑寨。

例如:xcall rm –rf /soft/jdk

在hp001主機上/usr/loca/bin下創(chuàng)建xcall文件

然后 vi xcall編寫如下代碼保存

#!/bin/bash

pcount=$#

if(( pcount<1 )) ; then

echo no args;

exit;

fi

#

echo =========== localhost =========

$@

for(( host=2 ; host<5; host=host+1 )) ; do

? echo ===================== exe hp00$host ============

? ssh hp00$host $@

done

? echo ========================== end =====================

3、各主機jdk安裝

下載jdk上傳到hp001上

jdk_1.8.0_131.tar.gz

tar -zxvf jdk_1.8.0_131.tar.gz到/usr/local/jdk目錄下

然后用xsync命令分別在hp002忿檩、hp003尉尾、hp004創(chuàng)建/usr/local/jdk目錄,用xcall

命令分別復(fù)制到hp002燥透、hp003沙咏、hp004。

配置jdk環(huán)境變量班套,etc/profile文件中

export JAVA_HOME=/usr/local/jdk

export PATH=.:$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JRE_HOME=$JAVA_HOME/jre

用xcall命令分別復(fù)制到hp002肢藐、hp003、hp004的etc/profile文件中吱韭。

驗證安裝是否成功

4吆豹、Hadoop集群搭建

1、本機集群機器:四臺對應(yīng)hadoop1、hadoop2痘煤、hadoop3鸳吸、hadoop4

hadoop1 ? ? ? node1作為名稱節(jié)點

hadoop2 ? node2作為輔助名稱節(jié)點

hadoop3 ? node3作為數(shù)據(jù)節(jié)點

hadoop4 ? node4作為數(shù)據(jù)節(jié)點

安裝hadoop

創(chuàng)建目錄/home/hadoop/bigdata/,下載hadoop-2.7.2.tar.gz速勇,上傳解壓tar -zxvf hadoop-2.7.2.tar.gz。用xcall命令分別復(fù)制到hp002坎拐、hp003烦磁、hp004。

3哼勇、配置環(huán)境變量etc/profile文件中

export HADOOP_HOME=/home/hadoop/bigdata/hadoop-2.7.2

export PATH=.:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH

用xcall命令分別復(fù)制到hp002都伪、hp003、hp004的etc/profile文件中积担。

驗證安裝成功

hadoop version

hadoop集群配置

完全分布式配置方式:配置文件/home/hadoop/bigdata/hadoop-2.7.2/etc/hadoop/下的四個xml文件陨晶。

core-site.xml

<configuration>

? ? ? ? <property>

? ? ? ? <name>fs.defaultFS</name>

? ? ? ? <value>hdfs://hp001</value>

? ? </property>

? ? <property>

? ? ? ? <name>hadoop.tmp.dir</name>

? ? ? ? ? <value>/home/hadoop/bigdata</value>

? ? </property>

</configuration>

hdfs-site.xml

<configuration>

? ? ? ? <property>

? ? ? ? ? ? ? ? <name>dfs.replication</name>

? ? ? ? ? ? ? ? <value>3</value>

? ? ? ? </property>

? ? ? ? <property>

? ? <name>dfs.namenode.secondary.http-address</name>

? <value>hp002:50090</value>

? ? </property>

</configuration>

mapred-site.xml

<configuration>

? ? ? ? <property>

? ? ? ? ? ? ? ? <name>mapreduce.framework.name</name>

? ? ? ? ? ? ? ? <value>yarn</value>

? ? ? ? </property>

</configuration>

yarn-site.xml

<configuration>

? ? ? ? <property>

? ? ? ? <name>yarn.resourcemanager.hostname</name>

? ? ? ? <value>hp001</value>

? ? </property>

? ? <property>

? ? ? ? <name>yarn.nodemanager.aux-services</name>

? ? ? ? <value>mapreduce_shuffle</value>

? ? </property>

</configuration>

/home/hadoop/bigdata/hadoop-2.7.2/etc/hadoop/slaves文件修改為

hp003

hp004

在集群上分發(fā)以上5個文件

cd /home/hadoop/bigdata/hadoop-2.7.2/etc/hadoop

xsync core-site.xml

xsync hdfs-site.xml

xsync mapred-site.xml

xsync yarn-site.xml

xsync slaves

6、首次啟動hadoop

1)格式化文件系統(tǒng)

$>hadoop namenode -format

2)啟動所有進程

$>start-all.sh

3)查詢進程

$>xcall jps

4)停止所有進程

$>stop-all.sh

5)查看文件系統(tǒng)

$hadoop fs -ls

6)創(chuàng)建文件系統(tǒng)

$>hadoop fs –mkdir –p /user/Ubuntu/data

$>hadoop fs –ls –R /

7帝璧、Hadoop包含三個模塊

1)Hadoop common:

支持其他模塊的工具模塊

2)Hadoop Distributed File System (HDFS)

分布式文件系統(tǒng)先誉,提供了對應(yīng)用程序數(shù)據(jù)的高吞吐量訪問。

進程:

NameNode? 名稱節(jié)點 NN

DataNode 數(shù)據(jù)節(jié)點 DN

SecondaryNamenode? 輔助名稱節(jié)點 2ndNN

3)Hadoop YARN:

作業(yè)調(diào)度與集群資源管理的框架的烁。

進程

ResourceManager? ? ? ? ? ? ? 資源管理 — RM

NodeManager? ? ? ? ? ? ? ? ? 節(jié)點管理器—NM

4)Hadoop MapReduce:

基于yarn系統(tǒng)的對大數(shù)據(jù)集進行并行處理技術(shù)褐耳。

8、使用webui訪問hadoop? hdfs

1)? hdfs? ? ? ? http:/hp001:50070

2)? dataNode? ? http://hp003:50075

3)? 2nn http://hp002:50090

五渴庆、hive安裝與使用

1铃芦、下載hive

下載apache hive -2.3.4.bin.tar.gz

2、安裝hive

? cd? /home/hadoop/bigdata/

? tar -zxvf Apache Hive -2.3.4.bin.tar.gz

? ln -s? apache hive -2.3.4.bin? apache hive

3襟雷、配置環(huán)境變量etc/profile文件中

export HIVE_HOME=/home/hadoop/bigdata/apache-hive

export PATH=.:$HIVE_HOME/bin:$PATH

4刃滓、查看是否安裝成功

hive --version

配置hive

修改/home/hadoop/bigdata/apache-hive/conf/hive-env.sh文件指定hadoop目錄

/home/hadoop/bigdata/apache-hive/conf/hive-default.xml.template 默認配置文件不要修改

創(chuàng)建hive-site.xml:/home/hadoop/bigdata/apache-hive/conf/hive-site.xml,替換hive-site.xml中${system:java.io.temp.dir}=/home/hadoop/bigdata/apache-hive耸弄。

7咧虎、配置Hive元數(shù)據(jù)庫

Hive使用rdbms存儲元數(shù)據(jù),內(nèi)置derby數(shù)據(jù)庫计呈。在/home/hadoop/bigdata/apache-hive/bin/目錄下初始化schema庫老客,要啟動hadoop集群:

Schematool --initSchema -dbType derby

hive啟動

進入hive shell

$hive啟動后如下圖。

Hive元數(shù)據(jù)庫mysql使用及常用命令

Hive配置

Hive常見命令類似于mysql震叮,本例子用mysql作為hive元數(shù)據(jù)庫胧砰,首先配置hive-sxit.xml的mysql數(shù)據(jù)庫驅(qū)動信息。

<property>

? ? <name>javax.jdo.option.ConnectionURL</name>

? ? <value>jdbc:mysql://192.168.0.100:3306/hivedb</value>

? ? <description>

? ? ? JDBC connect string for a JDBC metastore.

? ? ? To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL.

? ? ? For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.

? ? </description>

? </property>

<property>

? ? <name>javax.jdo.option.ConnectionDriverName</name>

? ? <value>com.mysql.jdbc.Driver</value>

? ? <description>Driver class name for a JDBC metastore</description>

<property>

? ? <name>javax.jdo.option.ConnectionUserName</name>

? ? <value>root</value>

? ? <description>Username to use against metastore database</description>

? </property>

<property>

? ? <name>javax.jdo.option.ConnectionPassword</name>

? ? <value>123456789</value>

? ? <description>password to use against metastore database</description>

? </property>

? </property>

Mysql數(shù)據(jù)庫配置

1)創(chuàng)建數(shù)據(jù)庫hivedb

2)賦予hive連接mysql用戶的權(quán)限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456789' WITH GRANT OPTION

將mysql的驅(qū)動包放到hive下

放在/home/hadoop/bigdata/apache-hive/lib/下

4)使用schematool初始化元數(shù)據(jù)苇瓣。

schematool --initSchema -dbType mysql

HDFS存儲位置配置

Hive配置文件里要用到HDFS的一些路徑尉间,需要先手動創(chuàng)建。

hadoop fs -mkdir -p /soft/hive/warehouse

hdfs dfs -mkdir -p /soft/hive/tmp

hdfs dfs -mkdir -p /soft/hive/log

hdfs dfs -chmod g+w /soft/hive/warehouse

hdfs dfs -chmod g+w /soft/hive/tmp

hdfs dfs -chmod g+w /soft/hive/log

java連接hive

1)啟動hive服務(wù)

/home/hadoop/bigdata/apache-hive/bin目錄下執(zhí)行命令$hive --service hiveserver2 start。

java代碼連接hive到mysql中查詢數(shù)據(jù)

Hive.server2.enable.doAs =false;

Hive.meatstroe.saslenabled=false;

Hive.server2.authentication=none

6哲嘲、關(guān)于電腦配置

電腦配置低了帶不動疤靶健!12GB內(nèi)存都快用滿了眠副。

電腦配置如下都還可以画切,但是至少比下圖中的要高才行。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末囱怕,一起剝皮案震驚了整個濱河市霍弹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌娃弓,老刑警劉巖典格,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異台丛,居然都是意外死亡耍缴,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門挽霉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來防嗡,“玉大人,你說我怎么就攤上這事侠坎”久” “怎么了?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵硅蹦,是天一觀的道長荣德。 經(jīng)常有香客問我,道長童芹,這世上最難降的妖魔是什么涮瞻? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮假褪,結(jié)果婚禮上署咽,老公的妹妹穿的比我還像新娘。我一直安慰自己生音,他們只是感情好宁否,可當我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著缀遍,像睡著了一般慕匠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上域醇,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天台谊,我揣著相機與錄音蓉媳,去河邊找鬼。 笑死锅铅,一個胖子當著我的面吹牛酪呻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播盐须,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼玩荠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了贼邓?” 一聲冷哼從身側(cè)響起阶冈,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎立帖,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體悠砚,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡晓勇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了灌旧。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绑咱。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖枢泰,靈堂內(nèi)的尸體忽然破棺而出描融,到底是詐尸還是另有隱情,我是刑警寧澤衡蚂,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布窿克,位于F島的核電站,受9級特大地震影響毛甲,放射性物質(zhì)發(fā)生泄漏年叮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一玻募、第九天 我趴在偏房一處隱蔽的房頂上張望只损。 院中可真熱鬧,春花似錦七咧、人聲如沸跃惫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽爆存。三九已至,卻和暖如春蝗砾,著一層夾襖步出監(jiān)牢的瞬間终蒂,已是汗流浹背蜂林。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留拇泣,地道東北人噪叙。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像霉翔,于是被迫代替她去往敵國和親睁蕾。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,092評論 2 355