Hadoop框架:集群模式下分布式环境搭建
本文源碼:GitHub·點(diǎn)這里 || GitEE·點(diǎn)這里
一、基礎(chǔ)環(huán)境配置
1、三臺服務(wù)
準(zhǔn)備三臺Centos7服務(wù),基礎(chǔ)環(huán)境從偽分布式環(huán)境克隆過來。
133 hop01,134 hop02,136 hop032、設(shè)置主機(jī)名
## 設(shè)置名稱 hostnamectl set-hostname hop01 ## 重啟 reboot -f3、主機(jī)名通信
vim /etc/hosts # 添加服務(wù)節(jié)點(diǎn) 192.168.37.133 hop01 192.168.37.134 hop02 192.168.37.136 hop034、SSH免密登錄
配置三臺服務(wù)SSH免密登錄。
[root@hop01 ~]# ssh-keygen -t rsa ...一路回車結(jié)束 [root@hop01 ~]# cd .ssh ...權(quán)限分配到指定集群服務(wù) [root@hop01 .ssh]# ssh-copy-id hop01 [root@hop01 .ssh]# ssh-copy-id hop02 [root@hop01 .ssh]# ssh-copy-id hop03 ...在hop01免密登錄到hop02 [root@hop01 ~]# ssh hop02這里針對hop01服務(wù),在hop02和hop03服務(wù)都要執(zhí)行該操作。
5、同步時(shí)間
ntp組件安裝
# 安裝 yum install ntpdate ntp -y # 查看 rpm -qa|grep ntp基礎(chǔ)管理命令
# 查看狀態(tài) service ntpd status # 啟動(dòng) service ntpd start # 開機(jī)啟動(dòng) chkconfig ntpd on修改時(shí)間服務(wù)hop01
# 修改ntp配置 vim /etc/ntp.conf # 添加內(nèi)容 restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap server 127.0.0.1 fudge 127.0.0.1 stratum 10修改hop02\hop03時(shí)間機(jī)制,從hop01同步時(shí)間,并注銷網(wǎng)絡(luò)獲取時(shí)間的機(jī)制。
server 192.168.37.133 # server 0.centos.pool.ntp.org iburst # server 1.centos.pool.ntp.org iburst # server 2.centos.pool.ntp.org iburst # server 3.centos.pool.ntp.org iburst編寫定時(shí)任務(wù)
[root@hop02 ~]# crontab -e */10 * * * * /usr/sbin/ntpdate hop01修改hop02和hop03服務(wù)時(shí)間
# 指定時(shí)間 date -s "2018-05-20 13:14:55" # 查看時(shí)間 date這樣時(shí)間會基于hop01服務(wù)的時(shí)間不斷的更正或同步。
6、環(huán)境清理
從偽分布式環(huán)境虛擬機(jī)克隆三臺Centos7服務(wù),刪除原來hadoop環(huán)境配置的data和log文件夾。
[root@hop02 hadoop2.7]# rm -rf data/ logs/二、集群環(huán)境搭建
1、集群配置概覽
| hop01 | DataNode | NodeManager | NameNode |
| hop02 | DataNode | NodeManager | ResourceManager |
| hop03 | DataNode | NodeManager | SecondaryNameNode |
2、修改配置
vim core-site.xml
<property><name>fs.defaultFS</name><value>hdfs://hop01:9000</value> </property>這里三臺服務(wù)都需要分別指定當(dāng)前主機(jī)名稱。
vim hdfs-site.xml
<property><name>dfs.replication</name><value>3</value> </property><property><name>dfs.namenode.secondary.http-address</name><value>hop03:50090</value> </property>這里修改副本數(shù)為3,并指定SecondaryNameNode服務(wù),三臺服務(wù)同樣修改指定SecondaryNameNode在hop03服務(wù)上。
vim yarn-site.xml
<property><name>yarn.resourcemanager.hostname</name><value>hop02</value> </property>指定ResourceManager服務(wù)在hop02上。
vim mapred-site.xml
<!-- 服務(wù)器端地址 --> <property> <name>mapreduce.jobhistory.address</name> <value>hop01:10020</value> </property><!-- 服務(wù)器web端地址 --> <property><name>mapreduce.jobhistory.webapp.address</name><value>hop01:19888</value> </property>指定相關(guān)web端查看地址在服務(wù)hop01上。
3、集群服務(wù)配置
路徑:/opt/hadoop2.7/etc/hadoop
文件:vim slaves
hop01 hop02 hop03這里配置三臺服務(wù)的集群列表。同步修改其他服務(wù)相同配置。
4、格式化NameNode
注意這里NameNode配置在hop01服務(wù)上。
[root@hop01 hadoop2.7]# bin/hdfs namenode -format5、啟動(dòng)HDFS
[root@hop01 hadoop2.7]# sbin/start-dfs.sh Starting namenodes on [hop01] hop01: starting namenode hop03: starting datanode hop02: starting datanode hop01: starting datanode Starting secondary namenodes [hop03] hop03: starting secondarynamenode注意看這里的打印信息,和配置完全吻合。namenodes在hop01上啟動(dòng),secondary-namenodes在hop03上啟動(dòng),可以通過JPS命令到各個(gè)服務(wù)查看驗(yàn)證。
6、啟動(dòng)YARN
注意Yarn配置在hop02服務(wù)上,所以在hop02服務(wù)執(zhí)行啟動(dòng)命令。
[root@hop02 hadoop2.7]# sbin/start-yarn.sh starting yarn daemons starting resourcemanager hop03: starting nodemanager hop01: starting nodemanager hop02: starting nodemanager,注意這里的啟動(dòng)打印日志,至此集群規(guī)劃的服務(wù)都啟動(dòng)完畢。
[root@hop01 hadoop2.7]# jps 4306 NodeManager 4043 DataNode 3949 NameNode [root@hop02 hadoop2.7]# jps 3733 ResourceManager 3829 NodeManager 3613 DataNode [root@hop03 hadoop2.7]# jps 3748 DataNode 3928 NodeManager 3803 SecondaryNameNode查看各個(gè)服務(wù)下的集群進(jìn)程,與規(guī)劃配置一致。
7、Web端界面
NameNode:http://hop01:50070 SecondaryNameNode:http://hop03:50090三、源代碼地址
GitHub·地址 https://github.com/cicadasmile/big-data-parent GitEE·地址 https://gitee.com/cicadasmile/big-data-parent推薦閱讀:編程體系整理
| 01 | Java描述設(shè)計(jì)模式,算法,數(shù)據(jù)結(jié)構(gòu) | GitHub·點(diǎn)這里 | GitEE·點(diǎn)這里 | ☆☆☆☆☆ |
| 02 | Java基礎(chǔ)、并發(fā)、面向?qū)ο蟆eb開發(fā) | GitHub·點(diǎn)這里 | GitEE·點(diǎn)這里 | ☆☆☆☆ |
| 03 | SpringCloud微服務(wù)基礎(chǔ)組件案例詳解 | GitHub·點(diǎn)這里 | GitEE·點(diǎn)這里 | ☆☆☆ |
| 04 | SpringCloud微服務(wù)架構(gòu)實(shí)戰(zhàn)綜合案例 | GitHub·點(diǎn)這里 | GitEE·點(diǎn)這里 | ☆☆☆☆☆ |
| 05 | SpringBoot框架基礎(chǔ)應(yīng)用入門到進(jìn)階 | GitHub·點(diǎn)這里 | GitEE·點(diǎn)這里 | ☆☆☆☆ |
| 06 | SpringBoot框架整合開發(fā)常用中間件 | GitHub·點(diǎn)這里 | GitEE·點(diǎn)這里 | ☆☆☆☆☆ |
| 07 | 數(shù)據(jù)管理、分布式、架構(gòu)設(shè)計(jì)基礎(chǔ)案例 | GitHub·點(diǎn)這里 | GitEE·點(diǎn)這里 | ☆☆☆☆☆ |
| 08 | 大數(shù)據(jù)系列、存儲、組件、計(jì)算等框架 | GitHub·點(diǎn)這里 | GitEE·點(diǎn)這里 | ☆☆☆☆☆ |
總結(jié)
以上是生活随笔為你收集整理的Hadoop框架:集群模式下分布式环境搭建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 继续VISTA下网卡驱动问题
- 下一篇: oracle 删除重复记录