This is an automated email from the ASF dual-hosted git repository.

laiyingchun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-pegasus.git


The following commit(s) were added to refs/heads/master by this push:
     new 013dd83  chore: add config_hdfs.sh (#658)
013dd83 is described below

commit 013dd83ab6a455b6f90944f8fac4167a27b091cb
Author: Zhang Yifan <[email protected]>
AuthorDate: Thu Dec 24 23:44:45 2020 +0800

    chore: add config_hdfs.sh (#658)
---
 config_hdfs.sh    | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 scripts/travis.sh |  3 +--
 2 files changed, 62 insertions(+), 2 deletions(-)

diff --git a/config_hdfs.sh b/config_hdfs.sh
new file mode 100755
index 0000000..32dc80f
--- /dev/null
+++ b/config_hdfs.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# This file should be sourced to set up LD_LIBRARY_PATH and CLASSPATH to
+# run Pegasus binaries which use libhdfs in the context of a dev environment.
+
+# Try to detect the system's JAVA_HOME
+# If javac exists, then the system has a Java SDK (JRE does not have javac).
+# Follow the symbolic links and use this to determine the system's JAVA_HOME.
+SYSTEM_JAVA_HOME="/usr/java/default"
+if [ -n "$(which javac)" ]; then
+  SYSTEM_JAVA_HOME=$(which javac | xargs readlink -f | sed "s:/bin/javac::")
+fi
+# Prefer the JAVA_HOME set in the environment, but use the system's JAVA_HOME 
otherwise.
+export JAVA_HOME="${JAVA_HOME:-${SYSTEM_JAVA_HOME}}"
+if [ ! -d "$JAVA_HOME" ]; then
+  echo "JAVA_HOME must be set to the location of your JDK!"
+  return 1
+fi
+# Link jvm library.
+JAVA_JVM_LIBRARY_DIR=$(dirname $(find "${JAVA_HOME}/" -name libjvm.so  | head 
-1))
+export LD_LIBRARY_PATH=${JAVA_JVM_LIBRARY_DIR}:$LD_LIBRARY_PATH
+
+# Set CLASSPATH to all the Hadoop jars needed to run Hadoop itself as well as
+# the right configuration directory containing core-site.xml or hdfs-site.xml.
+PEGASUS_HADOOP_HOME=`pwd`/rdsn/thirdparty/build/Source/hadoop
+# Prefer the HADOOP_HOME set in the environment, but use the pegasus's hadoop 
dir otherwise.
+export HADOOP_HOME="${HADOOP_HOME:-${PEGASUS_HADOOP_HOME}}"
+if [ ! -d "$HADOOP_HOME/etc/hadoop" ] || [ ! -d "$HADOOP_HOME/share/hadoop" ]; 
then
+  echo "HADOOP_HOME must be set to the location of your Hadoop jars and 
core-site.xml."
+  return 1
+fi
+export CLASSPATH=$CLASSPATH:$HADOOP_HOME/etc/hadoop/
+for f in $HADOOP_HOME/share/hadoop/common/lib/*.jar; do
+  export CLASSPATH=$CLASSPATH:$f
+done
+for f in $HADOOP_HOME/share/hadoop/common/*.jar; do
+  export CLASSPATH=$CLASSPATH:$f
+done
+for f in $HADOOP_HOME/share/hadoop/hdfs/lib/*.jar; do
+  export CLASSPATH=$CLASSPATH:$f
+done
+for f in $HADOOP_HOME/share/hadoop/hdfs/*.jar; do
+  export CLASSPATH=$CLASSPATH:$f
+done
diff --git a/scripts/travis.sh b/scripts/travis.sh
index 557ce1d..5b85172 100755
--- a/scripts/travis.sh
+++ b/scripts/travis.sh
@@ -32,8 +32,7 @@ if [ "$modified" ]; then
     exit 1
 fi
 
-export LD_LIBRARY_PATH=/usr/local/lib/jvm/openjdk11/lib/server:$LD_LIBRARY_PATH
-
+source "${root}"/config_hdfs.sh
 "${root}"/run.sh build -c --skip_thirdparty --disable_gperf && ./run.sh test 
--on_travis
 ret=$?
 if [ $ret ]; then


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to