CentOS7完美安裝Hive2.3.0java
花費了兩天時間,查閱了許多資料,才把hive成功安裝完成。下面將和你們分享下安裝和注意事項,但願你們能夠少走彎路!mysql
你們安裝的和修改配置文件的時候,必定要注意本身的安裝路徑和下載的軟件版本,不要盲目操做sql
1.前期準備數據庫
完成hadoop的安裝,你們能夠參考個人上篇文章進行安裝http://blog.csdn.net/yonjarluo/article/details/77800372apache
完成mysql的安裝,一樣能夠參考本人的併發
http://blog.csdn.net/yonjarluo/article/details/77879772ide
2.下載Hiveoop
wget http://mirror.bit.edu.cn/apache/hive/hive-2.3.0/apache-hive-2.3.0-bin.tar.gz
3.解壓到指定安裝目錄ui
tar -zxvf apache-hive-2.3.0-bin.tar.gz
spa
mv apache-hive-2.3.0-bin /usr/local/hive
cd /usr/local/hive
4.修改環境變量
vi /etc/profile
插入
export HIVE_HOME=/usr/local/hive
export PATH=$HIVE_HOME/bin:$PATH
使其修改當即生效
source /etc/profile
5.登陸mysql數據庫,並建立metastore數據庫,關閉新主庫的只讀屬性,爲其受權(用於存儲hive的初始化配置)
create database metastore;
set global read_only=0;
grant all on metastore.* to hive@'%' identified by 'hive';
grant all on metastore.* to hive@'localhost' identified by 'hive';
flush privileges;
當修改數據庫密碼出現如下報錯時:
Your password does not satisfy the current policy requirements
set global validate_password_policy=0;
set global validate_password_length=4;
若是不關閉數據庫的只讀屬性,執行
grant all on metastore.* to hive@'%' identified by 'hive';時,會報錯:
6.下載jdbc connector
點擊連接Connector/J 5.1.44下載至本地主機,而後再傳至
/usr/local/hive/lib
解壓,把解壓目錄下的mysql-connector-java-5.1.44-bin.jar包,拷貝到/usr/local/hive/lib目錄下
7.修改hive配置文件
cd /usr/local/hive/conf
複製初始化文件並重命名
cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
cp hive-log4j2.properties.template hive-log4j2.properties
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties
修改hive-env.sh文件
export JAVA_HOME=/usr/local/java/jdk1.8.0_141 ##Java路徑,根據本身jdk安裝的路徑配置
export HADOOP_HOME=/usr/local/hadoop ##Hadoop安裝路徑
export HIVE_HOME=/usr/local/hive ##Hive安裝路徑
export HIVE_CONF_DIR=/usr/local/hive/conf ##Hive配置文件路徑
啓動Hadoop:
在hdfs中建立一下目錄,並受權,用於存儲文件
hdfs dfs -mkdir -p /user/hive/warehouse
hdfs dfs -mkdir -p /user/hive/tmp
hdfs dfs -mkdir -p /user/hive/log
hdfs dfs -chmod -R 777 /user/hive/warehouse
hdfs dfs -chmod -R 777 /user/hive/tmp
hdfs dfs -chmod -R 777 /user/hive/log
修改hive-site.xml
<property>
<name>hive.exec.scratchdir</name>
<value>/user/hive/tmp</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<property>
<name>hive.querylog.location</name>
<value>/user/hive/log</value>
</property>
## 配置 MySQL 數據庫鏈接信息
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/metastore?createDatabaseIfNotExist=true&characterEncoding=UTF-8&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>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
建立tmp文件
mkdir /home/hadoop/hive-2.3.0/tmp
並在hive-site.xml中修改:
使用vi hive-site.xml,並使用搜索 / 功能
有好幾個{system:java.io.tmpdir},把全部的都修改
把{system:java.io.tmpdir} 改爲 <span style="font-size:18px;">/home/hadoop/hive-2.3.0/temp/</span>
把 {system:user.name} 改爲 {user.name}
8.初始化hive
schematool -dbType mysql -initSchema hive hive
9.啓動hive(兩種方式)
1.直接輸入:hive //直接進入,便可像操做mysql同樣(除了delete,update)
2.使用beeline方式:
必須先對hadoop的core-site.xml進行配置,在文件裏面添加並保存
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
若是沒有配置,使用jdbc鏈接時,會報以下錯誤:
先啓動hiveserver2
hiveserver2
查看hiveserver2啓動狀態
netstat -nptl | grep 10000
接着啓動beeline
beeline
最後使用jdbc鏈接數據庫
!connect jdbc:hive2://localhost:10000 hive hive
以上步驟即完成安裝!
注意:
1.hive默認不支持delete,update操做
2.關於併發配置的修改,動態分區的配置都是默認狀態
可根據需求,參考官網hive,修改hive-site.xml配置文件
本文參考:http://blog.csdn.net/lym152898/article/details/77334997,添加了細節部分!