hive版本:
apache-hive-2.3.6-bin.tar.gz
下载地址:Index of /dist/hive/hive-2.3.6
#放入hadoop用户的soft目录下
#解压文件
cd soft
tar zxvf apache-hive-2.3.6-bin.tar.gz
#将解压文件放入home目录
mv apache-hive-2.3.6-bin home/
#查看文件路径
cd home/apache-hive-2.3.6-bin/
pwd
#添加环境变量
vi ~/.bash_profile
添加
export HIVE_HOME=/soft/home/apache-hive-2.3.6-bin
export PATH=$HIVE_HOME/bin:$PATH
更新
source ~/.bash_profile
Q:命令行报错command not found
可能时输入切换用户命令时使用了su root 而不是su - root
su root 命令只是切换了用户,但是相对应的环境变量还是原来用户的;如果用 su - root 命令的时候,不仅切换用户同时将环境变量切换,这样 lighttpd的环境变量也加载了
其他方法:
A: 解决方法1
解决方法2
#修改配置文件
cd home/apache-hive-2.3.6-bin/
cd conf/
复制配置文件
修改hive-env.sh
添加
export JAVA_HOME=/soft/home/jdk1.8.0_191
export HADOOP_HOME=/soft/home/hadoop-2.8.5
export HIVE_CONF_DIR=/soft/home/apache-hive-2.3.6-bin/conf
修改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/metastore?createDatabaseIfNotExist=true</value>
<description>the URL of the MySQL database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver classname for a JDBC meta store</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/hive/warehouse</value>
</property>
<property>
<name>hive.exec.scratchdir</name>
<value>/hive/tmp</value>
</property>
<property>
<name>hive.querylog.location</name>
<value>/hive/log</value>
</property>
</configuration>
#安装mysql
sudo yum install mysql-server
Q:
A:
参考教程 CentOS7安装mysql提示“No package mysql-server available - 简书
#启动mysql
service mysql start
#下载MySQL driver
版本 mysql-connector-java-5.1.22-bin.jar
地址:https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.22
移动到/soft/home目录下
复制到hive的lib目录下
#在mysql中创建名为hive的数据库,用来保存hive的元数据
登录MySQL数据库
mysql -u root -p
创建数据库
create database hive;
#配置MySQL,允许Hive接入
#启动Hive
启动Hive之前确保先启动hadoop
因为配置了环境变量,所以直接命令行输入
hive
#在HDFS上创建相关目录
#初始化hive数据
cd /soft/home/apache-hive-2.3.6-bin/bin
./schematool --dbType mysql --initSchema
生成了一个metastore的元数据库
# 启动hive的元数据服务
成功启动
Q:
A:
参考博客:Could not create ServerSocket on address 0.0.0.0/0.0.0.0:9083_zhangvalue的博客-CSDN博客
#检查是否可启动hive
exit; 退出
#启动支持jdbc的查询服务
#通过beeline连接hiveserver2
执行 ./beeline -h 查看beeline的连接命令
执行连接命令
连接成功
Q:
A:
参考教程
#退出beeline
!quit
#验证服务状态的两种方式
#Hive的基本使用参考教程