摘要:分布式集群的搭建關(guān)鍵詞分布式集群環(huán)境搭建網(wǎng)絡(luò)配置環(huán)境大數(shù)據(jù)大數(shù)據(jù)本文作者本文鏈接安裝說明用到的軟件軟件版本下載地址節(jié)點(diǎn)安排名稱主節(jié)點(diǎn)子節(jié)點(diǎn)子節(jié)點(diǎn)創(chuàng)建用戶所有的節(jié)點(diǎn)均創(chuàng)建一個(gè)名為的用戶,并添加管理員權(quán)限。后續(xù)的軟件均可使用此方式配置。
title: Hadoop分布式集群的搭建
summary: 關(guān)鍵詞: Hadoop ubuntu 分布式集群 環(huán)境搭建 ssh 網(wǎng)絡(luò)配置 java環(huán)境
date: 2019-5-19 11:09
author: foochane
urlname: 2019051901
categories: 大數(shù)據(jù)
tags:
hadoop
大數(shù)據(jù)
本文作者:foochane?1 安裝說明 1.1 用到的軟件
本文鏈接:https://foochane.cn/article/2019051901.html
軟件 | 版本 | 下載地址 |
---|---|---|
linux | Ubuntu Server 18.04.2 LTS | https://www.ubuntu.com/downlo... |
hadoop | hadoop-2.7.1 | http://archive.apache.org/dis... |
java | jdk-8u211-linux-x64 | https://www.oracle.com/techne... |
名稱 | ip | hostname |
---|---|---|
主節(jié)點(diǎn) | 192.168.233.200 | Master |
子節(jié)點(diǎn)1 | 192.168.233.201 | Slave01 |
子節(jié)點(diǎn)2 | 192.168.233.202 | Slave02 |
所有的節(jié)點(diǎn)均創(chuàng)建一個(gè)名為hadoop的用戶,并添加管理員權(quán)限。
注意:這里這是單純?yōu)榱朔奖愎芾恚瑒?chuàng)建的用戶名,也可以使用其他用戶名,或者使用系統(tǒng)之前的用戶,主要有管理員權(quán)限即可
$ sudo useradd -m hadoop -s /bin/bash #創(chuàng)建用戶 $ sudo passwd hadoop #修改密碼 $ sudo adduser hadoop sudo #添加管理員權(quán)限3 配置網(wǎng)絡(luò)環(huán)境 3.1 修改主機(jī)名
修改 /etc/hostname文件,每個(gè)節(jié)點(diǎn)都要修改。
主節(jié)點(diǎn)修改為:Master
從節(jié)點(diǎn)分別修改為:Slave01,Slave02,...
注意:如果是ubuntu18.04桌面版直接修改/etc/hostname文件即可,ubuntu18.04服務(wù)器版還需要修改/etc/cloud/cloud.cfg文件,修改如下:
# This will cause the set+update hostname module to not operate (if true) preserve_hostname: true #這里是將false改成true3.2 添加IP與主機(jī)名的映射關(guān)系
在/etc/hosts文件里添加如下內(nèi)容(每個(gè)節(jié)點(diǎn)都要修改,根據(jù)實(shí)際情況修改ip)
192.168.233.200 Master 192.168.233.201 Slave01 192.168.233.202 Slave02
檢查各個(gè)節(jié)點(diǎn)是否能相互ping通。
3.3 設(shè)置SSH無密碼登錄節(jié)點(diǎn)讓Master能夠通過SSH無密碼登錄各個(gè)Slave節(jié)點(diǎn)
如果修改過主機(jī)名,需要重新生成的新的公鑰。
在Master上執(zhí)行如下命令:
$ cd ~/.ssh # 如果沒有該目錄,先執(zhí)行一次ssh localhost $ rm ./id_rsa* # 刪除之前生成的公匙(如果已經(jīng)存在) $ ssh-keygen -t rsa # 執(zhí)行該命令后,遇到提示信息,一直按回車就可以 $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
接著將Master中的id_rsa.pub文件復(fù)制到各個(gè)Slave節(jié)點(diǎn)中
$ scp ~/.ssh/id_rsa.pub hadoop@Slave01:/home/hadoop/ $ scp ~/.ssh/id_rsa.pub hadoop@Slave02:/home/hadoop/
在各個(gè)Slave節(jié)點(diǎn)中執(zhí)行如下命令:
$ mkdir ~/.ssh # 如果不存在該文件夾需先創(chuàng)建 $ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys $ rm ~/id_rsa.pub # 用完以后就可以刪掉
在Master中驗(yàn)證是否可以無密碼登錄,各個(gè)Slave節(jié)點(diǎn)。
如:
$ ssh Slave01 #如果成功登錄,則配置完成 $ ssh Slave02 #如果成功登錄,則配置完成4 安裝java環(huán)境
每個(gè)節(jié)點(diǎn)都要安裝,步驟相同
為了方便操作每個(gè)節(jié)點(diǎn),默認(rèn)在/usr/local/下新建一個(gè)名為bigdata的文件夾,存放所有的大數(shù)據(jù)相關(guān)的軟件。
$ sudo mkdir /usr/local/bigdata $ sudo chown -R hadoop:hadoop /usr/local/bigdata/4.1 解壓
$ sudo mkdir /usr/local/bigdata/java $ sudo tar -zxvf jdk-8u211-linux-x64.tar.gz -C /usr/local/bigdata/java/4.2 添加環(huán)境變量
在~/.bashrc文件中添加如下內(nèi)容,并執(zhí)行$ source ~/.bashrc命令使其生效
#java export JAVA_HOME=/usr/local/bigdata/java/jdk1.8.0_211 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH5 解壓hadoop
下載hadoop-2.7.1.tar.gz文件,并解壓到/usr/local/bigdata/文件夾下
$ sudo tar -zxvf hadoop-2.7.1.tar.gz -C /usr/local/bigdata6 修改hadoop配置文件
需要修改6個(gè)文件,文件位于/usr/local/bigdata/hadoop-2.7.1/etc/hadoop/下
6.1 slave 文件將文件中原來的 localhost 刪除,添加內(nèi)容:
Slave01 Slave026.2 core-site.xml 文件
內(nèi)容修改為:
6.3 hdfs-site.xml文件fs.defaultFS hdfs://Master:9000 hadoop.tmp.dir file:/usr/local/bigdata/hadoop-2.7.1/tmp Abase for other temporary directories.
Hadoop的分布式文件系統(tǒng)HDFS一般采用冗余存儲(chǔ),一份文件通常保存3份副本,所以dfs.replication的值還是設(shè)置為3。
具體內(nèi)容如下:
6.4 mapred-site.xml 文件dfs.namenode.secondary.http-address Master:50090 dfs.replication 3 dfs.namenode.name.dir file:/usr/local/bigdata/hadoop-2.7.1/tmp/dfs/name dfs.datanode.data.dir file:/usr/local/bigdata/hadoop-2.7.1/tmp/dfs/data
修改內(nèi)容如下:
6.5 yarn-site.xml文件mapreduce.framework.name yarn mapreduce.jobhistory.address Master:10020 mapreduce.jobhistory.webapp.address Master:19888
內(nèi)容如下:
6.6 hadoop-env.sh 文件yarn.resourcemanager.hostname Master yarn.nodemanager.aux-services mapreduce_shuffle
修改如下內(nèi)容:
export JAVA_HOME=/usr/local/bigdata/java/jdk1.8.0_211 # 可以不用 export HADOOP_HOME=/usr/local/hadoop-2.7.17 設(shè)置hadoop環(huán)境變量
每個(gè)節(jié)點(diǎn)都要設(shè)置
在~/.bashrc文件中添加如下內(nèi)容,并$ source ~/.bashrc使其生效
export PATH=$PATH:/usr/local/bigdata/hadoop-2.7.1/bin:/usr/local/bigdata/hadoop-2.7.1/sbin8 slave節(jié)點(diǎn)配置
slave節(jié)點(diǎn)只需將master節(jié)點(diǎn)上/usr/local/下的bigdata文件夾和~/.bashrc文件,放到slave節(jié)點(diǎn)即可
注意切換到對(duì)應(yīng)機(jī)器執(zhí)行$ source ~/.bashrc使環(huán)境變量生效。
后續(xù)的軟件均可使用此方式配置。
在master節(jié)點(diǎn):
$ sudo rm -r /usr/local/bigdata/hadoop-2.7.1/tmp # 刪除 Hadoop 臨時(shí)文件,如果之前有啟動(dòng)過 $ sudo rm -r /usr/local/bigdata/hadoop-2.7.1/logs/* # 刪除日志文件,如果之前有啟動(dòng)過 $ tar -zcvf ~/bigdata.tar.gz /usr/local/bigdata/ # 先壓縮再復(fù)制 $ scp ~/bigdata.tar.gz Slave01:/home/hadoop $ scp ~/bigdata.tar.gz Slave02:/home/hadoop $ scp ~/bashrc Slave01:/home/hadoop $ scp ~/bashrc Slave02:/home/hadoop
在各個(gè)slave節(jié)點(diǎn)上
$ sudo mkdir /usr/local/bigdata $ sudo chown -R hadoop:hadoop /usr/local/bigdata $ tar -zxvf ~/bigdata.tar.gz -C /usr/local/bigdata $ sudo source ~/.bashrc9 啟動(dòng)Hadoop集群
在Master上執(zhí)行
首次運(yùn)行需要,執(zhí)行
$ hdfs namenode -format
格式化名稱節(jié)點(diǎn),然后就可以啟動(dòng)hadoop了。
啟動(dòng)hadoop:
$ start-dfs.sh $ start-yarn.sh $ mr-jobhistory-daemon.sh start historyserver
使用jps查看啟動(dòng)的各個(gè)節(jié)點(diǎn),缺少任何進(jìn)程,都表示出錯(cuò)。
$ jps 3585 JobHistoryServer 2938 NameNode 3148 SecondaryNameNode 3308 ResourceManager 3629 Jps
瀏覽器查看:http://192.168.233.200:50070/
查看相關(guān)信息:$ hdfs dfsadmin -report
關(guān)閉hadoop:
$ stop-yarn.sh $ stop-dfs.sh $ mr-jobhistory-daemon.sh stop historyserver
如果有問題,重復(fù)如下命令:
$ stop-dfs.sh # 關(guān)閉 $ rm -r /usr/local/bigdata/hadoop-2.7.1/tmp # 刪除 tmp 文件,注意這會(huì)刪除 HDFS中原有的所有數(shù)據(jù) $ hdfs namenode -format # 重新格式化名稱節(jié)點(diǎn) $ start-dfs.sh # 重啟
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/36035.html
摘要:集群管理系統(tǒng)搭建規(guī)劃說明分布式集群環(huán)境搭建是每個(gè)入門級(jí)新手都非常頭疼的事情,因?yàn)槟憧赡芑ㄙM(fèi)了很久的時(shí)間在搭建運(yùn)行環(huán)境,最終卻不知道什么原因無法創(chuàng)建成功。也是如此,它負(fù)責(zé)管理集群中的資源和任務(wù)調(diào)度,你也可以把它視為大數(shù)據(jù)操作系統(tǒng)。 hadoop集群管理系統(tǒng)搭建規(guī)劃說明Hadoop分布式集群環(huán)境搭建是每個(gè)入門級(jí)新手都非常頭疼的事情,因?yàn)槟憧赡芑ㄙM(fèi)了很久的時(shí)間在搭建運(yùn)行環(huán)境,最終卻不知道什么...
摘要:總之,項(xiàng)目還算很受歡迎吧,這篇博客將介紹項(xiàng)目的升級(jí)版。一項(xiàng)目介紹將打包到鏡像中,就可以快速地在單個(gè)機(jī)器上搭建集群,這樣可以方便新手測(cè)試和學(xué)習(xí)。之前的版本使用為集群提供服務(wù),由于網(wǎng)絡(luò)功能更新,現(xiàn)在并不需要了。運(yùn)行參考第二部分啟動(dòng),并運(yùn)行。 摘要: kiwenlau/hadoop-cluster-docker是去年參加Docker巨好玩比賽開發(fā)的,得了二等獎(jiǎng)并贏了一塊蘋果手表,目前這個(gè)項(xiàng)目...
閱讀 1950·2021-09-07 09:59
閱讀 2519·2019-08-29 16:33
閱讀 3688·2019-08-29 16:18
閱讀 2848·2019-08-29 15:30
閱讀 1677·2019-08-29 13:52
閱讀 2034·2019-08-26 18:36
閱讀 529·2019-08-26 12:19
閱讀 693·2019-08-23 15:23