메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


* shellscript파일
-----------------
#!/bin/bash
export CLASSPATH=${CLASSPATH}:/opt/cloudera/parcels/CDH-7.1.7-1.cdh7.1.7.p1000.24102687/lib/hive/auxlib/ImpalaJDBC42.jar
export CLASSPATH=${CLASSPATH}:~/gooper/libs/*.jar

kinit -kt /var/lib/keytab/hadoop.keytab hadoop
if [ $? != 0 ]; then
   echo "kinit fail"
   exit -1
else
   echo "kinit sucess"
fi

java ImpalaTest
------------------------

*참고1 : 아래 프로그램을 수행하는데 필요한 jar파일 목록(os폴더 위치 : ~/gooper/libs)
(/opt/cloudera/parcels/CDH/jars에 있으니 복사해서 사용한다, 이곳에은 동일한 jar가 바젼별로 존재하므로 이 경로를 classpath에 통째 포함시켜서 사용하면 실행시 NoSuchMehod같은 오류가 발생한다)
commons-collections-3.2.2.jar         hadoop-common-3.1.1.7.1.7.1000-141.jar            hive-service-3.1.3000.7.1.7.1000-141.jar      log4j-1.2-api-2.17.1.jar
commons-configuration2-2.1.1.jar      hive-exec-3.1.3000.7.1.7.1000-141.jar             hive-service-rpc-3.1.3000.7.1.7.1000-141.jar  log4j-api-2.17.1.jar
commons-lang-2.6.jar                  hive-jdbc-3.1.3000.7.1.7.1000-141.jar             httpclient-4.5.13.jar                         log4j-core-2.17.1.jar
guava-27.0.1-jre.jar                  hive-jdbc-3.1.3000.7.1.7.1000-141-standalone.jar  jaxb-impl-2.2.3-1.jar                         slf4j-log4j12-1.7.30.jar
hadoop-auth-3.1.1.7.1.7.1000-141.jar  hive-metastore-3.1.3000.7.1.7.1000-141.jar        libthrift-0.9.3.jar


* 참고2 : java source(파일명 ImpalaTest.java)
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class ImpalaTest {
        private static String connectionUrl;
        private static String jdbcDriverName;

        private static void loadConfiguration() throws IOException {
                try {
          // connectionUrl = "jdbc:impala://impalajdbcnode.gooper.com1050;AuthMech=3;UID=hadoop;PWD=;UseSasl=0";             // 해당 user로 동작함
          connectionUrl = "jdbc:impala://impalajdbc_l4.gooper.com:21051/default;AuthMech=1;KrbRealm=GOOPER.COM;KrbHostFQDN=impala_jdbc_node.gooper.com;KrbServiceName=impala;" ;
             //impalaJDBC4.1의 경우
             //jdbcDriverName = "com.cloudera.impala.jdbc41.Driver";
             //ImpalaJDBC4.2의 경우
             jdbcDriverName = "com.cloudera.impala.jdbc.Driver";
                } finally {
                      System.out.println("test");
                }
        }

        public static void main(String[] args) throws IOException, ClassNotFoundException, SQLException {
                selectTest();
        }
        public static void selectTest() throws IOException {
                String sqlStatement = "select count(*) as 'abcd' from test.test_table;";
                loadConfiguration();

                System.out.println("\n=============================================");
                System.out.println("Using Connection URL: " + connectionUrl);

                Connection con = null;
                Statement stmt = null;

                try {

                        Class.forName(jdbcDriverName);
                        con = DriverManager.getConnection(connectionUrl);
                        stmt = con.createStatement();
                        ResultSet rs = stmt.executeQuery(sqlStatement);

                        System.out.println("\n== Begin Query Results ======================");
                        System.out.println("rs:"+rs);
                        // print the results to the console
                        while (rs.next()) {
                                // the example query returns one String column
                                System.out.println(rs.getString(1));
                        }

                        System.out.println("== End Query Results =======================\n\n");

                } catch (SQLException e) {
                        e.printStackTrace();
                } catch (Exception e) {
                        e.printStackTrace();
                } finally {
                        try {
                                stmt.close();
                                con.close();
                        } catch (Exception e) {
                                // swallow
                        }
                }
        }
}
번호 제목 날짜 조회 수
721 eclipse 3.1 단축키 정리파일 2017.01.02 117
720 Cloudera Manager 5.x설치시 embedded postgresql를 사용하는 경우의 관리정보 2018.04.13 117
719 magento2 설치후 초기화면이 깨지는 문제 file 2017.01.31 121
718 hadoop에서 yarn jar ..를 이용하여 appliction을 실행하여 정상적으로 수행되었으나 yarn UI의 어플리케이션 목록에 나타나지 않는 문제 2017.05.02 121
717 [kerberos]Kerberos HA구성 참고 페이지 2022.08.31 121
716 5건의 triple data를 이용하여 특정 작업 폴더에서 작업하는 방법/절차 2016.06.16 122
715 magento2 샘플데이타 설치 2017.01.31 123
714 [Kerberos]병렬 kinit 호출시 cache파일이 손상되어 Bad format in credentials cache 혹은 No credentials cache found 혹은 Internal credentials cache error 오류 발생시 2023.01.20 123
713 [oracle]10자리 timestamp값을 날짜로 변환하는 방법 2022.04.14 124
712 [oozie]Oozie WF수행시 단계별 ID넘버링 비교/설명 2022.03.23 125
711 [bitbucket] 2022년 3월 2일 부터 git 작업시 기존에 사용하던 비빌번호를 사용할 수 없도록 변경되었다. 2022.04.30 125
710 core 'gc_shard3_replica2' is already locked라는 오류가 발생할때 조치사항 2017.09.14 128
709 [CDP7.1.3]Ranger WebUI에서 Error! Connection refused: Please check the KMS provider URL and whether the Ranager KMS is running발생시 조치 방법 2023.06.07 129
708 [CDP7.1.7] oozie sqoop action으로 import혹은 export수행시 발생한 오류에 대한 자세한 로그 확인 하는 방법 2024.04.19 129
707 vuestorefrontui.io를 이용한 front end project 생성하기 2022.02.06 130
706 [HA구성 이슈]oozie 2대를 L4로 HA구성했을때 발생하는 이슈 2023.01.17 131
705 S2RDF 테스트(벤치마크 테스트를 기준으로 python, scala소스가 만들어져서 기능은 파악되지 못함) [2] file 2016.05.27 133
704 webid에서 google처럼 검색할 수 있도록 하는 프로그램 2017.05.16 133
703 Hadoop 2.7.x에서 사용할 수 있는 파일/디렉토리 관련 util성 클래스 파일 2017.09.28 133
702 Oracle NLOB type의 데이터를 import하는 경우 No Java type for SQL type 2011 for column rst와 같은 오류 발생시 조치사항 2022.01.14 134
위로