1、 下载
1.1 下载地址
当前最新版本是apache-hive-4.0.0-appha-1,所以就下载当前版本,Index of /hive/hive-4.0.0-alpha-1 (apache.org)
2、 安装
2.2 解压
tar -zxvf apache-hive-4.0.0-alpha-1-bin.tar.gz
2.3 重命名
mv apache-hive-4.0.0-alpha-1-bin hive
2.4 创建环境变量
2.5 更新环境变量
source /etc/profile
3、 修改hive配置
3.1 进入 conf目录,把所有template后缀的文件移除后缀
3.2 备份hive-default.xml
mv hive-default.xml hive-default.xml.bak
3.3 根据hive-default.xml.bak 创建hive-site.xml
cp hive-default.xml.bak hive-site.xml
3.4 修改 hive-env.sh
vim hive-env.sh
在hive-env.sh 添加下面几行
#jdk
export JAVA_HOME=/home/server/jdk1.8.0_333
#hadoop安装目录
export HADOOP_HOME=$HADOOP_HOME
#hadoop #配置文件
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
#hive安装目录
export HIVE_HOME=/ home/server/hive
#hive配置文件
export HIVE_CONF_DIR=$HIVE_HOME/conf
export HIVE_AUX_JARS_PATH=$HIVE_HOME/lib
3.5 修改hive-log4j2.properties 文件,配置hive运行日志
注释掉原peoperty.hive.log.dir
新增peoperty.hive.log.dir = /home/server/hive/logs
注意:如果在hive安装目录下没有logs目录,需要先创建文件夹
mkdir logs
3.6 在hive安装目录下创建tmp/hive、warehouse、 querylog
mkdir -p tmp/hive
mkdir warehouse
mkdir querylog
3.7 修改hive-site.xml
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>system:java.io.tmpdir</name>
<value>/home/server/hive/tmp/hive</value>
</property>
<property>
<name>system:user.name</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&characterEncoding=latin1&useSSL=false&serverTimezone=UTC</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>datanucleus.readOnlyDatastore</name>
<value>false</value>
</property>
<property>
<name>datanucleus.fixedDatastore</name>
<value>false</value>
</property>
<property>
<name>datanucleus.autoCreateSchema</name>
<value>true</value>
</property>
<property>
<name>datanucleus.schema.autoCreateTables</name>
<value>true</value>
</property>
<property>
<name>datanucleus.autoCreateColumns</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
<property>
<name>hive.exec.scratchdir</name>
<value>/home/server/hive/tmp</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/home/server/hive/warehouse</value>
</property>
<property>
<name>hive.querylog.location</name>
<value>/home/server/hive/querylog</value>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>localhost</value>
</property>
</configuration>
3.8 上传mysql驱动包到hive/lib目录下
3.9 启动 hive
a、cd $HIVE/bin ./hive
b、hive
注意:启动hive 需要先执行schematool -dbType mysql -initSchema ,命令 初始化;再执行 ./hive --service metastore & 如果启动时报下面这个错误
com.google.common.base.Preconditions.checkArgument,是由于hive和 hadoop中的guava版本不一致导致的,可以进去hive/lib和$HADOOP_HOME/ share/hadoop/common/lib对比查看同步两个版本(留下高版本的jar)
如果报Failed to initialize pool: The server time zone value 'PDT' is unrecognized or represents more than one time zone 需要修改conf/hive-site.xml 中的jdbc连接,增加时区serverTimezone配置
jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&ch aracterEncoding=latin1&useSSL=false&serverTimezone=UTC
如果报message:Version information not found in metastore.是版本问题,可以在hive-site.xml 增加hive.metastore.schema.verification 值设置为false
metastore 启动成功界面是
metastore 进程
hive启动日志为
再执行hive --service hiveserver2 > hiveserser2.out &
3.10 连接
输入hive 进入beeline界面
输入
!connect jdbc:hive2://localhost:10000
用户名和密码是连接的mysql的用户名密码