大興快速網站建設公司百度在線入口
目錄
一、大數(shù)據(jù)及Hadoop入門
1.1 單節(jié)點、分布式、集群
1.1.1 大數(shù)據(jù)的概念
1.1.2 大數(shù)據(jù)的本質
二、HDFS Shell命令
2.1、常用相關命令
2.2、上傳文件
2.2.1、上傳文件介紹
2.2.2上傳文件操作
2.3、下載文件
2.4、刪除文件
2.5、創(chuàng)建目錄
2.6、查看文件系統(tǒng)
2.7、拷貝文件
三、分布式系統(tǒng)原理
3.1、數(shù)據(jù)塊
四、HDFS架構
五、Datanode服役(上線)和退役(下線)
5.1分發(fā)到其他節(jié)點
5.2、格式化并啟動HDFS?
5.3、更新hdfs
六、Centos權限管理
6.1、權限介紹
6.2、修改權限
七、HDFS進程啟動流程
八、Hadoop配置文件解釋
8.1 hadoop內核和環(huán)境配置
8.2、mapreduce配置
8.3、yarn配置
8.4、slaves配置
九、hdfs及yarn啟動驗證:進程啟動命令
一、大數(shù)據(jù)及Hadoop入門
1.1 單節(jié)點、分布式、集群
1.1.1 大數(shù)據(jù)的概念
大數(shù)據(jù)的5v特點
Volume:大量
Velocity:高速
Variety:多樣
Value:價值
Veracity:真實性
1.1.2 大數(shù)據(jù)的本質
大數(shù)據(jù)的本質就是利用計算機集群來處理大批量的數(shù)據(jù),大數(shù)據(jù)的技術關注點在于如何將數(shù)據(jù)分發(fā)給不同的計算機進行存儲和處理。
? 1)單臺計算機存儲這些數(shù)據(jù)都是很困難的,那怎么辦?
答:分發(fā)到不同的計算機存儲。
? 2)只存儲有沒有意義?
答:無意義,存儲是需要投入場地,投入服務器硬件設施,都需要錢維護。
? 3)那存儲后需要什么?怎么樣讓存儲變得有意義?
答:認真分析,真正地把數(shù)據(jù)轉換成有價值的虛擬產品。
二、HDFS Shell命令
2.1、常用相關命令
hdfs dfs-cat //查看
hdfs dfs-copyFromLocal //從本地復制
hdfs dfs-copyToLocal //復制至本地
hdfs dfs-cp //復制
hdfs dfs-get //獲取
hdfs dfs-ls //查看
hdfs dfs-mkdir //創(chuàng)建文件
hdfs dfs-put //傳輸
hdfs dfs-rm //刪除
2.2、上傳文件
2.2.1、上傳文件介紹
(1)全稱形式
hdfs dfs-put? ./file hdfs://hadoop1:9000/
hdfs dfs-copyfromlocal? ./file? hdfs://hadoop1:9000/
(2)省略寫法
hdfs dfs-put? ./file? /
hdfs dfs-copyfromlocal? ?./file? /
問題:為什么能夠省略具體hdfs對應ip地址呢?
答:配置了core-site.xml
2.2.2上傳文件操作
-put方式上傳
[root@hadoop1 ~]# cd /home/java ???
[root@hadoop1 java]# ls
jdk ?jdk_1.8.0_131.tar.gz
[root@hadoop1 java]# hdfs dfs -put ?./jdk_1.8.0_131.tar.gz ?hdfs://hadoop1:9000/
-copyFromLocal方式上傳
[root@hadoop1 ~]# cd /home/java ???
[root@hadoop1 java]# ls
jdk ?jdk_1.8.0_131.tar.gz
[root@hadoop1 java]# hdfs dfs -put ?./jdk_1.8.0_131.tar.gz ?hdfs://hadoop1:9000/
2.3、下載文件
hdfs dfs -get HDFS的根路徑下的文件? 本地的文件系統(tǒng)
hdfs dfs -get hdfs://hadoop1:9000/hadoop-2.6.1.tar.gz? ./
hdfs dfs -copyToLocal /jdk_1.8.0_131.tar.gz ./
前面一個/代表HDFS的根路徑,后面一個/代表Linux的根路徑
2.4、刪除文件
rm -rf dir? 刪除Linux本地文件系統(tǒng)中對應目錄
hdfs dfs -rm /hadoop-2.6.1.tar.gz? 刪除hdfs文件系統(tǒng)中的內容
hdfs dfs -rm -r /dir? 刪除目錄和子目錄
2.5、創(chuàng)建目錄
hdfs dfs -mkdir /dir? 一個目錄,不是遞歸目錄
hdfs dfs -mkdir -p /dir1/dir2? 遞歸目錄
2.6、查看文件系統(tǒng)
hdfs dfs -ls /
2.7、拷貝文件
cp jdk_1.8.0_131.tar.gz ?jdk_1? ?將后者拷貝到前者所在的文件夾中? Linux本地執(zhí)行
hdfs dfs -cp?/jdk_1.8.0_131.tar.gz /jdk1? ?HDFS文件系統(tǒng)中
三、分布式系統(tǒng)原理
3.1、數(shù)據(jù)塊
把數(shù)據(jù)切分成一個個固定大小的塊(物理切分,不是邏輯切分),將這些塊存儲到分布式文件系統(tǒng)上
四、HDFS架構
?HDFS的文件是在物理上分塊存儲的 (hadoop2.x版本它的默認blocksize大小128M)
五、Datanode服役(上線)和退役(下線)
5.1分發(fā)到其他節(jié)點
?scp /home/hadoop/hadoop-2.6.1/etc/hadoop/slaves hadoop2:/home/hadoop/hadoop-2.6.1/etc/hadoop/? ?分發(fā)到其他節(jié)點
5.2、格式化并啟動HDFS?
hdfs namenode -format
start-dfs.sh
格式化,并啟動HDFS
5.3、更新hdfs
hdfs dfsadmin -refreshNodes
六、Centos權限管理
6.1、權限介紹
每一組信息如“rwx”,每一個字符都有它自己的特定含義且先后位置是固定的,其中r是讀權限、w是寫權限、x是可執(zhí)行權限、-沒有對應字符的權限
?Linux里面對這些字符設置對應的數(shù)值,r是4,w是2,x是1,-是0?!皉wx”則是7(=4+2+1)
6.2、修改權限
修改文件夾及子文件夾所有文件
chown 或 chomd? -R? “權限”或“名:組”? 文件夾名稱
七、HDFS進程啟動流程
DataNode:負責數(shù)據(jù)塊的存儲,它是HDFS的小弟
Namenode:負責元數(shù)據(jù)的存儲,接收客戶端的請求,維護整個HDFS集群的目錄樹
Secondary:輔助namenode管理,分擔namenode壓力
八、Hadoop配置文件解釋
8.1 hadoop內核和環(huán)境配置
(1)hadoop-env.sh:配置JDK的路徑
(2)core-site.xml:配置Hadoop集群的元數(shù)據(jù)存儲路徑,配置主節(jié)點在哪一臺機器上
<configuration>????????<property>????????????????<name>fs.defaultFS</name>????????????????<value>hdfs://hadoop1:9000</value>指定namenode將來在哪一臺節(jié)點啟動,通信端口是9000,是fileSystem默認的端口號????????</property><property>????????<name>hadoop.tmp.dir </name>????????<value>/usr/hadoop-2.6.1/hdpdata</value>指定元數(shù)據(jù)存儲的路徑,hdpdata是在執(zhí)行 hdfs namenode -format后才會自動生成</property></configuration>
8.2、mapreduce配置
主要配置mapred-site.xml
MR資源調度用Yarn
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property></configuration>
8.3、yarn配置
配置yarn-site.xml
<configuration><property><name>yarn.resourceManager.hostname</name><value>hadoop1</value>配置Yarn老大【resourceManager】將來在哪一臺節(jié)點啟動,注意是自己的master</property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>yarn的子服務,必須使用mapreduce_shuffle</property></configuration
8.4、slaves配置
[root@hadoop1 hadoop]# cat /home/hadoop/hadoop-2.6.1/etc/hadoop/slaveshadoop1hadoop2hadoop3指定datanode將來在哪臺節(jié)點啟動
注:在一臺節(jié)點上的相關配置修改,要分發(fā)到全部集群上
例:
[root@hadoop1 hadoop]#scp mapred-site.xml hadoop2:/home/hadoop/hadoop-2.6.1/etc/hadoop
九、hdfs及yarn啟動驗證:進程啟動命令
namenode -format
格式化HDFS的作用是初始化集群
(1)HDFS的相關進程:
Namenode(老大)
Datanode(小弟)
SecondaryNameNode(checkpoint節(jié)點)
(2)Yarn相關進程
Resourcemanager(老大)
Nodemanager(小弟)
hdfs和yarn相關進程都啟動后,hdfs集群管理頁面和yarn管理界面才可訪問成功
start-dfs.sh
start-yarn.sh
這兩個命令等效于start-all.sh
kill - 9?
強制殺死該進程
hadoop-daemon.sh start namenode
單獨啟動HDFS相關的進程