hadoop-3.1.3
jdk-8u162-linux-x64
apache-hive-3.1.2-bin
本案例软件包:链接:https://pan.baidu.com/s/1ighxbTNAWqobGpsX0qkD8w
提取码:lkjh(若链接失效在下面评论,我会及时更新)
先进入文件存放目录Downloads,再执行如下命令。
sudo tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /usr/local #将文件解压到/usr/local/中
cd /usr/local/ #进入/usr/local/文件夹
sudo mv apache-hive-3.1.2-bin hive #将文件名修改为hive
sudo chown -R dblab:dblab hive #修改文件权限
上面的dblab:dblab是用户组和用户名,根据自身情况进行更改
使用vim编辑器打开.bashrc文件。
vim ~/.bashrc
在文件最前面添加如下内容:
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
export HADOOP_HOME=/usr/local/hadoop
HADOOP_HOME需要被配置成你机器上的Hadoop安装路径。
保存退出,运行如下命令令配置生效。
source ~/.bashrc
执行如下命令
cd /usr/local/hive/conf
mv hive-default.xml.template hive-default.xml #修改文件名
使用vim编辑器新建一个配置文件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>
保存退出。
本文这里采用了yum安装方式。
首先将镜像修改为国内阿里云仓库repo。
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Aliyun.repo
yum clean all
yum makecache
yum list installed | grep mysql
yum -y remove mysql-libs.x86_64
yum list | grep mysql 或 yum -y list mysql*
yum -y install mysql-server mysql mysql-devel
rpm -qi mysql-server
service mysqld start
如需要开机启动
chkconfig mysqld on
mysql_secure_installation
按提示一步一步操作。
mysql -uroot -p
mysql> create database hive; #这个hive数据库与hive-site.xml中localhost:3306/hive的hive对应,用来保存hive元数据
mysql> grant all on *.* to hive@localhost identified by 'hive'; #将所有数据库的所有表的所有权限赋给hive用户,后面的hive是配置hive-site.xml中配置的连接密码
mysql> flush privileges; #刷新mysql系统权限关系表
start-dfs.sh #启动Hadoop的HDFS
hive #启动hive
java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument
原因:
hive内的guava.jar和hadoop内的版本不一致
解决方法:
cd /usr/local/hadoop/share/common/lib #进入目标文件夹
ll #查看guava.jar版本
cd /usr/local/hive/lib
ll
rm -rf 文件名 #删除命令
cp 复制文件所在路径 粘贴文件目标路径 #拷贝命令
需要将链接MySQL的驱动jar包拷贝到hive的lib文件夹下
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文件夹下