數據倉庫Hive安裝部署與測試練習

環境說明

10.176.2.101(10.176.2.121) master
10.176.2.103 zjx03
10.176.2.105 zjx05

cent-os6.5
zookeeper cdh 3.4.5
hadoop apache 2.7.7
jdk 1.8.191
mysql 5.17
sqoop 1.4.7
hbase 1.2.7
hive apache 2.3.4

安裝部署
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-2.3.4/apache-hive-2.3.4-bin.tar.gz -c /opt/softwares
或者
wget http://apache.mirrors.hoobly.com/hive/hive-2.3.4/apache-hive-2.3.4-bin.tar.gz -c /opt/softwares
cd /opt/softwares
tar -zxvf apache-hive-2.3.4-bin.tar.gz -c /opt/softwares
rm -rf apache-hive-2.3.4-bin.tar.gz
# 找到mysql-connector-java驅動jar包,在安裝sqoop時有使用該jar包,或者下載一個驅動包
cd /opt/softwares/sqoop-1.4.7.bin__hadoop-2.6.0/lib
cp mysql-connector-java-5.1.33.jar $HIVE_HOME/lib
# 配置環境變量
vim /etc/profile

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HIVE_HOME=/opt/softwares/apache-hive-2.3.4-bin
export PATH=$HIVE_HOME/bin:$PATH
source /etc/profile
配置hive-site.xml

操作前,由於該文件較大,內容多,使用vim編輯器的常用功能,如查找修改
:/word 在文件中查找內容爲word的字符串(向下查找)
:?word 在文件中查找內容爲word的字符串(向上查找)
[n] 表示重複查找動作,即查找下一個
[N] 反向查找下一個
:u 撤消上一個操作
:. 這是小數點鍵,重複上一個操作
vim編輯器常用操作總結參考:
https://www.cnblogs.com/jiayongji/p/5771444.html

cd /opt/softwares/apache-hive-2.3.4-bin/conf
cp hive-default.xml.template hive-site.xml
vim hive-site.xml
#修改以下內容(其中mysql數據庫在zjx03節點上,創建數據庫名爲hive)
<!-- 如果 mysql 和 hive 在同一個服務器節點,那麼請更改 zjx03爲 localhost -->
<property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://zjx03:3306/hive?characterEncoding=UTF8&amp;useSSL=false&amp;createDatabaseIfNotExist=true</value>
</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>
</property>
<property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>root</value>
    </property>
# 該文件最開始加上如下內容
<property>
    <name>system:java.io.tmpdir</name>
    <value>/tmp/hive/java</value>
</property>
<property>
    <name>system:user.name</name>
    <value>${user.name}</value>
</property>
驗證hive安裝
hive --help
運行hive客戶端
hive
或者
hive --service cli
初始化DB(初始化的操作一般只最開始執行一次,後續無需執行)
schematool -initSchema -dbType mysql
查看成功後的元數據

可以看到對應數據庫hive中,有了各種初始的表,使用navicat連接可以清楚看到。

啓動master,node節點

單機啓動

hive

集羣啓動

[root@master conf]# hive -hiveconf hbase.zookeeper.quorum=master,zjx03,zjx05
hive>
界面查看

http://master:50070

創建數據庫

創建後再查看web頁面會發現多了文件夾,可以點進去查看到myhive.db,同時在mysql數據庫(hive)的DBS表可以看到數據庫信息

hive> create database myhive;
# 查看數據庫
hive> show databases;
OK
default
myhive
# 使用數據庫
hive> use myhive;
# 創建表(創建表後在web界面可以在mysql數據庫的hive數據庫TBLS、COLUMNS_V2表中看到表的元數據)
create table student(id int, name string, sex string, age int, department string) row format delimited fields terminated by "," lines terminated by "\n";
# 重新打開一個session
[root@master ~]# mkdir -p /opt/softwares/apache-hive-2.3.4-bin/data
[root@master ~]# cd /opt/softwares/apache-hive-2.3.4-bin/data
[root@master data]# vim student.txt
# 內容如下
95002,劉晨,女,19,IS
95017,王風娟,女,18,IS
95018,王一,女,19,IS
95013,馮偉,男,21,CS
95014,王小麗,女,19,CS
95019,邢小麗,女,19,IS
95020,趙錢,男,21,IS
95003,王敏,女,22,MA
95004,張立,男,19,IS
95012,孫花,女,20,CS
95010,孔小濤,男,19,CS
95005,劉剛,男,18,MA
95006,孫慶,男,23,CS
95007,易思玲,女,19,MA
95008,李娜,女,18,CS
95021,週二,男,17,MA
# 再回到原hive session中,往其往創建好的student表中插入一份數據文件
hive> load data local inpath "/opt/softwares/apache-hive-2.3.4-bin/data/student.txt" into table student;
Loading data to table myhive.student
OK
Time taken: 4.357 seconds
hive> select * from student;
OK
95002   劉晨  女   19  IS
95017   王風娟 女   18  IS
95018   王一  女   19  IS
95013   馮偉  男   21  CS
95014   王小麗 女   19  CS
95019   邢小麗 女   19  IS
95020   趙錢  男   21  IS
95003   王敏  女   22  MA
95004   張立  男   19  IS
95012   孫花  女   20  CS
95010   孔小濤 男   19  CS
95005   劉剛  男   18  MA
95006   孫慶  男   23  CS
95007   易思玲 女   19  MA
95008   李娜  女   18  CS
95021   週二  男   17  MA
Time taken: 4.718 seconds, Fetched: 16 row(s)
退出hive
hive> exit;
或者
hive> quit;

部署參考:
https://blog.csdn.net/JENREY/article/details/79807418
https://blog.csdn.net/lsttoy/article/details/53406710
https://blog.csdn.net/vpqtxzmzezeqjj9977/article/details/80483019

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章