本篇內容介紹了“Hive2的安裝配置方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
一、環境依賴
Hive必須運行在Hadoop之上,則需要先安裝Hadoop環境
http://my.oschina.net/u/204498/blog/519789
二、安裝Hive
1.下載Hive
http://apache.mirrors.ionfish.org/hive/
我安裝的是apache-hive-1.2.1-bin.tar.gz
[hadoop@hftclclw0001 ~]$ pwd /home/hadoop [hadoop@hftclclw0001 ~]$ wget http://apache.mirrors.ionfish.org/hive/hive-1.2.1/apache-hive-1.2.1-bin.tar.gz [hadoop@hftclclw0001 ~]$ ll total 637256 drwx------ 10 hadoop root 4096 Oct 27 02:22 apache-hive-1.2.1-bin -rw------- 1 hadoop root 92834839 Jun 26 18:34 apache-hive-1.2.1-bin.tar.gz drwx------ 3 hadoop root 4096 Oct 27 09:05 data drwx------ 11 hadoop root 4096 Oct 21 03:20 hadoop-2.7.1 -rw------- 1 hadoop root 210606807 Oct 20 09:00 hadoop-2.7.1.tar.gz drwx------ 2 hadoop root 4096 Oct 23 02:08 install-sqoop drwx------ 13 hadoop root 4096 Oct 20 09:22 spark-1.5.1-bin-hadoop2.6 -rw------- 1 hadoop root 280901736 Oct 20 09:19 spark-1.5.1-bin-hadoop2.6.tgz drwx------ 22 hadoop root 4096 Oct 23 02:08 sqoop-1.99.6-bin-hadoop200 -rw------- 1 hadoop root 68177818 May 5 22:34 sqoop-1.99.6-bin-hadoop200.tar.gz [hadoop@hftclclw0001 ~]$ cd apache-hive-1.2.1-bin/conf/ [hadoop@hftclclw0001 conf]$ pwd /home/hadoop/apache-hive-1.2.1-bin/conf [hadoop@hftclclw0001 conf]$ vi hive-env.sh ... ... HADOOP_HOME=/home/hadoop/hadoop-2.7.1 =>配置Hadoop_Home export HIVE_CONF_DIR=/home/hadoop/apache-hive-1.2.1-bin/conf =>配置HIVE_conf_home export HIVE_AUX_JARS_PATH=/home/hadoop/apache-hive-1.2.1-bin/lib/ #我使用了mysql作為metastore ,則需要在lib目錄下添加mysql的驅動 [hadoop@hftclclw0001 lib]$ pwd /home/hadoop/apache-hive-1.2.1-bin/lib [hadoop@hftclclw0001 lib]$ ll | grep mysql -rw------- 1 hadoop root 848401 Oct 27 01:48 mysql-connector-java-5.1.25-bin.jar [hadoop@hftclclw0001 conf]$ vi hive-site.xml [hadoop@hftclclw0001 conf]$ cat hive-site.xml <?xml version="1.0"?> <configuration> <property> <name>hive.metastore.local</name> <value>false</value> =>metastore我的mysql不是在該server上 </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://{ip:port}/{databases}</value> => mysql服務的ip和端口號 </property> <property> <name>javax.jdo.option.ConnectionDriveName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>{username}</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>{password}</value> </property> <property> <name>hive.metastore.warehouse.dir</name> <value>/hive/warehouse</value> =>hive的倉庫目錄,需要在HDFS上創建,并修改權限 </property> <property> <name>hive.metastore.uris</name> <value>thrift://{ip}:{port}</value> =>本機ip和端口號,啟動metastore服務 </property> </configuration> [hadoop@hftclclw0001 conf]$ vi hive-log4j.properties => Log4j的配置,可以修改日志目錄 ...
2.啟動metastore
[hadoop@hftclclw0001 bin]$ pwd /home/hadoop/apache-hive-1.2.1-bin/bin [hadoop@hftclclw0001 bin]$ ./hive --service metastore & [hadoop@hftclclw0001 bin]$ ps ax|grep metastore ... ...
3.啟動HiveServer2
[hadoop@hftclclw0001 bin]$ pwd /home/hadoop/apache-hive-1.2.1-bin/bin [hadoop@hftclclw0001 bin]$ ./hive --service hiveserver2 & [hadoop@hftclclw0001 bin]$ ps ax|grep HiveServer2 ... ...
4.啟動shell 或是 beeline
[hadoop@hftclclw0001 bin]$ ./hive shell ... ...
三、metastore
http://www.cloudera.com/content/www/en-us/documentation/archive/cdh/4-x/4-2-0/CDH4-Installation-Guide/cdh5ig_topic_18_4.html
1.內置模式:將數據保存在內置的Derby數據庫中,這種方式最簡單,但是Derby每次只能訪問一個數據文件。
Drive ==> Metastore ==> Derby
2.本地模式:將元數據保存在本地的獨立數據庫(如mysql)等
Driver ===> Metastore
Driver ===> Metastore ===> DB
Driver ===> Metastore
每個server都需要配置metastore,并啟動metastore服務
3.遠程模式:使用thrift訪問metastore
Client1
Client2 ===> Metastore ===> DB
Client3
4.配置:
如上述配置,我們已經啟動了metastore服務在上述hftclclw0001機器上, 我們在另一臺server上,如hftclcld0001機器上,安裝hive,配置如上述配置一直,僅僅修改hive-site.xml如下: <?xml version="1.0"?> <configuration> <property> <name>hive.metastore.uris</name> <value>thrift://{ip}:{port}</value> =>hftclclw0001機器的ip和端口號 </property> </configuration> 即我們通過thrift協議,訪問hftclclw0001上面的metastore,并訪問hive的元數據 [root@hftclcld0001 apache-hive-1.2.1-bin]# pwd /home/hadoop/apache-hive-1.2.1-bin [root@hftclcld0001 apache-hive-1.2.1-bin]# ./bin/hive shell hive> hive> show databases; OK default hive =>能訪問到hive的metastore,訪問到元數據(我們之前創建的) human_resources Time taken: 0.388 seconds, Fetched: 3 row(s) hive>
“Hive2的安裝配置方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。