- [root@master opt]# cd /usr/local/
- [root@master local]# tar -zxvf /opt/apache-hive-3.1.2-bin.tar.gz

重命名及更改权限
- mv apache-hive-3.1.2-bin hive
-
- chown -R hadoop:hadoop hive
![]()
- #编辑配置
- vi /etc/profile
- #配置hive环境变量
- export HIVE_HOME=/usr/local/hive
- export PATH=$PATH:$HIVE_HOME/bin
- #source使其生效
- source /etc/profile



- "1.0" encoding="UTF-8" standalone="no"?>
- "text/xsl" href="configuration.xsl"?>
- <configuration>
- <property>
- <name>javax.jdo.option.ConnectionURLname>
- <value>jdbc:mysql://master:3306/hivedb?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMTvalue>
- property>
-
- <property>
- <name>javax.jdo.option.ConnectionDriverNamename>
- <value>com.mysql.cj.jdbc.Drivervalue>
- property>
-
- <property>
- <name>javax.jdo.option.ConnectionUserNamename>
- <value>rootvalue>
- property>
-
- <property>
- <name>javax.jdo.option.ConnectionPasswordname>
- <value>rootvalue>
- property>
-
- <property>
- <name>hive.metastore.schema.verificationname>
- <value>falsevalue>
- property>
-
- <property>
- <name>hive.cli.print.current.dbname>
- <value>truevalue>
- property>
-
- <property>
- <name>hive.cli.print.headername>
- <value>truevalue>
- property>
-
- <property>
- <name>hive.server2.thrift.portname>
- <value>10000value>
- property>
-
- <property>
- <name>hive.server2.thrift.bind.hostname>
- <value>mastervalue>
- property>
- configuration>
- cd /opt
- # 下载MySQL驱动包
- wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.17/mysql-connector-java-8.0.17.jar
-
- cp mysql-connector-java-8.0.17.jar /usr/local/hive/lib/
![]()
- 登录mysql
- mysql -u root -p
- #创建hive元数据库
- create databases hive
- #这个hive数据库与hive-site.xml中localhost:3306/hive的hive对应,两者名称必须一致,用来保存hive元数据
- cd /usr/local/hive/bin
-
- ./schematool -initSchema -dbType mysql
- #使用Hive自带的schematool工具升级元数据,也就是把最新的元数据重新写入MySQL数据库中。
- 可以在终端中执行如下命令(注意,不是在“mysql>”命令提示下执行):

成功会出现下面两行

注:如果初始化失败了,要将hivedb中的ctlgs表删掉再初始化---->
不然启动会报错
Error: Table 'ctlgs' already exists (state=42S01,code=1050) org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED! Metastore state would be inconsistent !! Underlying cause: java.io.IOException : Schema script failed, errorcode 2 Use --verbose for detailed stacktrace. *** schemaTool failed ***
我已配置环境变量,所以直接在任意目录下执行hive即可
- #启动hadoop集群
- cd /usr/local/hadoop #进入Hadoop安装目录
- ./sbin/start-all.sh
- #启动hive
- [root@master bin]# hive
-
- #如果没配置环境变量,则要用下面的方式启动
- cd /usr/local/hive
- ./bin/hive

一些简单测试Hive操作:
- create database hive;
-
-
- create table test1(id int,area string);
- INSERT INTO test1 (id, area) VALUES (1, 'beijing');
- select * from test1;

参考文章: