虚拟机搭建CentOS Hadoop集群搭建(06)

编写xcall.sh脚本,方便在集群中的每个节点上面执行相同命令
linux参数介绍:
$?         //访问上次命令执行结果
$#        //参数个数
$@      //提取所有参数
$1       //提取第几个参数
$0       //脚本本身

首先通过echo $PATH查看命令搜索路径
echo $PATH
然后登陆到/usr/local/bin/目录下面,创建.hosts文件

随后编写核心脚本:
#!/bin/bash

#遍历集群列表所有机器
for host in 'cat /usr/local/bin/.hosts'
do
   tput setaf 2
   echo  ====== $host ======
   tput setaf 7
   #免密码登录到响应机器,执行命令.
   ssh $host "source /etc/profile;$@"
done

将该脚本的权限修改为777:
chmod 777 xcall.sh

查看每个节点进程:
xcall .sh jps 

安装rsync命令(支持软连接拷贝)
1、scp命令和rsync命令对比
1、scp  不支持软连接拷贝
2、rsync  性能高于scp,支持软连接拷贝。centos7没有内置,需要单独安装,进行文件比对,文件相同的时候不进行覆盖,但是scp是直接覆盖。

2、安装scp命令
我们先查看rsync命令是否在远程仓库存在:

which rsync
yum search rsync

3、通过xcall.sh命令在所有节点上面安装rsync命令
xcall.sh "yum install -y rsync.x86_64"

4、安装完毕检查
xcall.sh "which rsync"

5、远程拷贝样例
我们将page01下面的一个文件拷贝到page02:
-ls:软连接+递归的意思
rsync -lr tmp1 root@page02:/usr/local/zmy_project/

6、编写xsync.sh(为了从主节点向外分发软件用的脚本)

我们在/usr/local/bin路径下编写xsync.sh脚本,并将脚本的权限改为777:

#!/bin/bash
#先获取同步文件或者文件夹的名字
f=$1
#文件或者文件夹的名字
filename='dirname $f'
#获取路径的名字
dirname='dirname $f'

cd -P $dirname
path='pwd'

who='whoami'

#同步的时候不算自己
for host in 'sed -n '2,$p'  /usr/local/bin/.hosts';
do
   tput setaf 2
   echo ====== $host ======
   tput setaf 7

   #-ls:软连接+递归的意思
   rsync -lr $f $who@$host:$path
done

如果目标目录不存在,rsync命令会创建目录
 

当启动集群之后,发现NameNode主节点为启动解决方案?

解决方案:
1、停掉Hadoop集群
mr-jobhistory-daemon.sh stop historyserver

stop-all.sh
2、删除所有节点的Hadoop临时目录
rm -rf  /usr/local/software/hadoop/tmp

3、删除hadoopde的所有日志文件
rm -rf /usr/local/software/hadoop/logs
4、重新格式化系统(记住这个步骤)
hadoop namenode -format
5、重启集群
start-all.sh
mr-jobhistory-daemon.sh start historyserver

虚拟机启动各种问题,任务管理器无法关闭vmware-vmx.exe 且无法删除虚拟机对应文件?

VMware虚拟机提示“以独占方式锁定此配置文件失败”!!! - 鲸落。 - 博客园VMware异常关闭后再次启动提示“以独占方式锁定此配置文件失败”!!! 前几日在使用VMware虚拟机的时候,虚拟机突然出现了卡顿,然后就把电脑关机了重启,结果再次打开虚拟机的时候提示异常“以独占方https://www.cnblogs.com/Komorebi-john/p/11381053.html#%20label2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值