apache 大資料平臺搭建(hive)
阿新 • • 發佈:2021-12-15
一.官網下載安裝包
https://hive.apache.org/
由於hive-3.1.2預設支援的時spark2.4.3的版本,我們後面需要安裝spark3.0.0
所以需要重新編譯,可留言獲取安裝包
編譯步驟:官網下載 Hive3.1.2 原始碼,修改 pom 檔案中引用的 Spark 版本為 3.0.0,如果
編譯通過,直接打包獲取 jar 包。如果報錯,就根據提示,修改相關方法,直到不報錯,打
包獲取 jar 包。
二.安裝
- 將編譯後的hive安裝包上傳伺服器
#在安裝包所在路徑執行解壓命令: tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/module
- 修改配置檔案
cd /opt/module/hive-3.1.2/conf vim hive-site.xml <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop101:3306/metastore?useSSL=false</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>yourpassword</value> </property> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property> <property> <name>hive.metastore.schema.verification</name> <value>false</value> </property> <property> <name>hive.server2.thrift.port</name> <value>10000</value> </property> <property> <name>hive.server2.thrift.bind.host</name> <value>hadoop101</value> </property> <property> <name>hive.metastore.event.db.notification.api.auth</name> <value>false</value> </property> <property> <name>hive.cli.print.header</name> <value>true</value> </property> <property> <name>hive.cli.print.current.db</name> <value>true</value> </property> <!--Spark依賴位置(注意:埠號8020必須和namenode的埠號一致)--> <property> <name>spark.yarn.jars</name> <value>hdfs://hadoop101:8020/spark-jars/*</value> </property> <!--Hive執行引擎--> <property> <name>hive.execution.engine</name> <value>spark</value> </property> <!--Hive和Spark連線超時時間--> <property> <name>hive.spark.client.connect.timeout</name> <value>10000ms</value> </property> </configuration>
三.啟動hive
- 初始化元資料庫
登入mysql,建立元資料庫
create database metastore;
2.進入hive bin目錄,執行初始化
schematool -initSchema -dbType mysql -verbose
3.啟動hadoop之後,執行hive命令,進入hive客戶端命令列
四.配置hive on spark
# 1. 在 hive 中建立 spark 配置檔案 vim /opt/module/hive/conf/spark-defaults.conf #新增以下內容 spark.master yarn spark.eventLog.enabled true spark.eventLog.dir hdfs://hadoop101:8020/spark-history spark.executor.memory 1g spark.driver.memory 1g # 2. 在 HDFS 建立如下路徑,用於儲存歷史日誌 hadoop fs -mkdir /spark-history # 3. 向 HDFS 上傳 Spark 純淨版 jar 包 tar -zxvf /opt/software/spark-3.0.0-bin-without-hadoop.tgz hadoop fs -mkdir /spark-jars hadoop fs -put spark-3.0.0-bin-without-hadoop/jars/* /spark-jars # 4. 修改hive-site.xml檔案 #新增如下內容 <!--Spark 依賴位置(注意:埠號 8020 必須和 namenode 的埠號一致)--> <property> <name>spark.yarn.jars</name> <value>hdfs://hadoop101:8020/spark-jars/*</value> </property> <!--Hive 執行引擎--> <property> <name>hive.execution.engine</name> <value>spark</value> </property> <!--Hive 和 Spark 連線超時時間--> <property> <name>hive.spark.client.connect.timeout</name> <value>10000ms</value> </property>
至此,hive on spark配置完成.後面再補充hive on tez.
一天一個小知識,日積月累,積沙成塔。。。