Hive(2)-Hive的安裝,使用Mysql替換derby,以及一丟丟基本的HQL
一. Hive下載
1. Hive官網地址
http://hive.apache.org/
2. 文件檢視地址
https://cwiki.apache.org/confluence/display/Hive/GettingStarted
3. 下載地址
http://archive.apache.org/dist/hive/
4. github地址
https://github.com/apache/hive
5. 也可以使用我準備好的安裝包
https://pan.baidu.com/s/1Tus7NAV0Scbj9wesQkyr-A
二. Hive安裝
1. 上傳
使用FTP工具把apache-hive-1.2.1-bin.tar.gz上傳到hadoop100下的的/opt/software目錄
2. 解壓
解壓apache-hive-1.2.1-bin.tar.gz到/opt/module/目錄
tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /opt/module/
3. 重新命名
修改apache-hive-1.2.1-bin.tar.gz的名稱為hive-1.2.1
mv apache-hive-1.2.1-bin/ hive-1.2.1
4. 配置hive-env
cd /opt/module/hive-1.2.1/conf #拷貝一份hive-env.sh.template命名為 hive-env.sh cphive-env.sh.template hive-env.sh
設定一下HADOOP_HOME和HIVE_CONF_DIR
5. 使用mysql替換掉預設的derby資料庫
由於derby不支援多客戶端登入,也就是同一時間只能有一個人操作,這完全就是扯求蛋.所以要替換
安裝前,如果虛機上有mysql了,就不用安裝了,如果想重新安裝,務必解除安裝乾淨
#檢視是否有mysql rpm -qa | grep -i mysql #解除安裝mysql的安裝元件 sudo rpm -e MySQL-server-5.6.24-1.el6.x86_64 #查詢並刪除MySQL相關的檔案sudo find / -name mysql sudo rm -rf /var/lib/mysql sudo rm -rf /usr/lib64/mysql
使用ftp工具將網盤中的mysql的zip包上傳到linux上
使用unzip解壓
unzip mysql-libs.zip
cd mysql-libs
安裝mysql的server和client就不再贅述了,記得安裝的時候使用sudo,修改root使用者的登入host為%,刪掉其他三個,也不要忘了update完之後flush privileges;
安裝完後啟動mysql server,如果啟動失敗,試試加上sudo啟動
解壓connector
tar -zxvf mysql-connector-java-5.1.27.tar.gz
解壓完cd進去,將jar拷貝到hive
cp mysql-connector-java-5.1.27-bin.jar /opt/module/hive-1.2.1/lib/
cd到hive的conf目錄下,cat一下hive-default.xml.template
明確說明,要建一個hive-site.xml檔案
vim hive-site.xml
注意替換mysql的uri和user pwd
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop100:3306/metastore?createDatabaseIfNotExist=true</value> <description>JDBC connect string for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> <description>username to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>qwe123</value> <description>password to use against metastore database</description> </property> </configuration>
6. 配置log的存放目錄
Hive的log預設存放在/tmp/nty/hive.log目錄下(當前使用者名稱下)
1). 修改/opt/module/hive/conf/hive-log4j.properties.template檔名稱為hive-log4j.properties
mv hive-log4j.properties.template hive-log4j.properties
2). 在hive-log4j.properties檔案中修改log存放位置,
三. Hive初體驗
首先啟動Hadoop叢集
#hadoop100上啟動hdfs sbin/start-dfs.sh #hadoop101上啟動yarn sbin/start-yarn.sh
接下來基本就像操作mysql一樣了
有一個default庫
空庫,沒有表,那就建立一個
create table namelist (id int, name string);
插入一條資料
insert into namelist (id, name) values (1,'tom');
完完全全就是一個MapReduce程式,慢到下跪.
查詢一下
簡單的操作基本就是這樣,跟mysql沒有差太多.