准备软件:
- apache-hive-3.1.2-bin
- 数据库中新建一个空的数据库hive(名称可以自己指定)
step by step
1. 我使用的是软件apache-hive-3.1.2-bin.tar.gz,放置在目录/opt
2. 解压,执行下列命令。
tar -zxvf apache-hive-3.1.2-bin.tar.gz
3. 进入hive目录
cd apache-hive-3.1.2-bin
4. 配置环境变量
export HIVE_HOME=/opt/apache-hive-3.1.2-bin
export PATH=$PATH:$HIVE_HOME/bin
5. 使配置生效
source /etc/profile
6. 验证,查看hive版本。hive --version
[root@ecs-x-large-4-linux-20200217121642 opt]# hive --version
Hive 3.1.2
Git git://HW13934/Users/gates/tmp/hive-branch-3.1/hive -r 8190d2be7b7165effa62bd21b7d60ef81fb0e4af
Compiled by gates on Thu Aug 22 15:01:18 PDT 2019
From source with checksum 0492c08f784b188c349f6afb1d8d9847
7. 进入安装目录进行配置。
7.1 执行下列命令
cd $HIVE_HOME/conf
cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-default.xml
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties
cp hive-log4j2.properties.template hive-log4j2.properties
cp beeline-log4j2.properties.template beeline-log4j2.properties
7.2 修改hive-site.xml。
vi hive-site.xml
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false</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>javax.jdo.option.ConnectionPassword</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.autoCreateAll</name>
<value>true</value>
</property>
<property>
<name>datanucleus.autoCreateTables</name>
<value>true</value>
</property>
<property>
<name>datanucleus.autoCreateColumns</name>
<value>true</value>
</property>
<!-- 显示表的列名 -->
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<!-- 显示数据库名称 -->
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
</configuration>
7.4 修改hive-log4j2.properties。默认为临时目录里。
vi hive-log4j2.properties
property.hive.log.dir = ${sys:java.io.tmpdir}/${sys:user.name}
8:数据库初始化,进入bin目录
schematool -initSchema -dbType mysql
9:这时到hive数据库中可以看到新增了好多表
10:启动hive服务
hive --service metastore
11:使用,进入交互模式并输入命令
hive
create database db_hive_edu;
use db_hive_edu;
create table student(id int,name string) row format delimited fields terminated by '\t';
show tables;
12:hdfs也可以验证,(待补充)
13 :启动hive的命令
启动metastore
nohup hive --service metastore 2>&1 &
启动hiveserver2
nohup hive --service hiveserver2 2>&1 &
注意!如果 hiveserver2 不启动,jdbc将无法正常连接