您好,登錄后才能下訂單哦!
腳本里面單獨的 \ 是把一行換成多行,換行符
通配0.0.0.0表示任意一個ip都可以訪問、電腦有網卡,本地連接其他的
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>
配置好后把這個文件發給所有節點
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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。