`

工作中linux常用命令备份

 
阅读更多

 

 

 

rm -rf conf_$DATE > /dev/null 2>&1
mkdir conf_$DATE
for t in `cat ../../table-oracle-tohbase.list | grep -v ^#`
 do
 table=`echo $t | awk -F ',' '{print $1}'`
  sh genconf.sh $table
 done

 

 

 

 

USUAGE="Usuage: bash run_all_bulkload.sh"

source ../../../conf.properties

LOG_DIR=logs_$DATE
if [ ! -d $LOG_DIR ]; then
  mkdir $LOG_DIR
fi

for t in `cat ../../table-oracle-tohbase.list | grep -v ^#`; do
	table=`echo $t | awk -F ',' '{print $1}'`
	echo "Bulkload "$table" ..."
	nohup sh run_bulkload.sh $table > $LOG_DIR/$table.log 2>&1 &
done

 

 

 

 

#! /bin/bash
USUAGE="Usuage: bash run_bulkload.sh [TABLENAME] <-test>"
PROJECT_HOME=.
CLASSPATH=$PROJECT_HOME/lib/bulkload.jar   
IS_TEST=1  #Default is false  闈炴祴璇?


if [ "$#" -lt "1"  ]; then
  echo $USUAGE
  exit 1
elif [ "$#" -eq "1" ]; then  
  TABLENAME=$1
elif [ "$#" -eq "2" ]; then
  TABLENAME=$1
  IS_TEST=0
else
  echo $USUAGE
  exit 1
fi

source ../../../conf.properties

tablename=$TABLENAME"_"$DATE
CONF_FILE=conf_$DATE/$tablename.properties
source $CONF_FILE

# When use the test mode, judge whether the test parameters have been set 
checktest=0
if [ "$IS_TEST" -eq "0" ]; then
  if [ "$test_outputDir" = "" ]; then
    echo "ERROR: You must set the test_outputDir in the conf file."
    checktest=1
  fi
  if [ "$test_tableName" = "" ]; then
    echo "ERROR: You must set the test_tableName in the conf file."
    checktest=1
  fi
fi

if [ "$checktest" -eq "1" ]; then
  exit 1
fi

if [ "$IS_TEST" -eq "0" ];then
  HFILE_DIR=$test_outputDir
  HBASE_TABLE_NAME=$test_tableName
  INDEX_TABLE_NAME=$test_indextablename
else
  HFILE_DIR=$outputDir   
  HBASE_TABLE_NAME=$tableName
  INDEX_TABLE_NAME=$indextablename  
fi

#======= Check and disable the hbase table ===============
echo "Check whether the table exists"   
if echo "list" | hbase shell | grep $tableName ; then
  echo "The table has existed, disable and drop the table"
  echo "disable '$tableName'; drop '$tableName'" | hbase shell
fi

echo "Start loading data into HBase at `date`"
start=`date +%s`


jars=`ls $PROJECT_HOME/lib`
for jar in $jars
do
    CLASSPATH="$CLASSPATH:$PROJECT_HOME/lib/$jar"   
done

CLASSPATH=/etc/hdfs1/conf:/etc/hadoop/conf:/etc/hbase/conf:$CLASSPATH  
sudo -u hdfs hdfs dfs -rm -r $HFILE_DIR   
if [ "$IS_TEST" -eq "0" ]; then
  java -Djava.library.path=/usr/lib/hadoop/lib/native -cp $CLASSPATH com.transwarp.hbase.bulkload.ImportTextFile2HBase $CONF_FILE -test
else
  java -Djava.library.path=/usr/lib/hadoop/lib/native -cp $CLASSPATH com.transwarp.hbase.bulkload.ImportTextFile2HBase $CONF_FILE   
fi

sleep 60
sudo -u hdfs hdfs dfs -chmod -R 777 $HFILE_DIR
sleep 60

if [ "$INDEX_TABLE_NAME" != "" ]; then 
   /usr/lib/hbase/bin/hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles $HFILE_DIR $INDEX_TABLE_NAME
else 
	/usr/lib/hbase/bin/hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles $HFILE_DIR $HBASE_TABLE_NAME 
fi
#echo "Delete the hfile output dir "
#sudo -u hdfs hdfs dfs -rmr $HFILE_DIR

end=`date +%s`
interval=`expr $end - $start`
echo "End loading data into HBase at `date`"
echo "Time used $interval seconds"

  

 

分享到:
评论

相关推荐

    Linux常用命令文档

    CHM文件中的“Linux常用命令文档”应该详细介绍了这些命令的用法、参数以及实例,对于学习和日常工作中查找帮助非常有用。通过深入学习和实践这些命令,你将能够更加熟练地在Linux环境中工作,提高效率并解决各种...

    Linux常用命令经典解释

    【Linux常用命令经典解释】 在Linux操作系统中,掌握一些常用的命令是提高工作效率的关键。本文将重点解析几个核心的命令:`tar`、`vi`以及如何在Linux下安装和卸载软件。 首先,我们来看看`tar`命令,它是Linux中...

    linux常用命令.ppt

    Linux 常用命令详解 Linux 操作系统中,有许多常用的命令,可以帮助用户更方便地管理和维护系统。本文将详细介绍一些常用的 Linux 命令,包括 su 命令、pwd 命令、cd 命令、ls 命令、find 命令、tar 命令、gzip ...

    Linux常用命令简介 doc

    ### Linux常用命令详解 Linux作为一款强大的开源操作系统,其丰富的命令行工具是其核心优势之一。对于初学者而言,熟练掌握一系列基础命令是快速提升Linux使用技能的关键。下面,我们将深入解析部分常用的Linux命令...

    linux常用命令大全.pdf

    ### Linux常用命令大全 #### 一、文件管理 1. **查看目录与文件** - **ls**: 用于列出当前目录下的文件和子目录。常用选项包括: - `-l`: 以长格式显示文件详细信息,如权限、所有者、大小等。 - `-a`: 显示...

    linux常用命令.doc

    Linux文件的复制、删除和移动命令 Linux目录的创建与删除命令 Linux文本处理命令  Linux备份与压缩命令 在Linux环境下运行DOS命令 Linux与用户有关的命令  Linux系统管理命令 Linux磁盘管理 

    linux常用命令 lvm

    - 帖子链接中的"ESXI& LINUX增加硬盘.docx"可能包含关于如何在VMware ESXi和Linux中增加硬盘空间的信息,这通常涉及到LVM操作。 2. LVM的主要操作: - 创建物理卷:使用`pvcreate`命令将分区或硬盘转换为物理卷。...

    什么是linux常用命令大全以及学习linux常用命令大全的意义

    Linux常用命令大全是一份包含了Linux系统中最常用命令及其使用方法的综合指南,它覆盖了文件操作、目录管理、进程控制、网络配置等多个方面,是Linux初学者及进阶用户必备的学习资料。 #### 二、学习Linux常用命令...

    linux命令《备份压缩》

    这里我们将深入探讨Linux中的备份和压缩命令,这些命令在处理大量数据时非常实用。 首先,让我们了解一些常用的备份命令。备份通常涉及复制文件或目录,以便在发生数据丢失或系统故障时恢复。`cp`是基础的复制命令...

    linux常用命令(适合新手)

    `tar`是Linux中的打包工具,常用于备份和归档文件。了解如何使用`tar`命令创建、提取和查看`.tar`或`.tar.gz`等格式的压缩文件。 7. **Linux与Windows共享文件Samba**: Samba是使Linux系统能与Windows网络共享...

    Linux常用命令全集.zip

    "Linux常用命令全集.zip"这个压缩包很可能包含了全面的Linux命令参考资料,特别是以.CHM(Microsoft帮助文件)格式的文档,这通常是一个方便的离线手册,用户可以从中查询各种Linux命令的用法和示例。 Linux命令是...

    常用linux命令及服务器配置大全 工作中收集的linux常用命令。

    ### 常用 Linux 命令及服务器配置详解 #### 一、acctcom:搜索并显示进程记帐文件 ...以上列出的是 Linux 中常用的命令及其简单示例。这些命令在日常管理和开发工作中都极为重要,熟练掌握它们将大大提高工作效率。

    linux常用命令手册

    ### Linux常用命令手册知识点 #### 文件传输 - **bye**:在`ftp`会话中使用,用于退出当前的FTP连接。 - **ftp (file transfer protocol)**:用于在计算机网络中进行文件传输的标准协议。 - **ftp count**:未详述...

    Linux常用基本命令之备份与压缩命令

    在Linux操作系统中,掌握一些基本的备份与压缩命令对于日常管理和维护系统至关重要。这些命令能够帮助用户有效地存储、传输和管理大量的数据。以下是一些关键的Linux备份与压缩命令的详细说明: 1. **cp(复制)**...

    LINUX 常用命令

    以下是对给定文件中的LINUX常用命令的详细解析,旨在帮助用户更好地理解和运用这些命令。 #### 1. `man` `man`是查看LINUX手册页(manual page)的命令,用于获取命令的详细使用方法、参数含义等信息。例如,输入`...

    linux常用60个命令

    ### Linux常用60个命令详解 #### 一、引言 Linux系统因其强大的稳定性和安全性,在服务器领域占有举足轻重的地位。对于初学者来说,掌握一些基础且常用的Linux命令至关重要。本文将详细介绍《Linux必学的60个命令...

    linux常用命令详解.doc

    ### Linux常用命令详解 #### 1. `cat` 命令 - **用途**: 显示文本文件的内容或连接多个文件并打印到标准输出设备上。 - **参数**: - `-e`: 打印一个 `$` 来表示每行的结尾,此选项只有与 `-v` 选项一起使用时才...

    Linux常用的60个命令

    本文将详细介绍Linux中最常用的60个命令,这些命令覆盖了系统管理、文件操作、网络通信等多个方面,对于学习和提高Linux操作技能至关重要。 1. `ls`:列出目录内容。使用`ls -l`可以列出详细信息,`ls -a`可以列出...

    linuxOS6.5安装及常用命令.docx

    Linux OS 6.5 安装及常用命令 Linux OS 6.5 是一种流行的开源操作系统,它提供了强大且灵活的功能,可以应用于各种场景。本文档将指导用户安装 Linux OS 6.5 并介绍常用的命令,使用户能够快速上手使用 Linux OS ...

Global site tag (gtag.js) - Google Analytics