您好,登錄后才能下訂單哦!
環境要求:
hadoop
hive版本為:apache-hive-1.2.1-bin.tar
1.設置hive用戶
進入mysql命令行,創建hive用戶并賦予所有權限:
mysql -uroot -proot
mysql>create user 'hive' identified by 'hive';
mysql>grant all on *.* TO 'hive'@'%' with grant option;
mysql>flush privileges;
2.創建hive數據庫
使用hive用戶登錄,創建hive數據庫:
mysql -uhive -phive
mysql>create database hive;
mysql>show databases;
3.安裝Hive
下載hive安裝文件
可以到Apache基金hive官網http://hive.apache.org/downloads.html,選擇鏡像下載地址:http://mirrors.cnnic.cn/apache/hive/下載一個穩定版本,
把mysql驅動放到hive的lib目錄下
把下載的hive安裝包和mysql驅動包,使用
cd /home/hadoop/Downloads
cp mysql-connector-java-5.1.34-bin.jar /usr/local/hive-0.12.0/lib
4.配置/etc/profile環境變量
使用如下命令打開/etc/profile文件:
sudo vi /etc/profile
#set hive path
export HIVE_HOME=/usr/local/hive export PATH=$PATH:$HIVE_HOME/bin export CLASSPATH=$CLASSPATH:$HIVE_HOME/bin
使配置文件生效:
source /etc/profile
5.設置hive-env.sh配置文件
進入hive-0.12.0/conf目錄,復制hive-env.sh.templaete為hive-env.sh:
cd /usr/local/hive-0.12.0/conf
cp hive-env.sh.template hive-env.sh
ls
vi hive-env.sh
分別設置HADOOP_HOME和HIVE_CONF_DIR兩個值:
6.設置hive-site.xml配置文件
復制hive-default.xml.templaete為hive-site.xml
cp hive-default.xml.template hive-site.xml
sudo vi hive-site.xml
(1)加入配置項
默認metastore在本地,添加配置改為非本地 可以忽略此步
<property> <name>hive.metastore.local</name> <value>false</value> </property>
(2) 修改配置項
hive默認為derby數據庫,需要把相關信息調整為mysql數據庫
<property> <name>hive.metastore.uris</name> <value>thrift://hadoop1:9083</value> <description>Thrift URI for the remote metastore. ...</description> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop1:3306/hive?=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>hive</value> <description>username to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>hive</value> <description>password to use against metastore database</description> </property>
(3) 訂正錯誤項
在配置文件2000行左右配置項hive.server2.thrift.sasl.qop原來為<value>auth</auth>,按照如下進行修改:
<property> <name>hive.server2.thrift.sasl.qop</name> <value>auth</value> <des..... </property>
并把hive.metastore.schema.verification配置項值修改為false
<property> <name>hive.metastore.schema.verification</name> <value>false</value> <desc....> </property>
7.驗證部署
啟動metastore和hiveserver
在使用hive之前需要啟動metastore和hiveserver服務,通過如下命令啟用:
把MySQL的JDBC驅動包復制到Hive的lib目錄下。
JDBC驅動包的版本:mysql-connector-java-5.1.18-bin.jar
以下也可以忽略
hive --service metastore &
hive --service hiveserver &
啟動用通過jps命令可以看到兩個進行運行在后臺
8.在hive中操作
登錄hive,在hive創建表并查看該表,命令如下:
hive
hive>create table test(a string, b int);
hive>show tables;
hive>desc test;
不能正常啟動,處理方式為:
http://blog.csdn.net/olfisher/article/details/48730229
Terminal initialization failed; falling back to unsupported 原因是hadoop目錄下存在老版本jline: /hadoop-2.5.2/share/hadoop/yarn/lib: -rw-r--r-- 1 root root 87325 Mar 10 18:10 jline-0.9.94.jar 解決方法是: 將hive下的新版本jline的JAR包拷貝到hadoop下: cp /hive/apache-hive-1.1.0-bin/lib/jline-2.12.jar ./ /hadoop-2.5.2/share/hadoop/yarn/lib: -rw-r--r-- 1 root root 87325 Mar 10 18:10 jline-0.9.94.jar.bak-rw-r--r-- 1 root root 213854 Mar 11 22:22 jline-2.12.jar
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。