论小脚本的重要性

脚本可以节约很多麻烦的问题 可以省时省力 

将本地磁盘的日志文件,收集到hadoop集群中

#!/bin/bash

#设置jdk环境变量

export JAVA_HOME=/hadoop/java/jdk1.7.0_80

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

#设置hadoop的环境变量

export HADOOP_HOME=/hadoop/hadoopinfo/hadoop-2.4.1

export PATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:$PATH

#日志文件存放的目录

log_src_dir=/opt/

#日志文件上传到hdfs的根路径

hdfs_root_dir=/

#读取日志文件的目录,判断是否有需要上传的文件

ls $log_src_dir | while read fileName

do

        if [ "hadoop.log" = "$fileName" ];then

                hadoop fs -put $log_src_dir$fileName $hdfs_root_dir

                

        fi

done

**********************************************************************************************

使用一个for循环 就可以启动三台机器 不需要一台一台麻烦了

启动hadoop集群的脚本

#!/bin/bash

user=root

echo start zookeeper...

for zk in slave slave2 slave3

do

ssh $user@$zk "/hadoop/zookeeper/zookeeper-3.4.5/bin/zkServer.sh start"

done

echo zookeeper started

echo start hdfs...

hdfs=master

ssh $user@$hdfs "/hadoop/hadoopinfo/hadoop-2.4.1/sbin/start-dfs.sh"

echo hdfs started

echo start yarn...

yarn=master

rsm=master2

ssh $user@$yarn "/hadoop/hadoopinfo/hadoop-2.4.1/sbin/start-yarn.sh"

ssh $user@$rsm "/hadoop/hadoopinfo/hadoop-2.4.1/sbin/yarn-daemon.sh start resourcemanager"

echo yarn started

 

***********************************************************

关闭hadoop集群的脚本

#!/bin/bash

user=root

echo stop zookeeper...

for zk in slave slave2 slave3

do

ssh $user@$zk "/hadoop/zookeeper/zookeeper-3.4.5/bin/zkServer.sh stop"

done

echo zookeeper stoped

echo stop hdfs...

hdfs=master

ssh $user@$hdfs "/hadoop/hadoopinfo/hadoop-2.4.1/sbin/stop-dfs.sh"

echo hdfs stoped

echo stop yarn...

yarn=master

rsm=master2

ssh $user@$yarn "/hadoop/hadoopinfo/hadoop-2.4.1/sbin/stop-yarn.sh"

ssh $user@$rsm "/hadoop/hadoopinfo/hadoop-2.4.1/sbin/yarn-daemon.sh stop resourcemanager"

echo yarn stoped

^^^^^^启动和关闭是不是一样  哈哈哈哈哈

猜你喜欢

转载自www.cnblogs.com/zhuhuibiao/p/10672607.html