hadoop第二天

脚本里面单独的 / 是把一行换成多行,换行符

通配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

  

原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/195603.html

(0)
上一篇 2021年11月16日
下一篇 2021年11月16日

相关推荐

发表回复

登录后才能评论