Hadoop及相關(guān)組件搭建指導(dǎo)WeChat:h19396218469
hadoop-3.1.3
jdk-8u162-linux-x64
apache-hive-3.1.2-bin
本案例軟件包:鏈接:https://pan.baidu.com/s/1ighxbTNAWqobGpsX0qkD8w
提取碼:lkjh(若鏈接失效在下面評(píng)論,我會(huì)及時(shí)更新)
一、安裝Hive
1.解壓Hive安裝包
先進(jìn)入文件存放目錄Downloads,再執(zhí)行如下命令。
sudo tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /usr/local #將文件解壓到/usr/local/中
cd /usr/local/ #進(jìn)入/usr/local/文件夾
sudo mv apache-hive-3.1.2-bin hive #將文件名修改為hive
sudo chown -R dblab:dblab hive #修改文件權(quán)限
上面的dblab:dblab是用戶組和用戶名,根據(jù)自身情況進(jìn)行更改
2.配置環(huán)境變量
使用vim編輯器打開.bashrc文件。
vim ~/.bashrc
在文件最前面添加如下內(nèi)容:
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
export HADOOP_HOME=/usr/local/hadoop
HADOOP_HOME需要被配置成你機(jī)器上的Hadoop安裝路徑。
保存退出,運(yùn)行如下命令令配置生效。
source ~/.bashrc
3.修改/usr/local/hive/conf下的hive-site.xml
執(zhí)行如下命令
cd /usr/local/hive/conf
mv hive-default.xml.template hive-default.xml #修改文件名
使用vim編輯器新建一個(gè)配置文件hive-site.xml。
cd /usr/local/hive/conf
vim hive-site.xml
在hive-site.xml中添加如下配置信息。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</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>hive</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
<description>password to use against metastore database</description>
</property>
</configuration>
保存退出。
二、安裝并配置mysql
本文這里采用了yum安裝方式。
1、配置阿里鏡像
首先將鏡像修改為國(guó)內(nèi)阿里云倉庫repo。
(1)備份現(xiàn)有repo倉庫
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
(2)下載并使用阿里云倉庫repo
curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Aliyun.repo
(3)更新yum
yum clean all
yum makecache
2、yum命令安裝MySQL
(1)查看系統(tǒng)是否自帶MySQL
yum list installed | grep mysql
(2)如果已安裝,則卸載,使用命令:
yum -y remove mysql-libs.x86_64
(3)查看yum庫上MySQL的版本信息,命令:
yum list | grep mysql 或 yum -y list mysql*
(4)使用yum安裝MySQL數(shù)據(jù)庫
yum -y install mysql-server mysql mysql-devel
(5)查看MySQL版本信息
rpm -qi mysql-server
(6)啟動(dòng)MySQL,執(zhí)行命令
service mysqld start
如需要開機(jī)啟動(dòng)
chkconfig mysqld on
(7)數(shù)據(jù)庫安全配置向?qū)?/h5>
mysql_secure_installation
mysql_secure_installation
按提示一步一步操作。
(8)登入MySQL
mysql -uroot -p
(9)新建hive數(shù)據(jù)庫
mysql> create database hive; #這個(gè)hive數(shù)據(jù)庫與hive-site.xml中l(wèi)ocalhost:3306/hive的hive對(duì)應(yīng),用來保存hive元數(shù)據(jù)
(10)配置MySQL允許Hive接入
mysql> grant all on *.* to hive@localhost identified by 'hive'; #將所有數(shù)據(jù)庫的所有表的所有權(quán)限賦給hive用戶,后面的hive是配置hive-site.xml中配置的連接密碼
mysql> flush privileges; #刷新mysql系統(tǒng)權(quán)限關(guān)系表
(11)以上步驟完成之后啟動(dòng)hive即可
start-dfs.sh #啟動(dòng)Hadoop的HDFS
hive #啟動(dòng)hive
三、啟動(dòng)Hive可能出現(xiàn)的問題
錯(cuò)誤1
java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument
原因:
hive內(nèi)的guava.jar和hadoop內(nèi)的版本不一致
解決方法:文章來源:http://www.zghlxwxcb.cn/news/detail-477832.html
(1)查看hadoop安裝目錄下share/hadoop/common/lib內(nèi)的guava.jar版本
cd /usr/local/hadoop/share/common/lib #進(jìn)入目標(biāo)文件夾
ll #查看guava.jar版本
(2)查看hive安裝目錄下lib內(nèi)的guava.jar版本
cd /usr/local/hive/lib
ll
(3)如果兩者版本不一致,刪除版本低的,拷貝版本高的
rm -rf 文件名 #刪除命令
cp 復(fù)制文件所在路徑 粘貼文件目標(biāo)路徑 #拷貝命令
錯(cuò)誤2
需要將鏈接MySQL的驅(qū)動(dòng)jar包拷貝到hive的lib文件夾下文章來源地址http://www.zghlxwxcb.cn/news/detail-477832.html
cd Downloads #找到mysql-connector-java-5.1.40.tar.gz文件存放目錄
sudo tar -zxvf mysql-connector-java-5.1.40.tar.gz -C /usr/local #解壓文件到指定文件夾
cd /usr/local
cp mysql-connector-java-5.1.40/mysql-connector-java-5.1.40-bin.jar /usr/local/hive/lib #將包拷貝到hive的lib文件夾下
到了這里,關(guān)于9.Linux虛擬機(jī)下Hive的安裝配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!