1、hive是一套操作數(shù)據(jù)倉庫的應(yīng)用工具,通過這個工具可實現(xiàn)mapreduce的功能
2、hive的語言是hql[hive query language]
3、官網(wǎng)hive.apache.org 下載hive軟件包地址?Welcome! - The Apache Software Foundationhttps://archive.apache.org/
4、hive在管理數(shù)據(jù)時分為元數(shù)據(jù)和真數(shù)據(jù),其中元數(shù)據(jù)要保存在數(shù)據(jù)庫中,比如mysql,真數(shù)據(jù)保存在hdfs中
5、Hive環(huán)境搭建
(01)檢測系統(tǒng)是否自帶安裝 MySQL:rpm -qa | grep mysql
(02)若有安裝mysql則卸載:rpm -e mysql 或 rpm -e --nodeps mysql
(03)檢測是否已安裝自帶的 mariadb 數(shù)據(jù)庫:rpm -qa|grep mariadb
(04)若有安裝則卸載:rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64
(05)把安裝包MySQL-5.5.40-1.linux2.6.x86_64.rpm-bundle.tar.gz復(fù)制到/opt/software目錄下
(06)創(chuàng)建目錄:mkdir /opt/software/mysql
(07)解壓到指定目錄下:tar -xvf MySQL-5.5.40-1.linux2.6.x86_64.rpm-bundle.tar -C ./mysql
(08)安裝服務(wù)器:rpm -ivh MySQL-server-5.5.40-1.linux2.6.x86_64.rpm
? ? ? 【注】若安裝中提示缺少依賴包則安裝:yum -y install libaio 或 yum -y install perl
(09)安裝客戶端:rpm -ivh MySQL-client-5.5.40-1.linux2.6.x86_64.rpm
(10)啟動 mysql 服務(wù):systemctl start mysql
(11)查看 mysql 服務(wù)狀態(tài):systemctl status mysql
? ? ? 【注】可以通過 systemctl stop mysql 關(guān)閉 mysql 服務(wù)
(12)登錄 mysql 客戶端:mysql -uroot -p 未設(shè)密碼直接回車
(13)設(shè)置 mysql root 用戶密碼:set password=password('123');
(14)退出客戶端:exit 然后重新登錄測試密碼是否生效:mysql -uroot -p123 并查看數(shù)據(jù)庫信息
(15)查看 mysql 數(shù)據(jù)庫的 user 表:select host,user,password from mysql.user;
(16)若讓 root 用戶可以遠(yuǎn)程連接的設(shè)置:
? ? ? grant all privileges on *.* to `root`@`%` identified by '123';
? ? ? grant all privileges on *.* to `root`@`hadoop101` identified by '123';
? ? ? flush privileges;
? ? ? exit;
(17)重新啟動 mysql 服務(wù):systemctl restart mysql.service
(18)通過windows端測試遠(yuǎn)程訪問:mysql -hhadoop101 -uroot -p123
(19)將軟件包 hive-1.1.0-cdh5.14.2.tar.gz 上傳到 /opt/software 目錄下
(20)解壓到指定的目錄:tar -zxvf hive-1.1.0-cdh5.14.2.tar.gz -C /opt/install
(21)配置軟鏈接:ln -s /opt/install/hive-1.1.0-cdh5.14.2 /opt/install/hive
(22)配置環(huán)境變量:vi /etc/profile
? ? ? export HIVE_HOME=/opt/install/hive
? ? ? export PATH=$PATH:$HIVE_HOME/bin
(23)使環(huán)境變量生效:source /etc/profile
(24)創(chuàng)建Hive配置文件:vi /opt/install/hive/conf/hive-site.xml
<configuration>
? ? <property>
? ? ? ? <name>hive.metastore.warehouse.dir</name>
? ? ? ? <value>/hadoop/hive/warehouse</value>
? ? </property>
? ? <!-- mysql 數(shù)據(jù)配置 -->
? ? <property>
? ? ? ? <name>javax.jdo.option.ConnectionURL</name>
? ? ? ? <value>jdbc:mysql://hadoop101:3306/hive?useUnicode=true&characterEncoding=utf8&createDatabaseIfNotExist=true</value>
? ? </property>
? ? <property>
? ? ? ? <name>javax.jdo.option.ConnectionDriverName</name>
? ? ? ? <value>com.mysql.jdbc.Driver</value>
? ? </property>
? ? <property>
? ? ? ? <name>javax.jdo.option.ConnectionUserName</name>
? ? ? ? <value>root</value>
? ? </property>
? ? <property>
? ? ? ? <name>javax.jdo.option.ConnectionPassword</name>
? ? ? ? <value>123</value>
? ? </property>
? ? <!-- 配置 Hive 臨時文件存儲地址 -->
? ? <property>
? ? ? ? <name>hive.exec.scratchdir</name>
? ? ? ? <value>/hadoop/hive/data/hive-${user.name}</value>
? ? </property>
? ? <property>
? ? ? ? <name>hive.exec.local.scratchdir</name>
? ? ? ? <value>/hadoop/hive/data/${user.name}</value>
? ? </property>
</configuration>
(25)復(fù)制文件:cp hive-env.sh.template hive-env.sh
(26)修改文件:vi hive-env.sh
? ? ? HADOOP_HOME=/opt/install/hadoop
? ? ? export HIVE_CONF_DIR=/opt/install/hive/conf
? ? ? export HIVE_AUX_JARS_PATH=/opt/install/hive/lib
(27)創(chuàng)建目錄:mkdir -p /opt/install/hive/logs
(28)復(fù)制文件:cp hive-log4j.properties.template hive-log4j.properties
(29)修改文件:vi hive-log4j.properties
? ? ? hive.log.dir=/opt/install/hive/logs
(30)上傳 mysql-connector-java-5.1.47-bin.jar 到 /opt/install/hive/lib/ 目錄下
(31)啟動 hive :hive 直接回車【注】先啟動hdfs、yarn和mysql
(32)查看元數(shù)據(jù)庫信息:show databases;
(33)進(jìn)入 mysql 中,查看有無 hive 數(shù)據(jù)庫
?【注】若需為字段名和表添加中文注釋,可修改以下內(nèi)容
ALTER TABLE DBS MODIFY COLUMN `DESC` VARCHAR(4000) CHARACTER SET utf8;
ALTER TABLE TABLE_PARAMS MODIFY COLUMN PARAM_VALUE TEXT CHARACTER SET utf8;
ALTER TABLE COLUMNS_V2 MODIFY COLUMN COMMENT VARCHAR(256) CHARACTER SET utf8;
ALTER TABLE PARTITION_PARAMS MODIFY COLUMN PARAM_VALUE VARCHAR(4000) CHARACTER SET utf8;
ALTER TABLE PARTITION_KEYS MODIFY PKEY_COMMENT VARCHAR(4000) CHARACTER SET utf8;
#ALTER TABLE INDEX_PARAMS MODIFY COLUMN PARAM_VALUE VARCHAR(4000) CHARACTER SET utf8;
ALTER TABLE TBLS MODIFY COLUMN VIEW_EXPANDED_TEXT MEDIUMTEXT CHARACTER SET utf8;
ALTER TABLE TBLS MODIFY COLUMN VIEW_ORIGINAL_TEXT MEDIUMTEXT CHARACTER SET utf8;
(34)退出 mysql
(35)停止所有服務(wù),包括(hiveserver2,rm,nm,dn,nn)[mysql]
(36)做快照
6、啟動客戶端:
(1)確定先啟動hdfs,yarn,mysql,然后再啟動hive
(2)確定先啟動hdfs,yarn,mysql,然后啟動服務(wù):
? ? ?hive --service hiveserver2 &
? ? ?最后啟動beeline -u jdbc:hive2://hadoop101:10000/default -n root
(3)退出hive:?? ?exit;
(4)退出beeline:!exit
7、常用命令:
進(jìn)入方式:hive---------------------beeline
連接: ? ?N/A----------------------!connect jdbc:hive2://hadoop101:10000
查詢所有數(shù)據(jù)庫:show databases;
查詢當(dāng)前數(shù)據(jù)庫:select current_database();
切換當(dāng)前數(shù)據(jù)庫:use 數(shù)據(jù)庫名;
查詢所有數(shù)據(jù)表:show tables;[!table(s)]
查詢表中所有列:desc 表名;[!column 表名]
保存輸出: N/A--------------------!record 文件名
執(zhí)行l(wèi)inux命令:!命令;---------------!sh 命令
執(zhí)行hdfs命令:dfs -命令;
執(zhí)行sql腳本:source 文件名;[!run 文件名]
退出:quit; or exit;------------------!quit or !exit [注!close關(guān)閉連接]
8、啟動hive的步驟:
(1)systemctl start|status mysql
(2)hadoop-daemon.sh start namenode
(3)hadoop-daemon.sh start datanode
(4)yarn-daemon.sh start resourcemanager
(5)yarn-daemon.sh start nodemanager
(6)hiveserver2 &
(7)beeline文章來源:http://www.zghlxwxcb.cn/news/detail-757665.html
9、集群安裝hive注意事項:
(1)在102上安裝mysql服務(wù)
(2)啟動集群zk,hdfs,yarn服務(wù)
(3)在102上啟動metastore服務(wù),
? ? ?hive --service metastore &
? ? ?其他機(jī)器需配置hive-site.xml
? <configuration>
? ? <property>
? ? ? <name>hive.metastore.uris</name>
? ? ? <value>thrift://hadoop102:9083</value>
? ? </property>
? </configuration>
? 然后啟動客戶端hive即可
(4)在102上啟動hiveserver2服務(wù),
? ? ?hive --service hiveserver2 & 或 hiveserver2 &
? ? ?其他機(jī)器無需配置hive-site.xml,可直接通過啟動客戶端beeline即可
? ? ?beeline -ujdbc:hive2://hadoop102:10000 -uroot文章來源地址http://www.zghlxwxcb.cn/news/detail-757665.html
到了這里,關(guān)于hive數(shù)據(jù)倉庫工具的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!