本文原始碼:GitHub·點這里 || GitEE·點這里
一、基礎環境配置
1、三臺服務
準備三臺Centos7服務,基礎環境從偽分布式環境克隆過來,
133 hop01,134 hop02,136 hop03
2、設定主機名
## 設定名稱
hostnamectl set-hostname hop01
## 重啟
reboot -f
3、主機名通信
vim /etc/hosts
# 添加服務節點
192.168.37.133 hop01
192.168.37.134 hop02
192.168.37.136 hop03
4、SSH免密登錄
配置三臺服務SSH免密登錄,
[root@hop01 ~]# ssh-keygen -t rsa
...一路回車結束
[root@hop01 ~]# cd .ssh
...權限分配到指定集群服務
[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服務,在hop02和hop03服務都要執行該操作,
5、同步時間
ntp組件安裝
# 安裝
yum install ntpdate ntp -y
# 查看
rpm -qa|grep ntp
基礎管理命令
# 查看狀態
service ntpd status
# 啟動
service ntpd start
# 開機啟動
chkconfig ntpd on
修改時間服務hop01
# 修改ntp配置
vim /etc/ntp.conf
# 添加內容
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時間機制,從hop01同步時間,并注銷網路獲取時間的機制,
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
撰寫定時任務
[root@hop02 ~]# crontab -e
*/10 * * * * /usr/sbin/ntpdate hop01
修改hop02和hop03服務時間
# 指定時間
date -s "2018-05-20 13:14:55"
# 查看時間
date
這樣時間會基于hop01服務的時間不斷的更正或同步,
6、環境清理
從偽分布式環境虛擬機克隆三臺Centos7服務,洗掉原來hadoop環境配置的data和log檔案夾,
[root@hop02 hadoop2.7]# rm -rf data/ logs/
二、集群環境搭建
1、集群配置概覽
| 服務串列 | HDFS檔案 | YARN調度 | 單服務 |
|---|---|---|---|
| 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>
這里三臺服務都需要分別指定當前主機名稱,
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>
這里修改副本數為3,并指定SecondaryNameNode服務,三臺服務同樣修改指定SecondaryNameNode在hop03服務上,
vim yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hop02</value>
</property>
指定ResourceManager服務在hop02上,
vim mapred-site.xml
<!-- 服務器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hop01:10020</value>
</property>
<!-- 服務器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hop01:19888</value>
</property>
指定相關web端查看地址在服務hop01上,
3、集群服務配置
路徑:/opt/hadoop2.7/etc/hadoop
檔案:vim slaves
hop01
hop02
hop03
這里配置三臺服務的集群串列,同步修改其他服務相同配置,
4、格式化NameNode
注意這里NameNode配置在hop01服務上,
[root@hop01 hadoop2.7]# bin/hdfs namenode -format
5、啟動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上啟動,secondary-namenodes在hop03上啟動,可以通過JPS命令到各個服務查看驗證,
6、啟動YARN
注意Yarn配置在hop02服務上,所以在hop02服務執行啟動命令,
[root@hop02 hadoop2.7]# sbin/start-yarn.sh
starting yarn daemons
starting resourcemanager
hop03: starting nodemanager
hop01: starting nodemanager
hop02: starting nodemanager,
注意這里的啟動列印日志,至此集群規劃的服務都啟動完畢,
[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
查看各個服務下的集群行程,與規劃配置一致,
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
推薦閱讀:編程體系整理
| 序號 | 專案名稱 | GitHub地址 | GitEE地址 | 推薦指數 |
|---|---|---|---|---|
| 01 | Java描述設計模式,演算法,資料結構 | GitHub·點這里 | GitEE·點這里 | ☆☆☆☆☆ |
| 02 | Java基礎、并發、面向物件、Web開發 | GitHub·點這里 | GitEE·點這里 | ☆☆☆☆ |
| 03 | SpringCloud微服務基礎組件案例詳解 | GitHub·點這里 | GitEE·點這里 | ☆☆☆ |
| 04 | SpringCloud微服務架構實戰綜合案例 | GitHub·點這里 | GitEE·點這里 | ☆☆☆☆☆ |
| 05 | SpringBoot框架基礎應用入門到進階 | GitHub·點這里 | GitEE·點這里 | ☆☆☆☆ |
| 06 | SpringBoot框架整合開發常用中間件 | GitHub·點這里 | GitEE·點這里 | ☆☆☆☆☆ |
| 07 | 資料管理、分布式、架構設計基礎案例 | GitHub·點這里 | GitEE·點這里 | ☆☆☆☆☆ |
| 08 | 大資料系列、存盤、組件、計算等框架 | GitHub·點這里 | GitEE·點這里 | ☆☆☆☆☆ |
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/135013.html
標籤:其他
上一篇:Mysql 常用命令
下一篇:Spring基礎概念
