在已经安装好hadoop3.1.0前提下。
安装hive
tar -zxf apache-hive-2.3.3-bin.tar.gz
apache-hive-2.3.3-bin/ hive-2.3.3
环境变量:
export HIVE_HOME=/opt/package/hive-2.3.3
export PATH=$PATH:$HIVE_HOME/bin
使用mysql的mariadb作为hive的元数据存储
sudo yum install mariadb-server
sudo service mariadb start
sudo systemctl enable mariadb
sudo mysql_secure_installation
mysql -uroot -proot
create database hive;
create user 'hive'@'vb-7' identified by 'hive';
grant all on hive.* to 'hive' identified by 'hive';
grant all on hive.* to 'hive'@'%' identified by 'hive' with grant option
REVOKE ALL PRIVILEGES,GRANT OPTION FROM 'hive'
grant all on hive.* to 'hive'@'%' identified by 'hive'
远程可以访问,本地无法访问:
#删除用户即可
drop user ''@localhost;
drop user ''@'vb-7';
flush privileges;
mariadb安装链接
https://www.linode.com/docs/databases/mariadb/how-to-install-mariadb-on-centos-7/cp hive-default.xml hive-site.xml
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://vb-7:3306/hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
参考:
https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+3.0+Administration
启动
hiveserver2
连接异常
Caused by: java.net.URISyntaxException: Relative path in absolute URI:
${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
把这个目录指向;
/opt/package/data/hive/tmpdir
配置hiveclasspath路径。
元数据初始化
schematool -dbType mysql -initSchema
注意,驱动的版本不要太新。找不到驱动的。5.1.43版本的驱动是找不到的。(排查了半天)
cp /opt/package/mysql-connector-java-5.1.38.jar ./lib/
这个版本是可以的。
不允许匿名用户访问。
添加的配置
配置core-site.xml
<property>
<name>hadoop.proxyuser.dota.hosts</name>
<value>*</value> </property> <property>
<name>hadoop.proxyuser.dota.groups</name>
<value>*</value>
</property>
hive-site.xml 添加。
<property>
<name>beeline.hs2.connection.user</name>
<value>dota</value> </property>
<name>beeline.hs2.connection.password</name>
<property> <value>dota</value> </property>
<value>vb-7:10000</value>
<property> <name>beeline.hs2.connection.hosts</name>
</property>
然后就可以使用beeline登录 了。
!connect jdbc:hive2://vb-7:10000/default dota
配置文件
https://gitee.com/hshe/pubtest/tree/master/hadoop3