搭建步驟
- JDK環(huán)境
- Hadoop集群環(huán)境
- Mysql安裝
- Hive安裝
JDK安裝、Hadoop集群環(huán)境搭建
由于Hive底層依賴(lài)于Hadoop的HDFS和MapReduce,所以首先要搭建Hadoop的集群環(huán)境,在前篇中已經(jīng)介紹JDK和Hadoop的相關(guān)搭建方式,需要的同學(xué)可以參考下
Mysql安裝
準(zhǔn)備工作
卸載舊版
先使用rpm -qa查詢(xún)是否已安裝mariadb或者mysql,若有,使用rpm -e --nodeps刪除刪除相關(guān)目錄
find / -name mysql找出mysql相關(guān)目錄,清理干凈
RPM方式安裝
-
tar -xvf解壓下載的tarball
[root@test-68 mysqlrpm]# tar -xvf mysql-8.0.22-1.el7.x86_64.rpm-bundle.tar
mysql-community-client-8.0.22-1.el7.x86_64.rpm
mysql-community-client-plugins-8.0.22-1.el7.x86_64.rpm
mysql-community-common-8.0.22-1.el7.x86_64.rpm
mysql-community-devel-8.0.22-1.el7.x86_64.rpm
mysql-community-embedded-compat-8.0.22-1.el7.x86_64.rpm
mysql-community-libs-8.0.22-1.el7.x86_64.rpm
mysql-community-libs-compat-8.0.22-1.el7.x86_64.rpm
mysql-community-server-8.0.22-1.el7.x86_64.rpm
mysql-community-test-8.0.22-1.el7.x86_64.rpm
- 按照common、libs、client、server的順序依次安裝
[root@test-68 mysqlrpm]# rpm -ivh mysql-community-common-8.0.22-1.el7.x86_64.rpm --nodeps
warning: mysql-community-common-8.0.22-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mysql-community-common-8.0.22-1.e################################# [100%]
[root@test-68 mysqlrpm]# rpm -ivh mysql-community-libs-8.0.22-1.el7.x86_64.rpm --nodeps
warning: mysql-community-libs-8.0.22-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mysql-community-libs-8.0.22-1.el7################################# [100%]
[root@test-68 mysqlrpm]# rpm -ivh mysql-community-libs-compat-8.0.22-1.el7.x86_64.rpm --nodeps
warning: mysql-community-libs-compat-8.0.22-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mysql-community-libs-compat-8.0.2################################# [100%]
[root@test-68 mysqlrpm]# rpm -ivh mysql-community-client-8.0.22-1.el7.x86_64.rpm --nodeps
warning: mysql-community-client-8.0.22-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mysql-community-client-8.0.22-1.e################################# [100%]
root@test-68 mysqlrpm]# rpm -ivh mysql-community-server-8.0.22-1.el7.x86_64.rpm --nodeps
warning: mysql-community-server-8.0.22-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:mysql-community-server-8.0.22-1.e################################# [100%]
- 啟動(dòng)
service mysqld start - 查看啟動(dòng)狀態(tài)
service mysqld status - 查看初始密碼
cat /var/log/mysqld.log | grep password - 登陸
[root@test-68 mysqlrpm]# mysql -uroot -p
Enter password:
- 修改密碼
alter user 'root'@'localhost' identified with mysql_native_password by 'XXXXX' - 修改內(nèi)網(wǎng)訪(fǎng)問(wèn)
use mysql;
update user set Host='192.168.1.%' where User = 'root';
- 刷新修改
flush privileges
Hive安裝
tarball下載
解壓
cd /opt
tar -zxvf /root/apache-hive-3.1.2-bin.tar.gz
mv apache-hive-3.1.2-bin/ hive
配置環(huán)境變量
vim /etc/profile.d/hive.sh
##添加如下內(nèi)容后保存
export HIVE_HOME=/opt/hive
export PATH=$HIVE_HOME/bin:$PATH
##配置后重新加載profile
source /etc/profile
mysql驅(qū)動(dòng)
下載與安裝的mysql版本匹配的驅(qū)動(dòng)jar包,放入$HIVE_HOME/lib下
配置hive-site.xml
vim $HIVE_HOME/conf/hive-site.xml
##添加如下配置內(nèi)容
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--配置Hive Metastore-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.1.68:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.cj.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
</configuration>
修改hive對(duì)guava的依賴(lài)版本
啟動(dòng)的時(shí)候如果報(bào)java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument錯(cuò)誤,是由于guava的版本與hadoop的不一致導(dǎo)致的,可以將hive安裝目錄lib下的guava去除,替換成hadoop依賴(lài)的guava版本,hadoop的guava版本位置$HADOOP_HOME/share/hadoop/common/lib/guava-27.0-jre.jar
初始化
$HIVE_HOME/bin/schematool -dbType mysql -initSchema
執(zhí)行成功后,會(huì)在mysql中生成一些列相關(guān)的表,用于存儲(chǔ)hive相關(guān)的元數(shù)據(jù)
啟動(dòng)
由于已經(jīng)配置了hive相關(guān)的環(huán)境變量,直接執(zhí)行如下命令
hive
日志
默認(rèn)情況下,通過(guò)觀(guān)察/tmp/<user.name>/hive.log來(lái)了解hive運(yùn)行情況,也可通過(guò)修改conf/hive-log4j.properties的property.hive.log.dir來(lái)指定其他日志存放路徑