基于華為云搭建Hadoop集群

環(huán)境說(shuō)明:3臺(tái)華為云服務(wù)器

Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS


注意:以下提供的配置,其中有個(gè)別備注,要根據(jù)情況修改!

1.修改服務(wù)器的hosts文件

vi /etc/hosts

在文件中添加:各個(gè)服務(wù)器IP地址+主機(jī)名
注意:云服務(wù)器中只有一塊內(nèi)網(wǎng)網(wǎng)卡,外網(wǎng)地址不是直接配置在云服務(wù)器中,程序無(wú)法綁定公網(wǎng)IP地址。因此服務(wù)器本身要改為 —— 內(nèi)網(wǎng)IP+主機(jī)名。不然在可能會(huì)在NameNode啟動(dòng)時(shí)報(bào)錯(cuò):Cannot assign requested address

備注:也可選擇修改各個(gè)服務(wù)器的主機(jī)名,方便查看,看情況決定

vi /etc/hostname

2.創(chuàng)建用戶和組

為了安全,還是很有必要的

創(chuàng)建hadoop用戶組

sudo addgroup hadoop

創(chuàng)建hadoop用戶

sudo adduser -ingroup hadoop hadoop

給hadoop用戶添加權(quán)限

vim /etc/sudoers
hadoop ALL=(ALL:ALL) ALL

對(duì)于用戶的權(quán)限,后期調(diào)整補(bǔ)充(還沒(méi)詳細(xì)了解,暫時(shí)給ALL)

備注:創(chuàng)建新的用戶使用hadoop主要是考慮到安全因素,一般配置的時(shí)候都是在root下配置的,使用的時(shí)候創(chuàng)建新用戶使用hadoop。也可以用root啟動(dòng)和使用hadoop,但是root權(quán)限太大,可能因?yàn)槟硞€(gè)誤操作導(dǎo)致災(zāi)難性的后果,所以需要?jiǎng)?chuàng)建新的用戶。

檢驗(yàn)各個(gè)服務(wù)器之間能否連通

ping + 各個(gè)服務(wù)器主機(jī)名

3.為服務(wù)器安裝jdk并配置環(huán)境變量

我的做法是:先下好想要的JDK包,然后scp傳到服務(wù)器(速度會(huì)比較快,安裝hadoop的時(shí)候也是選擇了這么做)

JDK下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

scp 本地JDK存放路徑 服務(wù)器用戶名@IP地址:存放路徑

建議:存放路徑為/usr/java(需要新建java目錄)
若是提示傳入/usr ,可先傳入臨時(shí)目錄,然后在使用命令mv移動(dòng)

登錄到服務(wù)器

安裝JDK

tar -zxvf jdk.....(安裝包名稱)

配置JDK環(huán)境變量

vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_171
export JRE_HOME=/usr/java/jdk1.8.0_171/jre
export CLASSPATH=JAVA_HOME/lib export PATH=:PATH:JAVA_HOME/bin:JRE_HOME/bin

使配置生效

source /etc/profile

查看配置是否成功

java-version.png

4.配置服務(wù)器間的SSH免密碼登錄

各個(gè)服務(wù)器生成密鑰(公: .pub/私),公鑰要傳到其他服務(wù)器

cd ~/.ssh
ls
ssh-keygen -t rsa -P ""

回車(chē)后,會(huì)提示三次輸入信息,我們直接回車(chē)即可

可對(duì)id_dsa.pub,復(fù)制一份并改名,方便識(shí)別
cp id_dsa.pub id_dsa_序號(hào).pub

各個(gè)服務(wù)器都生成密鑰后,把公鑰傳給NameNode。

scp id_dsa.pub 服務(wù)器用戶名@IP:~/.ssh

將所有服務(wù)器生成的公鑰(id_rsa.pub)都追加到NameNode 的authorized_keys中

cat id_rsa_序號(hào).pub >> authorized_keys

把a(bǔ)uthorized_keys傳回其他節(jié)點(diǎn),并寫(xiě)出節(jié)點(diǎn)的authorized_keys中
cp authorized_keys authorized_keys_total
scp authorized_keys_total 服務(wù)器用戶名@IP:~/.ssh
cat authorized_keys_total >> authorized_keys

至此,配置完成。
輸入命令ssh 主機(jī)名 ,根據(jù)提示輸入“yes”
輸入命令exit注銷(xiāo)(Logout)

再次輸入命令ssh 主機(jī)名 即可直接登錄

5.NameNode安裝Hadoop

下載好Hadoop安裝包,傳至服務(wù)器
下載地址:http://hadoop.apache.org/releases.html
scp 本地存放路徑 服務(wù)器用戶名@IP地址:存放路徑
建議:存放路徑為/usr/hadoop(新建hadoop目錄)
若是提示傳入/usr ,可先傳入臨時(shí)目錄,然后在使用命令mv移動(dòng)

安裝

tar -zxvf Hadoop.....(安裝包名稱)

新建目錄(重要)

在/usr/hadoop路徑下:
mkdir dfs
mkdir dfs/name
mkdir dfs/data
mkdir tmp
/usr/hadoop/hadoop-2.7.3(我安裝的版本)路徑下:
mkdir logs
mkdir pids

配置環(huán)境 (master中文件配置建議使用0.0.0.0地址)

文件都在/usr/hadoop/hadoop-2.7.3/etc/hadoop 路徑下

配置文件:hadoop-env.sh

export JAVA_HOME= JAVA路徑

hadoop-env.png

配置文件:yarn-env.sh

export JAVA_HOME= JAVA路徑

yarn-env.png

配置文件:slaves

slaves.png

配置文件:core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs:// nameNode主機(jī)名:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/hadoop/tmp(tmp路徑)</value>

    <description>Abase for other temporary   directories.</description>
</property>

</configuration>

配置文件:hdfs-site.xml

<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/hadoop/dfs/name(dfs/name路徑)</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/hadoop/dfs/data(dfs/data路徑)</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>

配置文件:mapred-site.xml

先創(chuàng)建然后編輯

cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>nameNode主機(jī)名:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>nameNode主機(jī)名:19888</value>
</property>
</configuration>

配置文件:yarn-site.xml

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>nameNode主機(jī)名:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>nameNode主機(jī)名:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>nameNode主機(jī)名:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>nameNode主機(jī)名:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>nameNode主機(jī)名:8088</value>
</property>
</configuration>

至此環(huán)境配置完成!

將/usr/hadoop目錄傳輸?shù)狡渌鹍ataNode的 /usr/hadoop目錄中

scp -r hadoop 服務(wù)器用戶名@IP:/usr/hadoop

在此,我選擇先把/usr/hadoop目錄傳到本地,然后再?gòu)谋镜貍鞯狡渌鹍ataNode,感覺(jué)速度快了很多!如果傳輸時(shí)報(bào)錯(cuò)說(shuō) :權(quán)限拒絕,可以先把文件傳送到非/usr目錄下,然后再把目錄再移動(dòng)到/usr/

若是想直接從nameNode傳到其他節(jié)點(diǎn),要注意設(shè)置激活,不然一段時(shí)間后會(huì)掉線,停止傳輸

ssh.png

參考:http://www.talkwithtrend.com/Question/225451-1370171

配置環(huán)境變量,并啟動(dòng)hadoop,檢查是否安裝成功

配置環(huán)境變量

vim /etc/profile

export JAVA_HOME= java路徑
export JRE_HOME=/usr/java/jre
export CLASSPATH=JAVA_HOME/lib export PATH=:PATH:JAVA_HOME/bin:JRE_HOME/bin

注意:使文件生效
source /etc/profile

啟動(dòng)Hadoop

cd /usr/hadoop/hadoop-2.7.3

bin/hdfs namenode -format :格式化nameNode
sbin/start-all.sh :啟動(dòng)Hadoop集群
stop-all.sh :停止Hadoop集群

備注:格式化nameNode成功的提示如下,要注意是否出現(xiàn)錯(cuò)誤!若出現(xiàn)錯(cuò)誤,不要啟動(dòng)集群,先根據(jù)提示解決文件。然后把新建目錄(重要)那一步中新建的目錄下的文件都刪掉(注意!)后,再重新格式化。

format.png

檢查是否安裝成功

啟動(dòng)后分別在服務(wù)器中輸入jps查看進(jìn)程,若成功則顯示:

nameNode:
nameNode.png
dataNode:

dataNode.png

至此,基于華為云搭建Hadoop集群完成,可以愉快的開(kāi)始玩耍了!

如果對(duì)你有幫助,給我點(diǎn)個(gè)贊哦~(莫問(wèn)前程,但行好事)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、系統(tǒng)參數(shù)配置優(yōu)化 1、系統(tǒng)內(nèi)核參數(shù)優(yōu)化配置 修改文件/etc/sysctl.conf,添加如下配置,然后執(zhí)行s...
    張偉科閱讀 3,929評(píng)論 0 14
  • 看到題目有沒(méi)有一種高大上的感覺(jué)?毛線,當(dāng)前是個(gè)人、是個(gè)公司都在說(shuō)自己搞大數(shù)據(jù),每天沒(méi)有幾個(gè)PB的數(shù)據(jù)入庫(kù),每天沒(méi)有...
    丁小晶的晶小丁閱讀 4,660評(píng)論 0 50
  • 1.找到事半功倍的環(huán)節(jié) 在用戶培養(yǎng)中,根據(jù)產(chǎn)品的決策成本高低,所需要花大功夫的環(huán)節(jié)也會(huì)出現(xiàn)差異 典型的高決策成本的...
    奧利奧君閱讀 320評(píng)論 0 0
  • 在終端用gem命令的時(shí)候,時(shí)常遇到的問(wèn)題: 墻墻墻通過(guò) gem source 查看你的當(dāng)前的gem資源庫(kù)位置,如果...
    傻啦啦了閱讀 2,247評(píng)論 1 0
  • 阿哲很會(huì)察言觀色。 阿哲在學(xué)生時(shí)代不是那種學(xué)習(xí)特好的學(xué)生,但他能和班里每個(gè)人說(shuō)上話。 畢業(yè)后,盡管阿哲不是名牌大學(xué)...
    荒城過(guò)客閱讀 256評(píng)論 0 0

友情鏈接更多精彩內(nèi)容