hadoop次日

腳本里面單獨的 \ 是把一行換成多行,換行符node


通配0.0.0.0表示任意一個ip均可以訪問、電腦有網卡,本地鏈接其餘的web




2NN配置獨立的主機----------如今是005的18分38秒ubuntu

--------------------bash

<property>ssh

 <name>dfs.namenode.secondary.http-address</name>分佈式

 <value>0.0.0.0:50090</value>                                -----------在這裏,上面的s500:50090 從jar包提取全部的配置項-小紅本里面搜secondary裏面搜的以及DFSUtil裏面看源碼找到的配置,ide

 <description>oop

The secondary namenode http server address and port.測試

 </description>ui

</property>




改輔助名稱的節點  /etc/hadoop_cluster/hdfs-site.xml在這個文件裏面  【增長】 下面的內容 -----爲何說是這個,由於上面搜出來的是hdfs-default裏面的內容

<property>

 <name>dfs.namenode.secondary.http-address</name>

 <value>s500:50090</value>     

</property>


配置好後把這個文件發給全部節點


hdfs --config /soft/hadoop/etc/hadoop_cluster getconf -secondarynamenodes  

取出來是s500



配置好新的集羣,從新格式化一下






修改默認的hadoop臨時目錄-------------想修改的話能夠到這裏修改,搜配置的話,小紅本里面搜local,在搜hadoop.tmp.dir

------------這些內容是追加的,追加後要發送到其餘的主機----我是ubuntu用戶,就放在本身家了,沒有的話建立一下目錄,每一個機器上都建立一下---------

[core-site.xml]

hadoop.tmp.dir=/home/ubuntu/hadoop/



============================================






克隆以前最好把soft/hadoop/logs裏面的日誌刪除


配置徹底分佈式的xxx-site.xml


s100 namenode名稱節點

s200 datanode數據節點

s300 datanode數據節點

s400 datanode數據節點

s500 secondarynamenode 輔助名稱節點在003的時候17分44秒左右提到了slaves很差用,讓看源代碼



slave配

s200 

s300 

s400 


etc/haoop_cluster發送到其餘主機


hdfs --config /soft/hadoop/etc/hadoop_cluster namenode -format格式化的時候也有提到相關的配置

格式化後能夠到/tmp/hadoop-ubuntu/dfs/裏面看


start-dfs.sh --config /soft/hadoop/etc/hadoop_cluster

start-yarn.sh --config /soft/hadoop/etc/hadoop_cluster


也是徹底分佈式相關操做





hadoop端口

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

1.namenode 50070

http://namenode:50070/

2.resourcemanager:8088

http://localhost:8088/

3.historyServer

http://hs:19888/

4.name rpc(remote procedure call,遠程過程調用)---第一個

hdfs://namenode:8020/   主機名稱:端口號


ssh指令結合操做命令

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

$>ssh s300 rm -rf /xx/x/x  強制刪除目錄,遞歸幹掉


ssh s300 rm -rf a b 刪除a目錄,b目錄


經過scp遠程複製

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

$>scp -r /xxx/x ubuntu@s200:/path  目錄遞歸拷貝

scp -r hadoop_cluster ubuntu@s200:/soft/hadoop/etc/



編寫腳本,實現文件或者文件夾的在全部節點遠程複製。


xcopy.sh   -記得修改一下全部人都能執行的權限-------------通常放到/usr/local/sbin下path【/usr/local/sbin:/usr/local/bin】裏面有這個目錄,並且咱們不用陪了

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

1.

2.

3.

4.


scp -r path ubuntu@s200:/path 


刪除

------

xrm.sh a.txt

ssh s200 rm -rf path

----------------------刪除腳本---003開始----咱們常常要刪除的是/soft/hadoop/logs目錄 和 /tmp目錄,沒有格式化就不會產生這個tmp目錄----

#!/bin/bash

if [ $# -lt 1 ] ;then

  echo no args

  exit;

fi


#get first argument

arg1=$1;

cuser=`whoami`

fname=`basename $arg1`


dir=`dirname $arg1`

if [ "$dir" = "." ]; then

  dir=`pwd`

fi


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

do

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

  ssh s$i rm -rf $dir/$fname

  echo

done


---查看是否已經刪除的腳本 xls.sh .  ---  xargs 是把 ls  查看的放在一行去顯示- -   ls |xargs 對比一下就知道了

#!/bin/bash

if [ $# -lt 1 ] ;then

  echo no args

  exit;

fi


#get first argument

arg1=$1;

cuser=`whoami`

fname=`basename $arg1`


dir=`dirname $arg1`

if [ "$dir" = "." ]; then

  dir=`pwd`

fi


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

do

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

  ssh s$i ls $dir/$fname | xargs

done




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



遠程複製文件------作好之後xcp.sh a.txt        xcp.sh /usr/a

[/usr/local/sbin/xcp.sh]

#!/bin/bash

if [ $# -lt 1 ] ;then

  echo no args

  exit;

fi


#get first argument

arg1=$1;

cuser=`whoami`

fname=`basename $arg1`


dir=`dirname $arg1`

if [ "$dir" = "." ]; then

  dir=`pwd`

fi

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

do

  echo -----coping $arg1 to $i ------;

  if [ -d $arg1 ] ;then

    scp -r $arg1 $cuser@s$i:$dir 

  else

    scp $arg1 $cuser@s$i:$dir 

  fi

  echo

done 





------s上面是前面二個小結-----




----再寫個程序清理集羣的腳本clean.sh-------005的30分左右講到----------

#!/bin/bash

stop-all.sh --config /soft/hadoop/etc/hadoop_cluster

xrm.sh /tmp/hadoop-ubuntu

xrm.sh /soft/hadoop/logs

echo clean done!

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




----再寫個初始化集羣的腳本ini.sh-------005的34分左右講到--------------------

#!/bin/bash

hdfs --config /soft/hadoop/etc/hadoop_cluster namenode -format

start-dfs.sh --config /soft/hadoop/etc/hadoop_cluster

start-yarn.sh --config /soft/hadoop/etc/hadoop_cluster

hadoop --config /soft/hadoop/etc/hadoop_cluster fs -mkdir -p /user/ubuntu/data

hadoop --config /soft/hadoop/etc/hadoop_cluster fs -ls -R /



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










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





slaves

----------

master

masters  都不靠譜老師說,看有沒有好使的看源代碼


hadoop2.7.2源代碼處理

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

1.下載並加壓hadoop.2.7.2-tar.gz文件

2.

3.

4.

5.


從jar包提取全部的配置項-小紅本里面搜defaultFS,secondary------------------------------004開頭講的

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

1.core-default.xml

D:\downloads\bigdata\hadoop-2.7.2\_libs\hadoop-common-2.7.2.jar

2.hdfs-default.xml

D:\downloads\bigdata\hadoop-2.7.2\_libs\hadoop-hdfs-2.7.2.jar

3.mapred-default.xml

D:\downloads\bigdata\hadoop-2.7.2\_libs\hadoop-mapreduce-client-core-2.7.2.jar

4.yarn-default.xml

D:\downloads\bigdata\hadoop-2.7.2\_libs\hadoop-yarn-common-2.7.2.jar


master node == NameNode

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


啓動腳本分析004


{hadoop}/sbin/start-all.sh

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

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

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

2./sbin/start-dfs.sh --config $HADOOP_CONF_DIR

3./sbin/start-yarn.sh --config $HADOOP_CONF_DIR


{hadoop_home}/sbin/start-dfs.sh

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

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



hdfs getconf 






{hadoop_home}/sbin/hadoop-daemons.sh

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

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

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

2.exec "$bin/slaves.sh" --config $HADOOP_CONF_DIR cd "$HADOOP_PREFIX" \; "$bin/hadoop-daemon.sh" --config $HADOOP_CONF_DIR "$@"



{hadoop_home}/sbin/slaves.sh

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

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

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

2."${HADOOP_CONF_DIR}/hadoop-env.sh"

3.提取slaves文件的全部主機名-->SLAVE_NAMES

4.for SLAVE_NAMES --> ssh @hostname ...


"$bin/hadoop-daemon.sh"

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

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

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

2.namenode|datanode|2namenode|..

bin/hdfs/xxxx


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

還有查看hdfs.sh的腳本





2NN配置獨立的主機----------如今是005的18分38秒

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

<property>

 <name>dfs.namenode.secondary.http-address</name>

 <value>0.0.0.0:50090</value>                           -----------在這裏,上面的s500:50090 從jar包提取全部的配置項-小紅本里面搜secondary裏面搜的以及DFSUtil裏面看源碼找到的配置,

 <description>

The secondary namenode http server address and port.

 </description>

</property>




改輔助名稱的節點  /etc/hadoop_cluster/hdfs-site.xml  在這個文件裏面  【增長】 下面的內容 -----爲何說是這個,由於上面搜出來的是hdfs-default裏面的內容

<property>

 <name>dfs.namenode.secondary.http-address</name>

 <value>s500:50090</value>     

</property>


配置好後把這個文件發給全部節點





修改默認的hadoop臨時目錄

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

[core-site.xml]

hadoop.tmp.dir=/home/ubuntu/hadoop/


修改blocksize大小,默認是128m----保存下來的默認配置裏面搜小紅本里面搜dfs.blocksize

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

[hdfs-site.xml]

dfs.blocksize=8m






1.測試方式

put 文件 > 8m,經過webui查看塊大小

hadoop --config /soft/hadoop/etc/hadoop_cluster fs -put /mnt/hgfs/downloads/bigdata/hadoop-2.7.2.tar.gz /usr/ubuntu/data/

其餘s200,s300等主機也能夠放文件

hadoop --config /soft/hadoop/etc/hadoop_cluster fs -chmod 改權限




檢查文件block的狀態  hadoop fsck  / -blocks

老師打的是 hdfs --config /soft/hadoop/etc/hadoop_cluster fsck /user/ubuntu/data/hello.txt  查看文件的健康情況


到臨時目錄裏面去cat一下那個meta和塊看看,每一個節點都有一樣的內容


到webui裏面看多少塊超過128的文件






[ip]  hosts裏面的映射配置,看本身主機ip狀況而定

s100 --> 132

s200 --> 130

s300 --> 131

s400 --> 128

s500 --> 133


127.0.0.1localhost

192.168.238.132 s100

192.168.238.130 s200

192.168.238.131 s300

192.168.238.128 s400

192.168.238.133 s500

相關文章
相關標籤/搜索