当前位置:首页 > 文章列表 > 数据库 > MySQL > 11. 安装Hive及MySQL

11. 安装Hive及MySQL

来源:SegmentFault 2023-01-12 07:46:02 0浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《11. 安装Hive及MySQL》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下MySQL、hive,希望所有认真读完的童鞋们,都有实质性的提高。

Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。

集群规划


hadoop151 hadoop152 hadoop153
hive&mysql

安装MySQL


  1. 切换到root用户下,卸载本机自带的数据库。

    [root@hadoop151 software]$ rpm -qa | grep mariadb
    [root@hadoop151 software]$ yum -y remove mariadb-libs-5.5.60-1.el7_5.x86_64
  2. 安装MySQL

    [root@hadoop151 mysql-libs]$ rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rpm
    [root@hadoop151 mysql-libs]$ cat /root/.mysql_secret   # 查看初始密码
    [root@hadoop102 mysql-libs]$ service mysql start       # 启动MySQL服务
  3. 登录MySQL,设置密码

    [root@hadoop151 mysql-libs]$ mysql -uroot -p密码
    mysql> set password=password('000000');    # 设置密码为六个0
  4. 配置MySQL远程登陆

    mysql> use mysql;
    mysql> show tables;
    mysql> desc user;
    mysql> select User, Host, Password from user;
    mysql> update user set host='%' where host='localhost'; /* 修改user表,把Host表内容修改为% */
    mysql> delete from user where Host='hadoop151'; /* 删除root用户的其他host */
    mysql> delete from user where Host='127.0.0.1';
    mysql> delete from user where Host='::1';
    mysql> flush privileges;
  5. 设置MySQL编码为UTF-8。
    修改my.cnf文件(这个文件可能在/etc目录下,也可能在/usr目录下),在[mysqld]这一栏中添加如下内容:

    init_connect='SET collation_connection = utf8_unicode_ci'
    init_connect='SET NAMES utf8'
    character-set-server=utf8
    collation-server=utf8_unicode_ci
    skip-character-set-client-handshake
  6. 重启MySQL服务,查看编码。

    [root@hadoop151 usr]$ service mysql restart
    [root@hadoop151 usr]$ mysql -uroot -p000000
    mysql > show variables like '%char%'
    +--------------------------+----------------------------+
    | 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/ |
    +--------------------------+----------------------------+

安装Hive


  1. 解压并重命名

    [hadoop@hadoop151 software]$ tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /opt/module/
    [hadoop@hadoop151 module]$ mv apache-hive-1.2.1-bin/ hive
  2. 将MySQL驱动拷贝到“hive/lib”目录下。

    [hadoop@hadoop151 mysql-connector-java-5.1.27]$ cp mysql-connector-java-5.1.27-bin.jar /opt/module/hive/lib/
  3. 在“hive/conf”目录下重命名“hive-env.sh.template”并修改其中内容。

    [hadoop@hadoop151 conf]$ mv hive-env.sh.template hive-env.sh
    [hadoop@hadoop151 conf]$ vim hive-env.sh
    HADOOP_HOME=/opt/module/hadoop
    export HIVE_CONF_DIR=/opt/module/hive/conf
  4. 在“hive/conf”目录下重命名“hive-log4j.properties.template”文件

    [hadoop@hadoop151 conf]$ mv hive-log4j.properties.template hive-log4j.properties
    [hadoop@hadoop151 conf]$ vim hive-log4j.properties
    hive.log.dir=/opt/module/hive/logs
  5. 在“hive/conf”目录下新建hive-site.xml文件,配置Metastore到MySQL。

    [hadoop@hadoop151 conf]$ vim hive-site.xml
    javax.jdo.option.ConnectionURLjdbc:mysql://hadoop151:3306/metastore?createDatabaseIfNotExist=trueJDBC connect string for a JDBC metastorejavax.jdo.option.ConnectionDriverNamecom.mysql.jdbc.DriverDriver class name for a JDBC metastorejavax.jdo.option.ConnectionUserNamerootusername to use against metastore databasejavax.jdo.option.ConnectionPassword000000password to use against metastore databasehive.cli.print.headertruehive.cli.print.current.dbtruehive.metastore.schema.verificationfalse
  6. 在“hive/bin”目录下初始化MySQL和Hive

    [hadoop@hadoop151 bin]$ ./schematool -initSchema -dbType mysql
  7. 进入MySQL,修改“metastore”数据库。

    mysql> use metastore;
    /* 修改表字段注解和表注解 */
    alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;
    alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
    /* 修改分区字段注解 */
    alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;
    alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;
    /* 修改索引注解 */
    alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

配置Tez作为Hive的计算引擎

Tez是Apache开源的支持DAG作业的计算框架,它直接源于MapReduce框架,核心思想是将Map和Reduce两个操作进一步拆分,即Map被拆分成Input、Processor、Sort、Merge和Output, Reduce被拆分成Input、Shuffle、Sort、Merge、Processor和Output等,这样,这些分解后的元操作可以任意灵活组合,产生新的操作,这些操作经过一些控制程序组装后,可形成一个大的DAG作业。
  1. 解压并重命名。

    [hadoop@hadoop151 software]$ tar -zxvf apache-tez-0.9.1-bin.tar.gz -C /opt/module/
    [hadoop@hadoop151 module]$ mv apache-tez-0.9.1-bin/ tez-0.9.1
  2. 在“hive-env.sh”文件中添加tez环境变量配置和依赖包环境变量配置。

    export TEZ_HOME=/opt/module/tez-0.9.1
    export TEZ_JARS=""
    for jar in `ls $TEZ_HOME |grep jar`; do
        export TEZ_JARS=$TEZ_JARS:$TEZ_HOME/$jar
    done
    for jar in `ls $TEZ_HOME/lib`; do
        export TEZ_JARS=$TEZ_JARS:$TEZ_HOME/lib/$jar
    done
    export HIVE_AUX_JARS_PATH=/opt/module/hadoop/share/hadoop/common/hadoop-lzo-0.4.20.jar$TEZ_JARS
  3. 在“hive-site.xml”文件中添加如下配置,更改hive计算引擎。

    hive.execution.enginetez
  4. 在Hive的“/opt/module/hive/conf”下面创建一个tez-site.xml文件。

    [hadoop@hadoop151 conf]$ vim tez-site.xml
    tez.lib.uris${fs.defaultFS}/tez/tez-0.9.1,${fs.defaultFS}/tez/tez-0.9.1/libtez.lib.uris.classpath${fs.defaultFS}/tez/tez-0.9.1,${fs.defaultFS}/tez/tez-0.9.1/libtez.use.cluster.hadoop-libstruetez.history.logging.service.classorg.apache.tez.dag.history.logging.ats.ATSHistoryLoggingService
  5. 将“/opt/module/tez-0.9.1”上传到HDFS的/tez路径。

    [hadoop@hadoop151 conf]$ hadoop fs -mkdir /tez
    [hadoop@hadoop151 conf]$ hadoop fs -put /opt/module/tez-0.9.1/ /tez
  6. 修改“hadoop/etc/hadoop”目录下的yarn-site.xml文件,避免遇到运行Tez时检查到用过多内存而被NodeManager杀死进程问题。 修改完yarn-site.xml文件后分发到各集群上

    yarn.nodemanager.vmem-check-enabledfalse
  7. 启动hive,在hive中建库建表插入数据测试(记得要启动hadoop集群)。

    [hadoop@hadoop151 bin]$ ./hive

以上就是《11. 安装Hive及MySQL》的详细内容,更多关于mysql的资料请关注golang学习网公众号!

版本声明
本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
为什么mysql索引选择b+树作为底层存储结构?为什么mysql索引选择b+树作为底层存储结构?
上一篇
为什么mysql索引选择b+树作为底层存储结构?
MySql高级(一)
下一篇
MySql高级(一)
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    542次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    508次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    497次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • 笔灵AI生成答辩PPT:高效制作学术与职场PPT的利器
    笔灵AI生成答辩PPT
    探索笔灵AI生成答辩PPT的强大功能,快速制作高质量答辩PPT。精准内容提取、多样模板匹配、数据可视化、配套自述稿生成,让您的学术和职场展示更加专业与高效。
    16次使用
  • 知网AIGC检测服务系统:精准识别学术文本中的AI生成内容
    知网AIGC检测服务系统
    知网AIGC检测服务系统,专注于检测学术文本中的疑似AI生成内容。依托知网海量高质量文献资源,结合先进的“知识增强AIGC检测技术”,系统能够从语言模式和语义逻辑两方面精准识别AI生成内容,适用于学术研究、教育和企业领域,确保文本的真实性和原创性。
    25次使用
  • AIGC检测服务:AIbiye助力确保论文原创性
    AIGC检测-Aibiye
    AIbiye官网推出的AIGC检测服务,专注于检测ChatGPT、Gemini、Claude等AIGC工具生成的文本,帮助用户确保论文的原创性和学术规范。支持txt和doc(x)格式,检测范围为论文正文,提供高准确性和便捷的用户体验。
    30次使用
  • 易笔AI论文平台:快速生成高质量学术论文的利器
    易笔AI论文
    易笔AI论文平台提供自动写作、格式校对、查重检测等功能,支持多种学术领域的论文生成。价格优惠,界面友好,操作简便,适用于学术研究者、学生及论文辅导机构。
    42次使用
  • 笔启AI论文写作平台:多类型论文生成与多语言支持
    笔启AI论文写作平台
    笔启AI论文写作平台提供多类型论文生成服务,支持多语言写作,满足学术研究者、学生和职场人士的需求。平台采用AI 4.0版本,确保论文质量和原创性,并提供查重保障和隐私保护。
    35次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码