Java-env.sh-stop.sh-start.sh 示例

  • env.sh
 #!/usr/bin/env bash
APP="data_import"
LOG_BASE="/home/admin/logs"
LOG_DIR="$LOG_BASE/$APP"
export PID_FILE="$LOG_DIR/$APP.pid"
export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"

export JAVA_HOME=/home/admin/local/jdk1.7.0_79
export JAVA_BIN=$JAVA_HOME/bin
export JAVA_PATH=$JAVA_HOME/bin
export JAVA_OPTS="-Xms1024m -Xmx2048m -XX:MaxPermSize=256m"
export HADOOP_USER_NAME=hdfs
CONFIG_PATH=$(cd "$(dirname "$0")/../config";pwd)
LIB_PATH=$(cd "$(dirname "$0")/../lib";pwd)

 # 缁 CLASSPATH
ALL_JARS=$(ls "$LIB_PATH")
CLASS_PATH=""
for jar in $ALL_JARS
do
    CLASS_PATH="$CLASS_PATH""$LIB_PATH""/""$jar"":"
done
CLASS_PATH=`echo $CLASS_PATH | sed -r 's/^(.*):$/\1/g'`
  • start.sh
#!/bin/sh

[  -e `dirname $0`/env.sh ]  && . `dirname $0`/env.sh

if [ ! -d "$LOG_DIR" ] ;then
    mkdir "$LOG_DIR"
    if [ $? -ne 0 ] ;then
        echo "Cannot create $LOG_DIR" >&2
        exit 1
    fi
fi

if [ -f $PID_FILE ]
then
 PID=`cat $PID_FILE`
 ps -ef | awk '{print $2}' | grep "^$PID$" >/dev/null
 if [ $? -eq 0 ]
 then
  echo "process $PID in running."
  exit 1
 fi
fi

nohup $JAVA_PATH/java $JAVA_OPTS -cp "$CONFIG_PATH:$CLASS_PATH" com.msxf.ImportServer &> /dev/null &
echo $! > $PID_FILE
PID=`cat $PID_FILE `
echo "process $PID is start ok."
~
  • stop.sh
#!/bin/sh
[  -e `dirname $0`/env.sh ]    && . `dirname $0`/env.sh
PID=`cat $PID_FILE`
kill $PID
n=10
i=1
while [ $n -gt $i ]
do
 ps -ef | awk '{print $2}' | grep "^$PID" >/dev/null
 if [ $? -eq 0 ]
 then
   sleep 1
   let i+=1
 else
   echo "stop process $PID succeed."
   exit
 fi
done
echo "stop process $PID failed."
~
~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您好,yarn-env.sh是Hadoop YARN的环境变量配置文件,它用于设置YARN的运行环境。在该文件中,确实没有设置JAVA_HOME环境变量的配置项。但是,在Hadoop的环境变量配置文件中,比如hadoop-env.sh,会设置JAVA_HOME环境变量。因此,如果您需要在YARN中使用Java程序,可以在hadoop-env.sh中设置JAVA_HOME环境变量。 ### 回答2: 首先,yarn-env.sh是一个YARN的环境变量配置文件,它是用来设置YARN运行时所需的环境变量。而Java Home是指Java SDK的安装目录,Java SDK是用来开发、编译和运行Java程序的软件开发工具包,它包含了Java Runtime Environment(JRE)和Java Development Kit(JDK)。 在yarn-env.sh中没有定义JAVA_HOME变量的话,那么YARN将无法找到Java SDK的安装目录,从而无法运行Java程序。因此,在安装和配置YARN时,必须确保JAVA_HOME变量已经设置好了,否则将会出现无法运行Java程序的情况。 通常来说,设置JAVA_HOME变量可以通过以下步骤来完成: 1. 找到Java SDK的安装目录; 2. 使用编辑器打开yarn-env.sh文件; 3. 输入以下命令: export JAVA_HOME=<Java SDK的安装目录> 4. 保存并关闭文件; 5. 重新启动YARN服务。 通过这样的方法,YARN就能够找到Java SDK的安装目录,并将其加入到运行时环境变量中,从而正确地运行Java程序。 总之,没有定义JAVA_HOME变量是不能让YARN运行Java程序的,因此,在设置YARN运行时的环境变量时,请务必注意JAVA_HOME变量的设置。 ### 回答3: yarn-env.sh 是 Hadoop 的一个组件 Yarn 的环境变量配置文件,它负责配置 Yarn 运行所需的一些环境变量,如 Hadoop 的安装路径、默认的 java 程序路径等等。 在 yarn-env.sh 中没有 java_home 字段意味着 Yarn 可能会出现无法找到 java 二进制文件的问题,这会导致 Yarn 无法启动,进而影响整个 Hadoop 集群的运行。因此,在部署 Yarn 环境时,确保 yarn-env.sh 中配置了正确的 java_home 是非常重要的。 如果 yarn-env.sh 中没有 java_home,可以手动添加该配置信息,以确保 Yarn 在启动时能够找到正确的 java 程序文件。 可以通过以下步骤来添加 java_home 变量: 1. 查看系统中已经安装的 java 的安装路径。 2. 编辑 yarn-env.sh 文件,添加如下代码:export JAVA_HOME=<java 安装路径> 3. 保存该文件并重启 Yarn。 添加完 java_home 后,还需要确保 Yarn 和 Hadoop 集群的其他组件都能够正确的找到 java 程序文件,否则会导致运行时异常。 总之,yarn-env.sh 中没有 java_home 字段会导致 Yarn 无法启动,因此在部署 Yarn 环境时,一定要确保该字段已被正确配置。同时,对于已经在运行的 Yarn 集群,如果发现该问题,可以通过手动添加配置方式来解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值