筆記

          way

          2015年7月22日

          最近在網(wǎng)上看到的相關(guān)材料都比較陳舊,也太簡(jiǎn)略,參看了一下其他人的內(nèi)容,針對(duì)Hive2.1.1做點(diǎn)分享:
          1)下載apache-hive-2.1.1-bin.tar.gz

          2)解壓縮,下面的命令行如啟動(dòng)報(bào)錯(cuò),請(qǐng)自行查略Hive啟動(dòng)配置

          3)啟動(dòng)hiveserver2 (非必須,使用jdbc訪問的時(shí)候才使用)
          bin目錄下
          hive --service hiveserver2 -p10001來啟動(dòng)hiveserver2 服務(wù)(默認(rèn)為10000端口)
          nohup hive --service hiverserver2 -p10001可以在后臺(tái)跑
          4)hive腳本運(yùn)行流程
          bin目錄下,使用命令方法為:
          ./hive <parameters> --service serviceName <service parameters>
          舉例:hive --debug :
             查看bin/hive文件
          流程中會(huì)判斷$1=‘--debug’則$DEBUG=‘--debug’
           
          if [ "$DEBUG" ]; then
            if [ "$HELP" ]; then //如還有--help,就會(huì)執(zhí)行debug_help方法。
              debug_help
              exit 0
            else
              get_debug_params "$DEBUG"
              export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS $HIVE_MAIN_CLIENT_DEBUG_OPTS"http://設(shè)置HIVE_MAIN_CLIENT_DEBUG_OPTS的參數(shù)中加入debug相應(yīng)參數(shù)
            fi
          fi
          if [ "$SERVICE" = "" ] ; then
            if [ "$HELP" = "_help" ] ; then
              SERVICE="help"
            else
              SERVICE="cli"     //默認(rèn)賦值cli
            fi
          fi
          這個(gè)shell腳本很多變量應(yīng)該是在其他sh文件中定義,其中$SERVICE_LIST就是其他很多sh文件的最開始形成的:export SERVICE_LIST="${SERVICE_LIST}${THISSERVICE} "
          hive腳本最后的$TORUN "$@" ,默認(rèn)情況下TORUN其實(shí)就是cli,即執(zhí)行/ext/cli.sh腳本,該腳本中主要是調(diào)用/ext/util/execHiveCmd.sh 來執(zhí)行最后的CliDriver。
           【shell腳本中的$*,$@和$#
          舉例說:
          腳本名稱叫test.sh 入?yún)⑷齻€(gè): 1 2 3
          運(yùn)行test.sh 1 2 3后
          $*為"1 2 3"(一起被引號(hào)包住)
          $@為"1" "2" "3"(分別被包住)
          $#為3(參數(shù)數(shù)量)
          即exec $HADOOP jar ${HIVE_LIB}/$JAR $CLASS $HIVE_OPTS "$@" //1
          其中:
          $HADOOP=$HADOOP_HOME/bin/hadoop 【hive腳本中定義HADOOP=$HADOOP_HOME/bin/hadoop】
          $CLASS=org.apache.hadoop.hive.cli.CliDriver【傳入的第一個(gè)參數(shù),在cli.sh中有定義】
          hadoop腳本(2.7.3為例)中最終會(huì)執(zhí)行:
          # Always respect HADOOP_OPTS and HADOOP_CLIENT_OPTS
              HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"
              #make sure security appender is turned off
              HADOOP_OPTS="$HADOOP_OPTS -Dhadoop.security.logger=${HADOOP_SECURITY_LOGGER:-INFO,NullAppender}"
           
              export CLASSPATH=$CLASSPATH
              exec "$JAVA" $JAVA_HEAP_MAX $HADOOP_OPTS $CLASS "$@" //2
          hive的debug參數(shù)就是在啟動(dòng)hive腳本時(shí)放到HADOOP_OPTS中的
          1和2處結(jié)合可得到最終的運(yùn)行命令,查看一下運(yùn)行結(jié)果:ps -ef|grep CliDriver

            /usr/java/jdk1.8.0_101/bin/java -Xmx256m -Djava.net.preferIPv4Stack=true -Dhadoop.log.dir=.. -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=.. -Dhadoop.id.str=root -Dhadoop.root.logger=INFO,console -Djava.library.path=.. -Dhadoop.policy.file=hadoop-policy.xml -Djava.net.preferIPv4Stack=true -Xmx512m -Dproc_hivecli -XX:+UseParallelGC -agentlib:jdwp=transport=dt_socket,server=y,address=8000,suspend=-Dlog4j.configurationFile=hive-log4j2.properties -Djava.util.logging.config.file=..
            
          -Dhadoop.security.logger=INFO,NullAppender org.apache.hadoop.util.RunJar /yuxh/app/apache-hive-2.*/lib/hive-cli-2.*.jar org.apache.hadoop.hive.cli.CliDriver
          posted @ 2017-03-29 16:01 yuxh 閱讀(1591) | 評(píng)論 (0)編輯 收藏
               摘要:   閱讀全文
          posted @ 2015-09-23 21:14 yuxh 閱讀(4419) | 評(píng)論 (0)編輯 收藏
          appfuse3.5使用Hibernate4.3.6, 而Hibernate日志框架使用了jboss-logging,想在后臺(tái)打出sql的參數(shù)一直無法生效。
          檢查配置文件,框架里面的兩個(gè)配置文件,src/test/resources/log4j2.xml(單元測(cè)試時(shí)配置),src/main/resources/log4j2.xml(運(yùn)行時(shí)配置)
          搞清log4j2的配置后,各種修改(主要是
            <Logger name="org.hibernate.SQL" level="trace"/>
            <Logger name="org.hibernate.type" level="trace"/>)
          用junit測(cè)試任然無法打印出真實(shí)參數(shù)。根據(jù)這些實(shí)踐,確定log4j2是使用無誤生效的,只是org.hibernate這部分的logger一直未起效
          參考國(guó)內(nèi)外網(wǎng)站,一直無人回答hibernate4的這個(gè)問題,有人指出這部分Hibernate官方文檔只是提了一句,一直未更新相關(guān)內(nèi)容。最后有人提到應(yīng)該是 jboss-logging 的LoggerProviders這個(gè)類的問題,看實(shí)現(xiàn)對(duì)log4j2已經(jīng)做支持。最后發(fā)現(xiàn) jboss-logging使用的是3.2.0.beta,對(duì)比相關(guān)類的源代碼,更改為3.2.0.Final,生效!

          P.S 把這個(gè)問題提交給Appfuse官網(wǎng),issue APF-1478,作者標(biāo)志為4.0版本修復(fù)。
          posted @ 2015-07-22 14:11 yuxh 閱讀(298) | 評(píng)論 (0)編輯 收藏

          導(dǎo)航

          <2015年7月>
          2829301234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          統(tǒng)計(jì)

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          收藏夾

          博客

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 龙口市| 色达县| 金昌市| 奈曼旗| 南汇区| 灵丘县| 阳西县| 蛟河市| 林芝县| 安新县| 河源市| 通渭县| 东宁县| 鹤壁市| 三原县| 农安县| 永定县| 金门县| 尉氏县| 常州市| 南京市| 囊谦县| 嘉义县| 普兰县| 邛崃市| 弋阳县| 集安市| 白水县| 永定县| 甘肃省| 东平县| 阜平县| 龙州县| 铁岭县| 施甸县| 交口县| 六枝特区| 呼玛县| 邵东县| 宜川县| 禄劝|