Como instalo o cliente “Beeline” Hive?

8

Como posso instalar o cliente hive beeline sem ter que instalar todo o ecossistema hive / hadoop no meu laptop?

Eu quero usá-lo para consultar um banco de dados remoto do Hive.

    
por lucacerone 23.09.2015 / 15:17

1 resposta

1

Não é necessário instalar o Beeline / Hive. Tudo o que você precisa fazer é coletar os jarros relevantes do seu sistema e copiá-los e colocá-los em uma única pasta.

Suponha que tenhamos um sistema de origem no qual você tenha o beeline e um sistema de destino no qual deseja executar o beeline.

No sistema de origem, colete os jars relevantes em uma pasta. A melhor maneira que encontrei para identificar os frascos exatos envolvidos é usar a opção jvm: -verbose:class

Ou seja, você deve conseguir emitir um comando java que replicará uma chamada típica de comando beeline no sistema de origem.

Copie esses arquivos em uma pasta no sistema de destino. cd para essa pasta para tornar a referência -classpath mais simples.

Eu uso uma distro HDP 2.5 Hortonworks. Para mim, a seguinte chamada no sistema de destino funciona: java -Xmx1024m -classpath apache-log4j-extras-1.2.17.jar:avatica-1.8.0.2.5.0.0-1245.jar:calcite-core-1.2.0.2.5.0.0-1245.jar:calcite-linq4j-1.2.0.2.5.0.0-1245.jar:commons-cli-1.2.jar:commons-codec-1.4.jar:commons-collections-3.2.2.jar:commons-configuration-1.6.jar:commons-lang-2.6.jar:commons-logging-1.1.3.jar:curator-client-2.6.0.jar:curator-framework-2.6.0.jar:derby-10.10.2.0.jar:guava-14.0.1.jar:hadoop-annotations-2.7.3.2.5.0.0-1245.jar:hadoop-auth-2.7.3.2.5.0.0-1245.jar:hadoop-common-2.7.3.2.5.0.0-1245.jar:hadoop-mapreduce-client-core-2.7.3.2.5.0.0-1245.jar:hive-beeline-1.2.1000.2.5.0.0-1245.jar:hive-exec-1.2.1000.2.5.0.0-1245.jar:hive-jdbc-1.2.1000.2.5.0.0-1245.jar:hive-jdbc-1.2.1000.2.5.0.0-1245-standalone.jar:jce.jar:jline-2.12.jar:jsse.jar:log4j-1.2.16.jar:rt.jar:slf4j-log4j12-1.7.10.jar:sunec.jar:sunjce_provider.jar:super-csv-2.2.0.jar:xercesImpl-2.9.1.jar -Dhdp.version=2.5.0.0-1245 -Djava.net.preferIPv4Stack=true -Dhdp.version=2.5.0.0-1245 -Dhadoop.log.dir=/home/userid -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/home/userid -Dhadoop.id.str=userid -Dhadoop.root.logger=INFO,console -Djava.library.path=:/home/userid -Dhadoop.policy.file=hadoop-policy.xml -Djava.net.preferIPv4Stack=true -Djava.util.logging.config.file=/home/userid/parquet-logging.properties -Dlog4j.configuration=beeline-log4j.properties -Dhadoop.security.logger=INFO,NullAppender org.apache.hadoop.util.RunJar /home/userid/hive-beeline-1.2.1000.2.5.0.0-1245.jar org.apache.hive.beeline.BeeLine -n userid -p pass -u "jdbc:hive2://knox.company.com:8000/;ssl=true;transportMode=http;httpPath=gateway/tdcprd/hive"

Alguns dos parâmetros provavelmente não são necessários, mas eu os mantive porque é assim que é feito no sistema de origem. Você deve usar a invocação java do sistema de origem como um padrão de referência.

    
por user55570 27.05.2017 / 22:34