Hive 的安装与配置

hive只是一个客户端,只要安装机器上有jdk和Hadoop就可以,解压即用

因为hive默认是derby数据库,而derby数据库的弊端如下

  ①默认只会从当前目录下读取metastore_db的库文件

  ②不支持多实例同时使用一个库

所以重点是如何配置数据库在MySQL上

1、检查有没有旧的MySQL,有就进行卸载

rpm -qa | grep mysql
rpm -qa | grep MySQLsudo rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_6

2、安装MySQL的服务端和客户端

sudo rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rpm
sudo rpm -ivh MySQL-client-5.6.24-1.el6.x86_64.rpm

3、设置密码

//查看随机生成的密码:
sudo cat /root/.mysql_secret
//启动服务:
sudo service mysql start
//登录后修改密码:
mysql -uroot -p刚查询的随机密码
//修改密码:
SET PASSWORD=password(‘密码‘)

4、使root用户可从任意机器登录

//删除除了localhost的所有用户
delete from mysql.user where host <> ‘localhost‘;
//修改root用户可以从任意机器登录:
update mysql.user set host=‘%‘ where user=‘root‘;
//刷新
flush privileges;//查看当前连接的线程:sudo mysqladmin processlist -uroot -p123456

5、到hive 的conf目录下配置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://hadoop102:3306/metastore?createDatabaseIfNotExist=true</value>
      <description>JDBC connect string for a JDBC metastore</description>
    </property>

    <property>
      <name>javax.jdo.option.ConnectionDriverName</name>
      <value>com.mysql.jdbc.Driver</value>
      <description>Driver class name for a JDBC metastore</description>
    </property>

    <property>
      <name>javax.jdo.option.ConnectionUserName</name>
      <value>root</value>
      <description>username to use against metastore database</description>
    </property>

    <property>
      <name>javax.jdo.option.ConnectionPassword</name>
      <value>000000</value>
      <description>password to use against metastore database</description>
    </property>
</configuration>

6、mysql-connector-java-5.1.27.tar.gz驱动包复制到hive的lib目录下

7、注意,metastore数据的编码必须为latin1!因为系统会按照MySQL的配置创建库,所以建议自己手动创建该库,确保编码正确!

相关推荐