Linux手动安装Mysql,再与Hive整合

Hive元数据说明
  • 首先,Hive的元数据(模型)存储在Mysql的数据库中。由BDS、TBLS、SDS表维护。
  • 其次,真正的数据将存储在{$hive.metastore.warehouse.dir}属性的目录下;
  • 创建新的DataBase,将在{$hive.metastore.warehouse.dir}属性的目录下构建相对应的dbname.db文件夹。
  • 新创建的Table,将在对应的dbname.db文件夹目录下
手动安装MySQL

获取mysql 5.7安装包:https://pan.baidu.com/s/1DF8sByQoduA0XtVdKm87Iw 提取码: fecw

  1. 验证Linux里是否安装MySQL
    $>yum list installed | grep mysql

  2. 删除已经安装的MySQL【需要root权限】
    $>yum –y remove mysql-libs.X86_64 或者 $>yum erase mysql-libs.x86_64

  3. 验证删除是否成功!
    $>yum list installed | grep mysql

  4. 下载mysql二进制文件mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
    这几步都是在root用户下su root

  5. 将mysql压缩包拷贝到/usr/local/目录下:
    $>cd /usr/local
    $>cp /mnt/hgfs/share/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz .

  6. 解压:
    $>tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
    并重命名mysql:
    $>mv mysql-5.7.21-linux-glibc2.12-x86_64 mysql
    删除原压缩包:
    $>rm mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

  7. 创建mysql用户组:
    $>groupadd mysql
    在创建的mysql用户组中创建一个新用户mysql:
    $>useradd -r -g mysql mysql
    进入目录:
    $>cd /usr/local/mysql
    修改目录的拥有者:
    $> chown -R mysql .
    $> chgrp -R mysql .
    (点“.”代表的就是当前目录,选项-R表示递归当前目录及其子目录)

  8. 创建数据库存放文件夹和相关文件并修改权限
    $>mkdir -pv /data/mysqldb/3306/{logs,run,data}【创建logs,run,data三个目录】
    $>touch /data/mysqldb/3306/run/mysqld.pid【run目录下创建mysqlid.pid文件】
    $>touch /data/mysqldb/3306/logs/mysql-error.log【logs目录下创建mysql-error.log文件】
    $>chown -R mysql.mysql /data/mysqldb/【修改新创建的目录当前用户和所属用户组】
    $>chmod -R 777 /data/mysqldb【修改目录和文件权限】
    如果文件没创建的话,启动Mysql时将会报错

  9. 修改配置文件my.cnf,先创建该文件
    $>cd /usr/local/mysql【进入该目录下】
    $>vim my.cnf

    [client]
    port=3306
    socket=/data/mysqldb/3306/mysql.sock
    default_character_set=utf8
    
    [mysqld]
    user=mysql
    port=3306
    socket=/data/mysqldb/3306/mysql.sock
    basedir=/usr/local/mysql
    datadir=/data/mysqldb/3306/data
    pid-file=/data/mysqldb/3306/run/mysqld.pid
    log-error=/data/mysqldb/3306/logs/mysql-error.log
    character_set_server=utf8
    
    [mysql]
    socket=/data/mysqldb/3306/mysql.sock
    
    [mysqldump]
    socket=/data/mysqldb/3306/mysql.sock
    
    [mysqladmin]
    socket=/data/mysqldb/3306/mysql.sock
    
  10. 初始化mysql安装:
    $>cd /usr/local/mysql【先要进入到该目录下】
    $>./bin/mysqld --defaults-file=/usr/local/mysql/my.cnf --initialize-insecure --user=mysql --datadir=/data/mysqldb/3306/data
    【默认加载的文件、空密码初始化数据库、创建用户、数据文件存放的位置】
    Mysql 5.7以后对密码安全有更友好的提示,
    –initialize-insecure 以空密码初始化数据库
    –initialize 随机生成一个密码并显示在屏幕中,第一次登录的时候必须提供此密码

  11. 把启动脚本放到开机初始化目录,添加开机启动mysql服务
    $>cd /usr/local/mysql【先进入到该目录】

    复制启动服务脚本至/etc/rc.d/init.d目录:
    $>cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld【复制mysql.server并重命名为mysqld】

    $>chkconfig --add mysqld【添加mysqld到开机启动】
    $>chkconfig mysqld on【打开启动on】

    $>chkconfig --list mysqld【查看是否修改为开机启动】
    $>chkconfig --del mysqld【如果想要关闭使用该命令】

  12. 启动mysql服务

    • 启动命令: $> sudo service mysqld start【如果不是在root下加sudo,或者直接转到root用户下启动】
    • 另一种启动方式:【使用启动脚本mysql.server】
      $> cd /usr/local/mysql
      $> sudo ./support-files/mysql.server start
    • 查看mysql服务是否启动:
      $> ps -ef |grep mysql【看到mysql服务说明启动成功】
  13. 配置环境变量:

    1. 打开/etc/profile文件:
      $>gedit /etc/profile【需要root权限】

    2. 在文件的最后,追加两行:

       export MYSQL_HOME=/usr/local/mysql
       export PATH=\$PATH:$MYSQL_HOME/bin
      
    3. 保存并关闭文件,执行以下命令使得环境变量生效:
      $>source /etc/profile

  14. 修改root的密码,进行安全配置(设置密码)

    执行命令语句:$>mysql -u root -p
    回车执行后,因为一开始没有设置密码,所以这里不需要输入密码,直接回车就登录
    执行成功后,控制台显示 mysql>,则表示已经进入mysql

    输入命令(注意分号):
    mysql> set password for 'root'@'localhost'=password('admin');【设置你的root用户密码,我设置为admin】
    执行完毕,此时root用户的密码修改为admin。

    退出mysql:
    mysql>quit

    重新登录:
    $>mysql -u root -p
    输入密码admin即可登录root用户

  15. 创建Hive所需的账户和数据库

    1. root进入Mysql
      $>mysql -u root -p(回车,如果密码为空再次回车),进入到mysql命令行页面
    2. 创建hive数据库、为Hive建立mysql账户
      mysql>create user 'hive' identified by '123456';【创建hive用户和密码】
      mysql> CREATE DATABASE hive;【创建hive数据库】
    3. MySQL授权
      mysql> GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' IDENTIFIED BY '123456';【给hive用户授权】
      mysql> flush privileges;【刷新权限】
  16. 配置Mysql服务远程可访问

    1. 连接MySQL 服务器:
      $>mysql -u root -p【输入管理员密码登陆】
    2. 使用如下命令,授权root 用户远程连接服务器:
      mysql> grant all privileges on *.* to 'root'@'%' identified by "admin" with grant option;【给root用户也授权】
      mysql> flush privileges;【再刷新一下权限】
    3. 退出mysql 连接:
      mysql> exit;
整合Hive
  1. 修改【hive-site.xml】

    <property>
    	<name>hive.exec.local.scratchdir</name>
        <value>/home/dragon/tmp/hive/local</value>
        <description>Local scratch space for Hive jobs,修改为你本地的目录</description>
    </property>
    
    <property>
       	<name>hive.exec.scratchdir</name>
    	<description>HDFS上的跟目录</description>
       	<value>/tmp/hive</value>
    </property>
    
    <property>
       	<name>hive.metastore.warehouse.dir</name>
       	<value>/user/hive/warehouse</value>
       	<description>location of default database for the warehouse,hive元数据存放地址</description>
    </property>
    
    <!-- 整合Hive和Mysql -->
    <property>
       	<name>javax.jdo.option.ConnectionUserName</name>
       	<value>hive</value>
       	<description>Username to use against metastore database,连接外部数据库的用户名称</description>
    </property>
    <property>
       	<name>javax.jdo.option.ConnectionPassword</name>
       	<value>1234</value>
       	<description>password to use against metastore database,用户密码</description>
    </property>
    
    <property>
       	<name>javax.jdo.option.ConnectionURL</name>
       	<value>jdbc:mysql://master:3306/hive?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> 
    
  2. 将Mysql的连接驱动包复制到Hive安装目录的lib中,完成MySQL与Hive连接
    $>cd $HIVE_HOME/lib
    $>cp /mnt/hgfs/share/mysql-connector-java-5.1.10.jar .【根据自己的挂载盘写路径】

  3. 开启hadoop集群
    $>zkServer.sh start
    $>start-dfs.sh
    $>start-yarn.sh

  4. 开启Hive客户端
    $>hive

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值