欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Hive 搭建

程序员文章站 2022-07-14 14:45:12
...

 

rpm安装mysql

  • 需要下载mysql的四个rpm包:

    mysql-community-client-5.7.18-1.el6.x86_64.rpm
    mysql-community-common-5.7.18-1.el6.x86_64.rpm
    mysql-community-libs-5.7.18-1.el6.x86_64.rpm
    mysql-community-server-5.7.18-1.el6.x86_64.rpm

  • rpm -qa | grep -i mysql
  • 将上一步找到的mysql相关的包都删除
    rpm -e --nodeps mysql-libs*  //*号指代实际包名, 请实际情况输入完整包名
    rpm -e mysql-server*(如果有)
    rpm -e mysql-client*(如果有)
  • 检查并删除老版本mysql的开发头文件和库
    命令:
        rm -fr /usr/lib/mysql
        rm -fr /usr/include/mysql
        rm -f /etc/my.cnf
        rm -fr /var/lib/mysql
        rm -fr /usr/share/mysql
     注意:卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除
  • 安装perl:yum install perl -y
  • 下载numactl-2.0.9-2.el6.x86_64.rpm并安装
    rpm -ivh numactl-2.0.9-2.el6.x86_64.rpm
  • 安装mysql(有顺序要求)
        rpm -ivh mysql-community-common-5.7.18-1.el6.x86_64.rpm
        rpm -ivh mysql-community-libs-5.7.18-1.el6.x86_64.rpm
        rpm -ivh mysql-community-client-5.7.18-1.el6.x86_64.rpm
        rpm -ivh mysql-community-server-5.7.18-1.el6.x86_64.rpm
        执行这个:rpm -ivh mysql-community-*
  • 修改/etc/my.cnf文件,设置数据库的编码方式:
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8
    [mysqld]
    character_set_server=utf8
  • 如果出现错误,请查看/etc/my.cnf文件中指定的错误log日志的文件
  • 执行:service mysqld start
  • 找到随机密码:
    在/var/log/mysqld.log中有一行:
            A temporary password is generated for [email protected],后面就是随机密码
        # mysql -uroot -p"yAe7QGVJ;HlR"使用随机密码登录系统
  • 修改默认密码:
    set global validate_password_policy=0;
    set global validate_password_length=6;
    set password for 'root'@'localhost'=password('123456');
  • 设置密码以及查看编码方式

    mysql> set global validate_password_policy=0;
        Query OK, 0 rows affected (0.00 sec)

        mysql> set global validate_password_length=6;
        Query OK, 0 rows affected (0.00 sec)

        mysql> set password for 'root'@'localhost'=password('123456');
        Query OK, 0 rows affected, 1 warning (0.00 sec)

        mysql> show variables like '%character%';
        +--------------------------+----------------------------+
        | Variable_name            | Value                      |
        +--------------------------+----------------------------+
        | character_set_client     | utf8                       |
        | character_set_connection | utf8                       |
        | character_set_database   | utf8                       |
        | character_set_filesystem | binary                     |
        | character_set_results    | utf8                       |
        | character_set_server     | utf8                       |
        | character_set_system     | utf8                       |
        | character_sets_dir       | /usr/share/mysql/charsets/ |
        +--------------------------+----------------------------+
        8 rows in set (0.00 sec)

        mysql>

  • 给root设置远程登录权限
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
    FLUSH PRIVILEGES;

  • chkconfig mysqld on 设置开机启动

hive Remote分离配置

  • mysql的jar包拷贝到$HIVE_HOME/lib录下
  • 将hive-site.xml配置文件拆为如下两部分
  • 服务端配置文件
     

    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
    <property>
      <name>hive.metastore.warehouse.dir</name>
      <value>/user/hive/warehouse</value>
    </property>
    <property>
      <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://mynode01/hive?createDatabaseIfNotExist=true</value>
    </property>
    <property>
      <name>javax.jdo.option.ConnectionDriverName</name>
      <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
      <name>javax.jdo.option.ConnectionUserName</name>
      <value>hive</value>
    </property>
    <property>
      <name>javax.jdo.option.ConnectionPassword</name>
      <value>hive</value>
    </property>
    </configuration>
    

     

  • 客户端配置文件:
     

    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
    <property>
      <name>hive.metastore.uris</name>
      <value>thrift://mynode02:9083</value>
    </property>
    </configuration>

     

  • 启动hive服务端程序:hive --service metastore

  • 客户端直接使用hive命令即可