Làm cách nào tôi có thể cài đặt ứng dụng khách hive beeline
mà không phải cài đặt tất cả hệ sinh thái hive / hadoop trên máy tính xách tay của mình?
Tôi muốn sử dụng nó để truy vấn cơ sở dữ liệu Hive từ xa.
Làm cách nào tôi có thể cài đặt ứng dụng khách hive beeline
mà không phải cài đặt tất cả hệ sinh thái hive / hadoop trên máy tính xách tay của mình?
Tôi muốn sử dụng nó để truy vấn cơ sở dữ liệu Hive từ xa.
Câu trả lời:
Không cần thiết phải cài đặt beeline / hive. Tất cả bạn phải làm là thu thập các lọ có liên quan từ hệ thống của bạn và sao chép chúng và đặt chúng vào một thư mục duy nhất.
Giả sử, chúng tôi có một hệ thống nguồn nơi bạn có beeline và hệ thống đích nơi bạn muốn chạy beeline.
Trên hệ thống nguồn thu thập các lọ có liên quan vào một thư mục. Cách tốt nhất mà tôi đã tìm thấy để xác định các lọ chính xác có liên quan là sử dụng tùy chọn jvm:-verbose:class
Tức là, bạn sẽ có thể đưa ra một java
lệnh sẽ sao chép một lệnh gọi beeline điển hình trên hệ thống nguồn.
Sau đó sao chép các tệp đó vào một thư mục trên hệ thống đích. cd
vào thư mục đó để làm cho -classpath
tài liệu tham khảo sau này đơn giản.
Tôi sử dụng một bản phân phối HDP 2.5 Hortonworks. Đối với tôi, lời gọi sau đây trên hệ thống đích hoạt động:
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"
Một số tham số có thể không cần thiết, nhưng tôi giữ chúng vì đó là cách nó được thực hiện trên hệ thống nguồn. Bạn nên sử dụng lời gọi java của hệ thống nguồn làm mẫu tham chiếu.