搭建
安装hive
把 apache-hive-3.1.2-bin.tar.gz 上传到 linux 的/opt/software 目录下
解压 apache-hive-3.1.2-bin.tar.gz 到/opt/module/目录下面
tar -zxvf /opt/software/apache-hive-3.1.2-bin.tar.gz -C /opt/module/
修改 apache-hive-3.1.2-bin.tar.gz 的名称为 hive
mv apache-hive-3.1.2-bin/ hive
修改/etc/profile.d/my_env.sh,添加环境变量
sudo vim /etc/profile.d/my_env.sh
添加内容
#HIVE_HOME export HIVE_HOME=/opt/module/hive export PATH=$PATH:$HIVE_HOME/bin 保存后运行-> source /etc/profile
初始化元数据库
bin/schematool -dbType derby -initSchema
启动并使用 Hive
启动 Hive
bin/hive
使用 Hive
show databases;
show tables;
Hive 元数据配置到 MySQL
将 MySQL 的 JDBC 驱动拷贝到 Hive 的 lib 目录下
cp /opt/software/mysql-connector-java-5.1.37.jar $HIVE_HOME/lib
配置 Metastore 到 MySQL
在$HIVE_HOME/conf 目录下新建 hive-site.xml 文件
vim $HIVE_HOME/conf/hive-site.xml
插入如下内容
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <!-- jdbc 连接的 URL --> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop102:3306/metastore?useSSL=false</value> </property> <!-- jdbc 连接的 Driver--> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <!-- jdbc 连接的 username--> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <!-- jdbc 连接的 password --> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>root</value> </property> <!-- Hive 元数据存储版本的验证 --> <property> <name>hive.metastore.schema.verification</name> <value>false</value> </property> <!--元数据存储授权--> <property> <name>hive.metastore.event.db.notification.api.auth</name> <value>false</value> </property> <!-- Hive 默认在 HDFS 的工作目录 --> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property> </configuration>
注意jdbc的url改成自己的!
登陆 MySQL
mysql -uroot -proot
新建 Hive 元数据库
create database metastore; quit;
初始化 Hive 元数据库
schematool -initSchema -dbType mysql -verbose
再次启动Hive
bin/hive
使用 Hive
hive> show databases; hive> show tables; hive> create table test (id int); hive> insert into test values(1); hive> select * from test;
插入的时候如果一直停在
set mapreduce.job.reduces=<number>
是由于yarn没有启动的问题,或者是启动机器ip不一致的问题:将启动脚本和yarn-site.xml中的resourcemanager节点对应起来就会解决
标签:bin,opt,9.21,HIVE,hive,报错,Hive,HOME From: https://www.cnblogs.com/gbrr/p/17720444.html