hadoop第三天

【】【】【】【】【【【【集羣只有在啓動的時候纔讀取配置文件】】】】】】【【【【【【【【【【集羣只有在啓動的時候纔讀取配置文件】】】】】】只有名稱節點由鏡像,名稱節點存放的是塊信息,塊經來後會向塊索取名稱列表html


hosts的映射關係千萬不要弄錯,否則啓動後,datanode也會有問題--------------初始化沒問題,可是進入webui看datanode沒有數據呢。node


以前我配了 127.0.0.1 s100  -------------------------這個要刪除,用下面那個。並且把這個自迴環的配置刪除後win7配置host映射後是能正經常使用瀏覽器s100:8088訪問的web

後面又配了 192.168.2.116 s100shell


】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】編程

-------------------------------------------------ubuntu


commission | decommission瀏覽器

-------------------------安全

1.服役,退役bash

2.slaves:datanode服務器


dfs.hosts   datanode是否能鏈namenode 相關

-----------

決定可以鏈接namenode


dfs.hosts.exclude 排他文件

-----------

決定不能鏈接namenode


1.dfs.hosts     dfs.hosts.exclude

--------------------------------

00//不能連

01//不能連

10//能連

11//能連,但會退役

優先級:include > exclude

s200//能 

s300//能 decommission但會退役.

s400//不能連



------------------------------------------、



【【要操做要操做要操做要操做【【【【【【【【【【【【【【【【【【【【要操做要操做要操做要操做要操做

考查dfs.hosts和dfs.hosts.exclude文件

------------------------------------

1.建立/soft/hadoop/etc/dfs-hosts-include.conf文件

s200

s300

2.建立/soft/hadoop/etc/dfs-hosts-exclude.conf文件

s300

s400

3.編輯配置文件----配置的是路徑

[hdfs-site.xml]

dfs.hosts=/soft/hadoop/etc/dfs-hosts-include.conf

dfs.hosts.exclude=/soft/hadoop/etc/dfs-hosts-exclude.conf


4.分發hdfs-sits.xml文件到全部節點

5.刷新節點

$>hdfs dfsadmin -refreshNodes                ------003的--書中336頁


老師是有中止集羣的,而後重啓的-------【【【【【【【【【【集羣只有在啓動的時候纔讀取配置文件】】】】】】----------實際是上面一刷新節點之後再webui就能夠用了






------結果看圖片    【【另一個配置問題退役.png】】----------------------------】】】要操做要操做要操做要操做】】】】】】】】】】】】】】】】】】】】】】】




第3天的


netstat -plut 查看端口,這個不看ipv6的

netstat -ano|grep 8088  查看8088,直接上門的那個查不到, netstat -ano | more查看全部端口



-----------------------------------------------------

hdfs getconf 返回配置信息



hdfs getconf -namenodes  返回s100

/soft/hadoop/sbin$ hdfs getconf -secondarynamenodes  返回s500 


----------------------------------------------------


--------------------------------

1.{hadoop}\libexec\hadoop-config.sh

HADOOP_CONF_DIR=...//--config參數

2.NAMENODE={hadoop_home}/bin/hdfs getconf -namenodes//提取名稱節點的主機名

3.{hadoop_home}/sbin/hadoop-daemons.sh --config ... --hostnames ... --script "{hadoop_home}/bin/hdfs" start namenode $dataStartOpt

4.{hadoop_home}/sbin/hadoop-daemons.sh --config ... --hostnames ... --script "{hadoop_home}/bin/hdfs" start datanode $dataStartOpt

5.{hadoop_home}/sbin/hadoop-daemons.sh --config ... --hostnames ... --script "{hadoop_home}/bin/hdfs" start secondarynamenode




【】【】【】【】按照{hadoop_home}/sbin/hadoop-daemons.sh的思想,寫腳本能單獨就只啓動namenode

hadoop-daemons.sh --config /soft/hadoop/etc/hadoop_cluster --hostnames s100 start namenode


【】【】【】【】按照{hadoop_home}/sbin/hadoop-daemons.sh的思想,寫腳本能單獨就只啓動datanode

hadoop-daemons.sh --config /soft/hadoop/etc/hadoop_cluster  start datanode


【】【】【】【】按照{hadoop_home}/sbin/hadoop-daemons.sh的思想,寫腳本能單獨就只啓動secondarynamenode

hadoop-daemons.sh --config /soft/hadoop/etc/hadoop_cluster --hostnames s500 start secondarynamenode



【】【】【】

 yarn層面的有/soft/hadoop/sbin$     yarn-daemons.sh start nodemanager

   yarn-daemons.sh start resourcemanager




其實全部進程均可以用這個來作



--------------------------------------------------





hadoop

----------------

1.可靠、可伸縮、分佈式的計算框架,開源軟件。



四大模塊--D:\大數據軟件\hadoop-2.7.2\share\hadoop裏面

----------------

1.common

hadoop-common-xxx.jar

core-site.xml

core-default.xml

2.hdfs

hdfs-site.xml

hdfs-default.xml

3.mapreduce

mapred-site.xml

mapred-default.xml

4.yarn

yarn-site.xml

yarn-default.xml


hadoop徹底分佈式

----------------

1.hdfs

NameNode

DataNode

SecondaryNameNode


啓動腳本:start-all.sh(start-dfs.sh)

2.Yarn

ResourceManager

NodeManager

啓動腳本:start-all.sh(start-yarn.sh)

3.hadoop-deamons.sh  上面兩個腳本最終引用的實際上是這個腳本,管理的話實際上是使用這兩個腳本

hdfs.sh  文件系統操做

yarn.sh  對資源調度框架的使用


 編寫/usr/local/sbin/xcall.sh

 ------------------------------

#!/bin/bash

if [ $# -lt 1 ] ;then

 echo no args

 exit;

fi

echo -----xcall $arg1 from localhost ------

$@

echo

#get first argument

for (( i=200;i<=500;i=i+100 )) ;

do

 echo -----xcall $arg1 from s$i ------;

 ssh s$i $@

 echo

done 


-------$@ (執行全部參數) 那裏,好比文件使用的是 xcall.sh  jps 的話,後面jps實際上是還能夠用參數的,因此用$接收------------- xcall.sh touch /home/ubuntu/dd.txt  這樣記得要寫路徑,由於其餘的機器不必定是在這個地方----------------



----------------以前執行配置好後執行命令用start --config xxx之類的麻煩,仍是和原來同樣作個連接就行了

xcall.sh rm /soft/hadoop/etc/hadoop


xcall.sh ln -s /soft/hadoop/etc/hadoop_cluster/ /soft/hadoop/etc/hadoop


xcall.sh ls -al /soft/hadoop/etc/  看是否創建快捷鍵是否成功





--------------------------------------------------------------------------





配置客戶機的靜態ip----第三天的01的18分鐘左右,是nat模式裏面的----我本身用橋接模式貌似每次開機的時候ip都沒變的

----------------------

要求:ip網段  | 網關 | 子網掩碼


1.查看網關

vmware虛擬機 --> 編輯菜單 --> 虛擬網絡編輯器 --> 打開窗口 --> 選中vmnet8虛擬網卡 --> nat設置 --> 查看網關(192.168.238.2)

2.查看可用的ip網段

vmware虛擬機 --> 編輯菜單 --> 虛擬網絡編輯器 --> 打開窗口 --> 選中vmnet8虛擬網卡 --> DHCP設置 --> 查看網段

3.挑選一個可用的ip,給當前的客戶機來設置

4.配置ubuntu的靜態ip

a.sudo nano /etc/network/interfaces

[/etc/network/interfaces]

# The loopback network interface

auto lo

iface lo inet loopback


#iface eth0 inet static

iface eth0 inet static

address 192.168.238.128

netmask 255.255.255.0

gateway 192.168.238.2

dns-nameservers 192.168.238.2

auto eth0

b.重啓網卡

$>sudo /etc/init.d/networking restart


------------------------------【】【】【】【】 上面配置好後要記得/etc/hosts裏面的ip 主機映射關係哦




---------------------------------------------------------


客戶機關機命令

---------------------

1.sudo poweroff

2.sudo shutdown -h 0

3.sudo halt


配置ubuntu文本啓動模式

----------------------

1.sudo nano /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="text"//改爲text

GRUB_TERMINAL=console//打開該註釋

2.讓改動生效

$>sudo update-grub

3.sudo reboot


4.在文本模式下,啓動圖形界面

$>sudo startx//




啓動全部的數據節點

--------------------

$>hadoop-daemon.sh start namenode//在名稱節點服務器上執行啓動名稱節點

$>hadoop-daemons.sh start datanode//在名稱節點服務器上執行,啓動全部的數據節點--單獨在s200上運行就是這個機器上運行了

$>hadoop-daemon.sh start secondarynamenode//啓動輔助名稱節點



        yarn層面的有/soft/hadoop/sbin$     yarn-daemons.sh start nodemanager




查看全部端口

-------------------

$>netstat -ano | more//



---------【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【


配置win7的hosts文件

--------------------

[C:\Windows\System32\drivers\etc\hosts]

# Copyright (c) 1993-2009 Microsoft Corp.

127.0.0.1       localhost

192.168.238.128 s100

192.168.238.129 s200

192.168.238.130 s300

192.168.238.131 s400

192.168.238.132 s500

192.168.238.133 s600

192.168.238.134 s700


                 【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【【

dfs.namenode.name.dir-------------------------那個pdf的297頁附近

---------------------------

1.名稱配置多個目錄在於更可靠。

2.每一個目錄存放的內容相同。


dfs.datanode.data.dir

---------------------------

1.數據節點配置多個目錄,不是副本。

2.每一個目錄存放的內容不一樣。

3.","號分割.


經常使用端口

---------------------

1.namenode

rpc//8020

webui//50070

2.datanode

rpc//8032

webui//50075

3.2nn

webui//50090

4.historyServer

webui//19888

8.resourcemanager

webui//8088

9.nodemanager

webui//8042


commission | decommission

-------------------------

1.服役,退役

2.slaves:datanode


dfs.hosts   datanode是否能鏈namenode 相關

-----------

決定可以鏈接namenode


dfs.hosts.exclude 排他文件

-----------

決定不能鏈接namenode


1.dfs.hosts     dfs.hosts.exclude

--------------------------------

00//不能連

01//不能連

10//能連

11//能連,但會退役

優先級:include > exclude

s200//能 

s300//能 decommission.

s400//不能連



考查dfs.hosts和dfs.hosts.exclude文件

------------------------------------

1.建立/soft/hadoop/etc/dfs-hosts-include.conf文件

s200

s300

2.建立/soft/hadoop/etc/dfs-hosts-exclude.conf文件

s300

s400

3.編輯配置文件

[hdfs-site.xml]

dfs.hosts=/soft/hadoop/etc/dfs-hosts-include.conf

dfs.hosts.exclude=/soft/hadoop/etc/dfs-hosts-exclude.conf


4.分發hdfs-sits.xml文件到全部節點

5.刷新節點

$>hdfs dfsadmin -refreshNodes                ------003的--書中336頁




VERSION----------------要升級的問題---------------------------------------[中文]Hadoop權威指南第二版.pdf 這本書裏面---------第10章294頁左右

--------------------------

1.clusterID=xxx(namenode === Datanode)    臨時目錄裏面的

2.storageID=xxx(DataNode)//

3.cTime:集羣建立時間//

4.acl//access control list,訪問控制列表


安全模式------------------看圖片安全模式.png 【】【只有名稱節點纔會進入安全模式,不通過名稱節點是不會訪問數據節點的】【】

-------------

1.namenode啓動時,合併p_w_picpath和edit成新的p_w_picpath,併產生新的edit log

2.整個過程出於safe模式下,客戶端只能【【【【讀取】】】。

3.namenode安全模式操做

$>hdfs dfsadmin -safemode get//查看,獲取安全模式狀態,老師在s100運行,默認查出來是Safe mode is OFF

$>hdfs dfsadmin -safemode enter//進入安全模式,返回Safe mode is ON  

而後就只能讀取了,不能寫了 hadoop fs -put index.html /  寫會失敗,讀仍是能讀下載的

$>hdfs dfsadmin -safemode leave//離開安全模式

$>hdfs dfsadmin -safemode wait//等待--【他退出】



4.手動保存名字空間,查幫助 hdfs dfsadmin --help saveNamespace   老師的目錄是~/hadoop/dfs/name/current 看裏面的文件保存狀況

$>hdfs dfsadmin -saveNamespace    用以前先進入安全模式


【】【】【】

【老師給的問題】--先上傳一個文件,而後進入安全模式,而後手動保存名字空間,再看名字的變化


hdfs dfsadmin -report  webui下面看到的內容



5.手動保存鏡像文件到本地

$>hdfs dfsadmin -fetchImage          -----------~/hadoop/dfs/name/current在這個木下執行(不在這個文件下的也同樣)  hdfs dfsadmin -fetchImage ~/ 到本地




6.保存元數據,保存在{hadoop_home}/logs/

$>hdfs dfsadmin -metasave xxx.metadata                     -------------------今天講的都屬於hadoop的管理工做



7.start-balancer.sh  也有中止均衡器

啓動均衡器,讓集羣在數據存儲上更加平均,提升整個集羣的

均衡器,在數據節點之上。保證數據在節點上均衡分配(知道集羣變均衡),避免新能上的瓶頸,如今看不到啥效果




8.查看目錄的統計信息

$>hadoop fs -count /x/x/x///目錄數量,文件數,字節數



9.hdfs fsck / 檢查文件的健康狀態


50075數據節點的端口號





hadoop文件系統操做,目錄默認不能建立快照,要開啓目錄快照功能,否則直接建立創不了

--------------------

0.開啓快照功能,hdfs dfsadmin 

$>hdfs dfsadmin -allowSnapshot /user/ubuntu/data

1.快照,snapshot,針對目錄.  能夠建立多個快照

$>hadoop fs -createSnapshot /user/ubuntu/data snap-1

   對哪一個目錄建立快照  快照名,名字不加會以虛擬機的時間戳命名快照

   建立後能夠進入webui看,好比http://s100:50070/dfshealth.html#tab-snapshot  

   或者命令行查hadoop fs -ls -R /user/ubuntu/data/.snapshot/snap-1 有文件會顯示文件  直接hadoop fs -ls -R /查不了的哦。快照至關於給文件作了一個備份


刪除快照

hadoop fs -deleteSnapshot /user/ubuntu/data snap-1


重命名快照

hadoop fs -renameSnapshot /user/ubuntu/data snap-1 snap-1-2


追加文件,name.txt裏面的文件內容追加到hello.txt裏面這樣追加到原來的目錄   ------不過快照目錄裏面的文件是不會變化的

hadoop fs -appendToFile name.txt /user/ubuntu/data/hello.txt


禁用目錄快照功能,hdfs dfsadmin 

$>hdfs dfsadmin -disallowSnapshot /user/ubuntu/data     //若是以前這個有快照,就不能快照。要先把快照刪除再禁用






回收站---------------看老師的書是英文書308頁走哦有,可是我看個人沒有找到,搜hadoop fs -expunge找到那個頁

-----------------

1.默認是0秒,意味着禁用回收站。

2.設置文件在回收站的駐留時間.-----也是在小紅本里面搜那四個默認配置的  13分05秒的時候有講配置,[core-site.xml]裏面還有配置臨時目錄的  hadoop.tmp.dir=/home/ubuntu/hadoop

[core-site.xml]

fs.trash.interval=1//分鐘數計算


老師配置好後是分發給其餘機器後重啓的,不是刷新節點,能夠試一下本身刷新節點



配好後 hadoop fs -lsr /user/ubuntu/.Trash   直接插配好後直接插沒有的

刪除   hadoop fs -rm /user/ubuntu/data/Hadoop權威指南第二版.pdf

刪除後 hadoop fs -lsr /user/ubuntu/.Trash/  查,是那個hadoop的目錄結構查出來了,過程當中查貌似會變成時間的名字,而後一分鐘後再去查的話就沒有了



要恢復回收站文件

【】【】 hadoop fs -mv /user/ubuntu/.Trash/xx/xx/x daa/


hadoop fs -expunge 這個貌似也是馬上刪除,不過貌似沒用


3.經過shell命令刪除的文件,會進入trash

4.每一個用戶都有本身的回收站(目錄)

$>/user/ubuntu/.Trash

[【【5.編程方式刪除不進入回收站,當即刪除,若是想編程方式進入回收站,能夠調用

 moveToTrash()方法.返回false,說明禁用回收站或者已經在站中。】】】


hadoop fs -truncate -w 5 /user/ubuntu/data/hello.txt   好比hello.txt內容是helloworld 截斷出來打印的就是 hello了




配額:quota

---------------------

1.目錄配額

$>hdfs dfsadmin -setQuota N /dir//N > 0 ,目錄配額,1:表示空目錄,不能放置任何元素.  若是設置2,/dir下再放一個txt文件的話也就沒法繼續放文件或目錄了。這樣這個目錄下面就只能放有限的文件,防止目錄東西太多文件太大

2.空間配額hdfs dfsadmin -help setSpaceQuota   無論空間配額仍是目錄配額都是給文件夾配置的

$>hdfs dfsadmin -setSpaceQuota    ---實際  hdfs dfsadmin -setSpaceQuota 20 /user/ubuntu/dataday   20字節 50t就是50tb,5m就是5Mb


若是放了20字節,放了超過他的文件就會報錯,The DiskSpace quota of /user/ubuntu is exceeded: quota = 20 B = 20 B but diskspace consumed = 402653184 B = 384 MB


3.清除配額

hdfs dfsadmin 幫助裏面有個 clrQuota和clrSpaceQuota

hdfs dfsadmin -clrQuota /user/ubuntu/data

hdfs dfsadmin -clrSpaceQuota /user/ubuntu/ 







-----------還有hadoop的一些其餘命令,看保存的圖片------------------------------

hadoop fs -rm -R /user/ubuntu/data/had*

hadoop fs -cat /user/ubuntu/data/hello.txt

hadoop fs -count /user/ubuntu/data/ 


目錄   文件  字節


kan 幫助

hadoop fs -help count



更多指令能夠看doc    file:///D:/大數據軟件/hadoop-2.7.2/share/doc/hadoop/hadoop-project-dist/hadoop-common/FileSystemShell.html


-------------test.sh-------------

#老師在s500測試的 1.先測試腳本是否能正常上傳  2.而後去s100的命令行裏面啓動安全模式 3.而後s500裏面腳本里面裏面等待的命令再測,還有上傳的文件路徑看本身的狀況定哦

#!/bin/bash

echo starting put file

hdfs dfsadmin -safemode wait

hadoop fs -put ~/downloads/hadoop-2.7.2.tar.gz /user/ubuntu/data/

echo put over

相關文章
相關標籤/搜索