Hadoop 3.x|第二天|配置完全分布式运行模式(重点)
目錄
- scp安全拷貝
 - 在102上 將102的JDK拷貝到103
 - 在103上 將102的hadoop拷貝到103
 - 在103上 將102的所有拷貝到104
 
- rsync 遠程同步
 - 在102中,同步102中的hadoop到103
 
- 編寫集群分發腳本xsync
 - 腳本內容
 - 腳本權限
 - 測試
 
- SSH無密登陸
 - 生成公鑰和私鑰
 - 拷貝公鑰(拷貝的目標可以對它無密登陸)
 
- 集群配置
 - 規劃
 - 常用的配置文件
 - 修改core-site.xml配置文件
 - 修改hdfs-site配置文件
 - 修改yarn-site.xml配置文件
 - 修改yarn-site.xml配置文件
 - 在102上集群分發已經配好的各類配置
 
- 群起集群
 - 配置workers
 - 啟動集群
 - 啟動集群
 - 在配置了 ResourceManager 的節點(hadoop103)啟動 YARN
 
- 查看相關網址
 
scp安全拷貝
scp 可以實現服務器與服務器之間的數據拷貝。
在102上 將102的JDK拷貝到103
scp -r /opt/module/jdk1.8.0_212 yjr@hadoop103:/opt/module在103上 將102的hadoop拷貝到103
scp -r yjr@hadoop102:/opt/module/hadoop-3.1.3 /opt/module/在103上 將102的所有拷貝到104
scp -r yjr@hadoop102:/opt/module/* yjr@hadoop104:/opt/modulersync 遠程同步
rsync 主要用于備份和鏡像。具有速度快、避免復制相同內容和支持符號鏈接的優點。
 rsync 和 scp 區別:用 rsync 做文件的復制要比 scp 的速度快,rsync 只對差異文件做更新。scp 是把所有文件都復制過去。
在102中,同步102中的hadoop到103
rsync -av hadoop-3.1.3/ atguigu@hadoop103:/opt/module/hadoop-3.1.3/編寫集群分發腳本xsync
作用:把文件循環復制到所有節點的相同目錄下
 先打印環境變量,發現可以放在/home/username/bin里面,可以全局使用。
 
腳本內容
#!/bin/bash #1. 判斷參數個數 if [ $# -lt 1 ] thenecho Not Enough Arguement!exit; fi #2. 遍歷集群所有機器 for host in hadoop102 hadoop103 hadoop104 doecho ==================== $host ====================#3. 遍歷所有目錄,挨個發送for file in $@do#4. 判斷文件是否存在if [ -e $file ]then#5. 獲取父目錄pdir=$(cd -P $(dirname $file); pwd)#6. 獲取當前文件的名稱fname=$(basename $file)ssh $host "mkdir -p $pdir"rsync -av $pdir/$fname $host:$pdirelseecho $file does not exists!fidone done腳本權限
chmod +x xsync測試
 然后把my_env.sh分發到103,104即可
SSH無密登陸
生成公鑰和私鑰
ssh-keygen -t rsa拷貝公鑰(拷貝的目標可以對它無密登陸)
[yjr@hadoop102 .ssh]$ ssh-copy-id hadoop102 [yjr@hadoop102 .ssh]$ ssh-copy-id hadoop103 [yjr@hadoop102 .ssh]$ ssh-copy-id hadoop104集群配置
規劃
注意兩點:
最后規劃如下:
常用的配置文件
3.x
 core-site.xml用于配置hadoop集群的特性,它作用于全部進程及客戶端
 hdfs-site.xml配置hdfs集群的工作屬性
 mapred-site.xsml配置mapreduce集群的工作屬性
 yarn-site.xml
 workers
2.x
 slaves
修改core-site.xml配置文件
文件包含了NameNode主機地址,監聽端口等信息,對于偽分布式模型來說,其主機地址為localhost,NameNode默認使用的端口為8020
 首先到它的目錄
修改為
<configuration> <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration><!-- 指定 NameNode 的地址 --><property><name>fs.defaultFS</name><value>hdfs://hadoop102:8020</value></property><!-- 指定 hadoop 數據的存儲目錄 --><property><name>hadoop.tmp.dir</name><value>/opt/module/hadoop-3.1.3/data</value></property><!-- 配置 HDFS 網頁登錄使用的靜態用戶為 atguigu --><property><name>hadoop.http.staticuser.user</name><value>yjr</value></property> </configuration>修改hdfs-site配置文件
用于配置HDFS的相關屬性,例如數據塊的副本參數,NN和DN用于存儲數據的目錄。
 同樣去目錄,將其修改為
修改yarn-site.xml配置文件
用于配置YARN進程及YARN相關屬性。首先要指明ResourceManager守護進程的主機和監聽的端口,對于偽分布式模型來講。
 其主機為localhost,默認端口為8032,其次需要指定ResourceManager使用的scheduler,一及NodeManager的輔助服務。
修改yarn-site.xml配置文件
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration><!-- 指定 MapReduce 程序運行在 Yarn 上 --><property><name>mapreduce.framework.name</name><value>yarn</value></property> </configuration>在102上集群分發已經配好的各類配置
xsync /opt/module/hadoop-3.1.3/etc/hadoop/群起集群
配置workers
說明里面有幾個節點就配置幾個主機名稱。配置完分發
 
啟動集群
如果集群是第一次啟動,需要在 hadoop102 節點格式化 NameNode(注意:格式化 NameNode,會產生新的集群 id,導致 NameNode 和 DataNode 的集群 id 不一致,集群找不到已往數據。如果集群在運行過程中報錯,需要重新格式化 NameNode 的話,一定要先停止namenode 和 datanode 進程,并且要刪除所有機器的 data 和 logs 目錄,然后再進行格式化。)
hdfs namenode -format
 初始化成功后,可以發現多了一個data文件夾和log文件夾
 
啟動集群
sbin/start-dfs.sh
 102:
 103:
 
 104:
 
在配置了 ResourceManager 的節點(hadoop103)啟動 YARN
 
查看相關網址
Web 端查看 HDFS 的 NameNode
 (a)瀏覽器中輸入:http://hadoop102:9870
 (b)查看 HDFS 上存儲的數據信息
 Web 端查看 YARN 的 ResourceManager
 (a)瀏覽器中輸入:http://hadoop103:8088
 (b)查看 YARN 上運行的 Job 信息
總結
以上是生活随笔為你收集整理的Hadoop 3.x|第二天|配置完全分布式运行模式(重点)的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: ArcGIS制作样点图
 - 下一篇: requests和xml的结合应用