一、安裝hive
組件安排如下:
172.16.57.75 bd-ops-test-75 mysql-server172.16.57.77 bd-ops-test-77 Hiveserver2 HiveMetaStore
1.安裝hive
在77上安裝hive:
# yum install hive hive-metastore hive-server2 hive-jdbc hive-hbase -y
在其他節點上可以安裝客戶端:
# yum install hive hive-server2 hive-jdbc hive-hbase -y
2.安裝mysql
yum方式安裝mysql:
# yum install mysql mysql-devel mysql-server mysql-libs -y
啟動數據庫:
# 配置開啟啟動# chkconfig mysqld on# service mysqld start
安裝jdbc驅動:
# yum install mysql-connector-java# ln -s /usr/share/java/mysql-connector-java.jar /usr/lib/hive/lib/mysql-connector-java.jar
設置mysql初始密碼為bigdata:
# mysqladmin -uroot password 'bigdata'
進入數據庫后執行如下:
CREATE DATABASE metastore;USE metastore;SOURCE /usr/lib/hive/scripts/metastore/upgrade/mysql/hive-schema-1.1.0.mysql.sql;CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';GRANT ALL PRIVILEGES ON metastore.* TO 'hive'@'localhost';GRANT ALL PRIVILEGES ON metastore.* TO 'hive'@'%';FLUSH PRIVILEGES;
注意:創建的用戶為 hive,密碼為 hive ,你可以按自己需要進行修改。
修改 hive-site.xml 文件中以下內容:
<property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://172.16.57.75:3306/metastore?useUnicode=true&characterEncoding=UTF-8</value></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value></property>
3.配置hive
修改/etc/hadoop/conf/hadoop-env.sh,添加環境變量 HADOOP_MAPRED_HOME,如果不添加,則當你使用 yarn 運行 mapreduce 時候會出現 UNKOWN RPC TYPE 的異常
export HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce
在 hdfs 中創建 hive 數據倉庫目錄:
hive 的數據倉庫在 hdfs 中默認為 /user/hive/warehouse,建議修改其訪問權限為 1777,以便其他所有用戶都可以創建、訪問表,但不能刪除不屬于他的表。
每一個查詢 hive 的用戶都必須有一個 hdfs 的 home 目錄( /user 目錄下,如 root 用戶的為 /user/root)
hive 所在節點的 /tmp 必須是 world-writable 權限的。創建目錄并設置權限:
# sudo -u hdfs hadoop fs -mkdir /user/hive# sudo -u hdfs hadoop fs -chown hive /user/hive# sudo -u hdfs hadoop fs -mkdir /user/hive/warehouse# sudo -u hdfs hadoop fs -chmod 1777 /user/hive/warehouse# sudo -u hdfs hadoop fs -chown hive /user/hive/warehouse
修改hive-env設置jdk環境變量 :
# vim /etc/hive/conf/hive-env.shexport JAVA_HOME=/opt/programs/jdk1.7.0_67
啟動hive-server和metastore:
# service hive-metastore start# service hive-server2 start
4、測試
$ hive -e'create table t(id int);'$ hive -e'select * from t limit 2;'$ hive -e'select id from t;'
|
新聞熱點
疑難解答