本文记录Hadoop学习过程中hive安装过程
文章目录
作者为新手小白,只为记录学习&交流
如任何读者有任何正面建议,欢迎留言&私信,不胜感激!
2020年7月30日
开发环境
集群:hadoop-ha高可用集群
hive版本:hive-2.3.7
mysql版本:mysql-5.6.24
安装hive
下载
官网下载稳定版本的hive,这里用hive2.7.3
更改hive-env.sh配置信息
解压后在conf下更改hive-env配置文件
加入hadoop和hive的conf地址
export HADOOP_HOME=/root/bigdata/hadoop/hadoop-3.1.2
export HIVE_CONF_DIR=/root/bigdata/hive/apache-hive-2.3.7-bin/conf
安装MySQL
直接从官网下载的jdbc,client,service文件
首先用rpm -ivh命令安装客户端和MySQL服务
rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rpm
开启mysql服务
service mysql start
安装client
rpm -ivh MySQL-client-5.6.24-1.el6.x86_64.rpm
更改MySQL密码
首先使用cat /root/.mysql_secret命令查看初始化的随机密码,用这个密码登录mysql
然后更改密码为你的密码
>SET PASSWORD=PASSWORD('123456');
是用新密码登录一下mysql没问题就好
mysql -uroot -p123456
修改MySQL权限
在mysql的默认数据库中有一个mysql库,里面的user表记录了一些配置信息,我们需要修改这个表中数据以达到无主机登录的目的
首先查看表结构
use mysql;
select user,host,password from user;
你会发现四行数据,其中我们需要将host更改为‘%’,即赋予最高权限
update user set host='%' where host='localhost';
然后删除三行内容
delete from user where Host='masternode';
delete from user where Host='127.0.0.1';
delete from user where Host='::1';
注意: 这里的masternode是你的主机名
刷新mysql
flush privileges;
复制jdbc
解压mysql-connector-java-5.1.27
里面有一个jar包,我们需要移动到hive/lib目录下
cp mysql-connector-java-5.1.27-bin.jar /root/bigdata/hive/hive/lib/
更改hive-site.xml
在hive/conf中是没用这个配置信息的,需要我们用手打一个
vim hive-site.xml
插入以下配置信息
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://masternode:3306/metastore?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBCmetastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBCmetastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastoredatabase</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>passward</value>
<description>password to use against metastoredatabase</description>
</property>
</configuration>
注意:
这是你的主机名
这是你创建mysql的用户名和密码
初始化hive
在hive的bin目录下使用初始化命令
schematool -dbType mysql -initSchema
网上好多资料写的是用derby数据库初始化,但是亲测derby数据库有问题,所以用mysql命令
启动hive
如果在profile文件中配置了HIVE_HOME 那么直接敲hive便可直接启动hive