Hadoop,zookeeper,HBase,Spark集群環(huán)境搭建【面試+工作】
文詳細(xì)講解如何搭建hadoop、zookeeper、hbase和spark的集群環(huán)境,這里我是在本地虛擬機(jī)上搭建的集群,但是和實(shí)際環(huán)境的配置差不多。我會(huì)從零開(kāi)始搭建并且盡量寫(xiě)得詳細(xì),所以還會(huì)講到很多配置linux環(huán)境的東西,希望大家不要煩,務(wù)必按照步驟一步步做下去。 Linux系統(tǒng)的一些基礎(chǔ)配置 安裝jdk 配置SSH免登陸 hadoop的安裝和配置 zookeeper集群的安裝配置 hbase的安裝和配置 spark的安裝和配置 這個(gè)很easy,軟件和操作步驟請(qǐng)自行搜索,我安裝的ubuntu系統(tǒng),三個(gè)主機(jī)的名稱(chēng)分別是master、slave1、slave2,用戶名統(tǒng)一都是trigl,后面設(shè)置ssh免登錄需要用戶名是相同的否則就會(huì)出錯(cuò)。后面的很多配置這三臺(tái)主機(jī)都是相同的,直接復(fù)制配置文件即可,這里教大家一下不同主機(jī)之間傳輸文件(文件夾)的命令: 如將master的jdk的tar包傳給slave1,命令如下: xshell用于連接linux系統(tǒng)并輸入命令,xftp用于向linux系統(tǒng)傳輸文件,安裝比較簡(jiǎn)單,請(qǐng)自行搜索。 這是由于新裝的系統(tǒng)沒(méi)有ssh服務(wù),使用下面命令下載安裝:hadoop、zookeeper、hbase、spark集群環(huán)境搭建
本文主要講了以下內(nèi)容:1 使用Vmware安裝Linux系統(tǒng)
2 安裝xshell和xftp
我安裝了ubuntu系統(tǒng)后首次用xshell連接是連不上的,如圖:
安裝完成以后用xshell就可以連接上了
使用ubuntu自帶的vi來(lái)編輯文件的時(shí)候,方向鍵會(huì)變成ABCD,解決方法如下:
編輯 /etc/vim/vimrc.tiny ,將“set compatible”改為“set nocompatible”,在這句話的下面加上“set backspace=2”,如下:
1、修改hosts文件
編輯hosts文件:
添加下面內(nèi)容:
這樣就配置好了域名,在后面配置需要ip時(shí)我們可以直接用域名來(lái)方便地替換ip。
2、修改主機(jī)名
分別修改三臺(tái)主機(jī) /etc/hostname 的內(nèi)容為master、slave1、slave2
注意主機(jī)名和hosts文件中設(shè)置的名稱(chēng)應(yīng)當(dāng)保持一致,否則會(huì)產(chǎn)生意外的錯(cuò)誤
1、關(guān)閉命令
2、查看防火墻狀態(tài)
為了保證集群內(nèi)的時(shí)間是一致的,我們可以將其中的一臺(tái)主機(jī)作為時(shí)間服務(wù)器,其他主機(jī)設(shè)置定時(shí)任務(wù)每天與時(shí)間服務(wù)器同步一次時(shí)間
1、安裝ntp
2、修改配置文件/etc/ntp.conf
3、手動(dòng)同步
4、啟動(dòng)服務(wù)
5、開(kāi)機(jī)啟動(dòng)
1、安裝ntp
2、修改配置文件/etc/ntp.conf
3、安裝使用定時(shí)器crontab
微信公眾號(hào)中搜索此文章
4、編輯定時(shí)器任務(wù)
添加如下內(nèi)容:
Linux默認(rèn)有一個(gè)最大線程數(shù),線程數(shù)不能超過(guò)這個(gè)值,可以使用以下命令查看:
默認(rèn)是1024,hadoop集群跑任務(wù)的時(shí)候會(huì)需要同時(shí)創(chuàng)建很多線程,有時(shí)候會(huì)超過(guò)1024,所以最好將該參數(shù)改的大一點(diǎn)
1、修改文件/etc/security/limits.d/90-nproc.conf
2、修改文件/etc/security/limits.conf,添加內(nèi)容:
1、新建應(yīng)用的安裝目錄
2、更改該安裝目錄所屬用戶和組
例如將目錄歸屬為trigl用戶和trigl用戶組:
對(duì)slave1和slave2做相同操作,更改用戶和組以后對(duì)該目錄就有了所有權(quán)限,后續(xù)輸入命令不再需要加sudo了
hadoop等的搭建都依賴于jdk,所以需要先安裝jdk
1、到官網(wǎng)下載jdk:http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk7-downloads-1880260.html,我下載的是 jdk-7u75-linux-x64.tar.gz
2、下載好的tar包放在 /data/install/java 目錄并解壓:
3、配置環(huán)境變量
首先進(jìn)入編輯Linux配置環(huán)境變量的文件:
在里面添加如下內(nèi)容:
4、使環(huán)境變量立刻生效:
關(guān)于為什么需要配置SSH免登陸請(qǐng)看SSH免密詳解文章
1、生成SSH的公鑰,命令如下,三臺(tái)主機(jī)都要執(zhí)行一次:
讓輸入內(nèi)容直接回車(chē)即可,執(zhí)行以后會(huì)在 /home/trigl/.ssh/(家目錄/.ssh) 下生成id_rsa和id_rsa.pub文件
2、將主機(jī)slave1和slave2在上一步驟生成的id_rsa.pub文件傳到主機(jī)master的 /home/trigl/.ssh/ 下面,為了防止覆蓋,重命名為id_rsa.pub.slave1和id_rsa.pub.slave2
3、在主機(jī)master的 /home/trigl/.ssh/ 目錄下分別將id_rsa.pub、id_rsa.pub.slave1和id_rsa.pub.slave2追加到authorized_keys文件中
這樣就生成了一個(gè)可以同時(shí)驗(yàn)證master、slave1和slave2的公鑰文件
4、將上一步生成的authorized_keys文件分別傳到slave1和slave2的/home/trigl/.ssh/下面
5、驗(yàn)證
驗(yàn)證master連接slave1:
如果沒(méi)有讓輸入密碼且成功切換到slave1的終端,說(shuō)明配置成功,驗(yàn)證連接slave2類(lèi)似
2016.11.25更新:注意如果是在Centos系統(tǒng)下還需要更改文件權(quán)限
1、下載hadoop
首先到Apache官網(wǎng)(http://www.apache.org/dyn/closer.cgi/hadoop/common/)復(fù)制下載地址,然后進(jìn)入 /data/install/apache 目錄下面執(zhí)行以下命令直接進(jìn)行下載:
下載完成后進(jìn)行解壓:
2、配置hadoop
進(jìn)入hadoop的配置目錄:
需要修改的配置文件為:core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml、slaves、hadoop-env.sh、yarn-env.sh
core-site.xml
hdfs-site.xml
yarn-site.xml
mapred-site.xml
通過(guò)cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml創(chuàng)建etc/hadoop/mapred-site.xml,內(nèi)容改為如下:
slaves
hadoop-env.sh和yarn-env.sh
配置文件修改完以后,將master下hadoop文件夾復(fù)制到slave1和slave2中
3、運(yùn)行hadoop
啟動(dòng)hadoop的命令都在master上執(zhí)行
(1)初始化hadoop(清空hdfs數(shù)據(jù)):
(2)啟停hdfs:
驗(yàn)證是否啟動(dòng)成功,在master輸入 jps,應(yīng)當(dāng)存在namenode和secondary namenode
在slave1和slave2輸入jps,應(yīng)當(dāng)存在datanode
進(jìn)一步驗(yàn)證,訪問(wèn):http://192.168.79.131:50070/dfshealth.html(192.168.79.131是master的ip),如圖:
(3)啟停yarn
在master輸入 jps,應(yīng)當(dāng)存在resourcemanager
在slave1和slave2輸入jps,應(yīng)當(dāng)存在nodemanager
訪問(wèn):http://192.168.79.131:8088/cluster
(4)啟停JobHistory(查看MapReduce任務(wù))
在master輸入 jps,應(yīng)當(dāng)存在JobHistory
1、下載
到http://apache.fayea.com/zookeeper/stable/下載安裝包并解壓:
2、配置
(1)建立數(shù)據(jù)目錄
(2)進(jìn)入conf目錄創(chuàng)建并修改zoo.cfg文件
修改以后的內(nèi)容為:
這里還需要在數(shù)據(jù)目錄/data/install/apache/zookeeper-3.4.9/data下面新建名為myid的文件,各個(gè)主機(jī)對(duì)應(yīng)的內(nèi)容是不同的,master的內(nèi)容是0,slave1的內(nèi)容是1,slave2的內(nèi)容是2,分別對(duì)應(yīng)server.x中的x
(3)設(shè)置環(huán)境變量:/etc/profile添加如下內(nèi)容
別忘了source一下讓環(huán)境變量生效
3、啟停zookeeper
在各個(gè)節(jié)點(diǎn)執(zhí)行以下命令:
輸入jps檢測(cè)一下:
查看各個(gè)主機(jī)的狀態(tài):
這里如果報(bào)錯(cuò):
bin/zkServer.sh: 81: /data/install/apache/zookeeper-3.4.9/bin/zkEnv.sh: Syntax error: "(" unexpected (expecting "fi")
搜索文章查看詳情:
1、下載
首先到http://apache.fayea.com/hbase/stable/下載穩(wěn)定版安裝包并解壓:
2、配置
主要修改conf目錄下的三個(gè)文件:hbase-env.sh、hbase-site.xml、regionservers
hbase-env.sh
hbase-site.xml
regionservers
2016.11.25更新:還需要同步集群時(shí)間,否則有的從節(jié)點(diǎn)無(wú)法啟動(dòng),在每個(gè)節(jié)點(diǎn)上運(yùn)行ntp即可
3、啟停hbase
master輸入jps:
slave1和slave2輸入jps:
訪問(wèn):http://192.168.79.131:16010
4、hbase的一些基本命令
首先進(jìn)入hbase shell
(1)創(chuàng)建表
(2)添加記錄
(3)查看記錄
(4)查看表中的記錄總數(shù)
(5)刪除記錄
(6)刪除一張表
(7)查看所有記錄
1、下載
首先在http://spark.apache.org/downloads.html下載指定hadoop版本的安裝包,然后解壓縮
2、配置
創(chuàng)建并修改conf目錄下的配置文件 spark-env.sh,slaves
spark-env.sh
修改內(nèi)容為:
slaves
修改內(nèi)容為:
3、啟停spark
在master上輸入jps:
在slave1和slave2上輸入jps:
訪問(wèn):http://192.168.79.131:8080/
以上,就完成了整個(gè)集群環(huán)境的搭建
聯(lián)系客服