指导手册 07 安装配置HIVE

 

安装环境及所需安装包:

1.操作系统:centos6.8

2.四台虚拟机:master :10.0.2.4, slave1:10.0.2.5,slave2:10.0.2.6,slave3:10.0.2.7

3.Hadoop系统己安装完成。

4. mysql-5.7.23.tar.gz

5. apache-hive-2.1.1-bin.tar.gz

6. mysql-connector-java-5.1.47-bin.jar

Part01 :centos上安装mysql

https://www.cnblogs.com/kanyun/p/8075414.html

官网下载

https://dev.mysql.com/downloads/mysql/

1. 上传Mysql安装包“mysql-5.7.23.tar.gz”到部署机,位置任意;

2. 将Mysql安装包解压到其所在目录,命令如下:

tar -zxvf mysql-5.7.23.tar.gz  -C /usr/local

3. 使用命令,对mysqll文件夹进行重命名

[root@master local]# mv mysql-5.7.20-linux-glibc2.12-x86_64  mysql-5.7.23

4. 添加mysql用户组和mysql用户,命令如下:

groupadd mysql

useradd -r -g mysql mysql

5. 进入安装Mysql软件的目录,命令如下:

cd /usr/local/mysql-5.7.23

6.安装

6.1 在/usr/local/mysql-5.7.23目录下新建data文件夹,以后的数据库文件将放在这里

[root@master mysql-5.7.23]# pwd

/usr/local/mysql-5.7.23

[root@master mysql-5.7.23]# mkdir data

[root@master mysql-5.7.23]# chown -R mysql:mysql ./

6.2 mysql_install_db 被废弃了,取而代之的是 mysqld -initialize

[root@master  mysql-5.7.23]# ./bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql-5.7.23/ --datadir=/usr/local/mysql-5.7.23/data/

6.3将mysql/目录下除了data/目录的所有文件,改回root用户所有

 [root@master  mysql-5.7.23]# chown -R root .

6.4 mysql用户只需作为mysql-5.7.23/data/目录下所有文件的所有者

 [root@master  mysql-5.7.23]# chown -R mysql data

6.5复制启动文件

[root@master  mysql-5.7.23]# cp support-files/mysql.server /etc/init.d/mysqld

6.6 文件授权

[root@master  mysql-5.7.23]# chmod 755 /etc/init.d/mysqld

[root@master  mysql-5.7.23]# chmod 777 /usr/local/mysql-5.7.23/data

[root@master  bin]# cp /usr/local/mysql-5.7.23/bin/my_print_defaults /usr/bin/

6.7修改启动脚本

[root@master  mysql-5.7.23]# vi /etc/init.d/mysqld

#修改项:

basedir=/usr/local/mysql-5.7.23/

datadir=/usr/local/mysql-5.7.23/data

port=3306

6.8修改/etc/my.cnf文件

Port=3306

Basedir=/usr/local/mysql-5.7.23

Datadir=/usr/local/mysql-5.7.23/data

Socket=/tmp/mysql.sock

说明: 配置文件加上skip-grant-tables,是设置无密码登录

7.启动服务

[root@master  mysql-5.7.23]# service mysqld start

8.加入环境变量.

编辑 /etc/profile,这样可以在任何地方用mysql命令了

[root@instance_4dbde0 mysql-5.7.20]# vi /etc/profile

8.1添加mysql路径

export PATH=$PATH:/usr/local/mysql-5.7.23/bin

8.2刷新立即生效

[root@master  mysql-5.7.23]# source /etc/profile

9.重启Mysql

10.无密码登录

mysql -u root -p

这个时候输入mysql的root密码就可以登录了(这个输入密码的操作有可能直接按Enter就可以登录mysql,即默认的无密码),登录之后可以更改root密码.

11.修改root用户密码(“123456”)

mysql>use mysql;

mysql> update user set authentication_string=password("新密码") where user='root';        mysql> flush privileges;

mysql> exit;

12解决利用sqoop导入MySQL中文乱码的问题

[说明:该功能Centos6.8下待调试]解决利用sqoop导入MySQL中文乱码的问题(可以插入中文,但不能用sqoop导入中文)导致导入时中文乱码的原因是character_set_database、character_set_server默认设置是latin1,如下图。

可以单个设置修改编码方式set character_set_server=utf8;但是重启会失效。

建议按以下方式修改编码方式。

(1)编辑配置文件。sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

(2)在[mysqld]下添加2行character_set_server=utf8。如下图

(4)登陆MySQL,并查看MySQL目前设置的编码。show variables like "char%";

 

Part02 安装Hive

1.Hive的下载

网址:http://www.apache.org/dyn/closer.cgi/hive/

下载:apache-hive-2.1.1-bin.tar.gz

2.Hive安装

1)解压安装包apache-hive-2.1.1-bin.tar.gz至路径 /opt/,命令如下:

tar -zxvf ./ apache-hive-2.1.1-bin.tar.gz  -C /usr/local   # 解压到/usr/local中

mv apache-hive-2.3.3-bin apache-hive       # 将文件夹名改为hive

chown -R hadoop:hadoop apache-hive       # 修改文件所有者权限。

注意,上面的hadoop:hadoop是当前系统的用户组和用户名。

2)配置环境变量

将hive下的bin目录添加到path中,这样,启动hive就无需到/opt/hive/bin目录下,大大的方便了hive的使用。编辑/etc/profile文件

如果没有引入过PATH请在/etc/profile文件尾行添加如下内容:

export PATH=$PATH:/opt/hive/bin

3)编辑完成后,再执行source命令使上述配置在当前终端立即生效,命令如下:

3.Hive配置

3.1修改/usr/local/apache-hive/conf下的hive-site.xml

执行如下命令:

cd /usr/local/apache-hive/conf

mv hive-default.xml.template hive-default.xml

上面命令是将hive-default.xml.template重命名为hive-default.xml;

3.2使用vim编辑器新建一个配置文件hive-site.xml,命令如下:

cd /usr/local/apache-hive/conf

vim hive-site.xml

在hive-site.xml中添加如下配置信息:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

<!--搜索javax.jdo.option.connectionURL,将该name对应的value修改为MySQL的地址:-->

  <property>

    <name>javax.jdo.option.ConnectionURL</name>

    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>

    <description>JDBC connect string for a JDBC metastore</description>

  </property>

<!--搜索javax.jdo.option.ConnectionDriverName,将该name对应的value修改为MySQL驱动类路径: :-->

  <property>

    <name>javax.jdo.option.ConnectionDriverName</name>

    <value>com.mysql.jdbc.Driver</value>

    <description>Driver class name for a JDBC metastore</description>

  </property>

<!--搜索javax.jdo.option.ConnectionUserName,将对应的value修改为MySQL数据库登录名: :-->

  <property>

    <name>javax.jdo.option.ConnectionUserName</name>

    <value>hive</value>

    <description>username to use against metastore database</description>

  </property>

<!--搜索javax.jdo.option.ConnectionPassword,将对应的value修改为MySQL数据库的登录密码: :-->

  <property>

    <name>javax.jdo.option.ConnectionPassword</name>

    <value>hive</value>

    <description>password to use against metastore database</description>

  </property>

<!—解决错误提示: Version information not found—>

 <property>

    <name>hive.metastore.schema.verification</name>

    <value>false</value>

  </property>

</configuration>

4.  下载mysql jdbc 包,下载地址:

https://dev.mysql.com/downloads/connector/j/

tar -zxvf mysql-connector- java-5.1.47.tar.gz   #解压

cp mysql-connector- java-5.1.47/ mysql-connector- java-5.1.47-bin.jar  /usr/local/apache-hive/lib #将mysql-connector- java-5.1.47-bin.jar拷贝到/opt/hive/lib目录下

5   启动并登陆mysql shell

service mysql start #启动mysql服务

mysql -u root -p  #登陆shell界面

6.  新建hive数据库。

mysql> create database hive;

mysql> show databases;

#这个hive数据库与hive-site.xml中localhost:3306/hive的hive对应,用来保存hive元数据

7. 配置mysql允许hive接入:

mysql> grant all on *.* to hive@localhost identified by 'hive';   #将所有数据库的所有表的所有权限赋给hive用户,后面的hive是配置hive-site.xml中配置的连接密码

mysql> flush privileges;  #刷新mysql系统权限关系表

8.启动hive

启动hive之前,请先启动hadoop集群和启动Mysql。

start-all.sh #启动hadoop

service mysqld start #启动mysql

hive  #启动hive

启动进入Hive的交互式执行环境以后,会出现如下命令提示符:

在启动Hive时,有可能会出现Hive metastore database is not initialized的错误,这里给出解决方案。

解决Hive启动,Hive metastore database is not initialized的错误。出错原因:以前曾经安装了Hive或MySQL,重新安装Hive和MySQL以后,导致版本、配置不一致。解决方法是,使用schematool工具。Hive现在包含一个用于 Hive Metastore 架构操控的脱机工具,名为 schematool.此工具可用于初始化当前 Hive 版本的 Metastore 架构。此外,其还可处理从较旧版本到新版本的架构升级。所以,解决上述错误,你可以在终端执行如下命令:

schematool -dbType mysql -initSchema

9.退出hive.

可以在里面输入SQL语句,如果要退出Hive交互式执行环境,可以输入如下命令:

hive>exit;

-----Centos6.8安装hive2.1.1出错问题解决方法---------

1. 错误提示:mysql5.7 You must reset your password using ALTER USER statement before executing this statement.

解决方法:https://blog.csdn.net/dotalee/article/details/72576667

需要用ALTER USER重置一次密码才能执行sql语句。ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码' PASSWORD EXPIRE NEVER;   -- 密码永不过期

 

2.错误提示:Hive2:Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

https://blog.csdn.net/chengyuqiang/article/details/61216162

解决方法:问题找到了, Hive2需要hive元数据库初始化

[root@master bin]schematool -dbType mysql –initSchema

3.错误提示: Failed to get schema version when starting Hive Metastore Service

https://blog.csdn.net/sh0308/article/details/70239905

.解决办法:
    登录hive所在的mysql数据,执行:grant all on *.* to
"<hive_user>"@"%" identified by
"<hive_user_password>";

4.错误提示
Version information not found

解决办法:

修改conf/hive-site.xml 中的 “hive.metastore.schema.verification”  值为 false  即可解决 “Caused by:
MetaException(message:Version information not found in metastore. )” .

https://blog.csdn.net/youngqj/article/details/19987727

指导手册 07 安装配置HIVE的更多相关文章

  1. Hadoop学习笔记: 安装配置Hive

    1. 在官网http://hive.apache.org/下载所需要版本的Hive,以下我们就以hive 2.1.0版为例. 2. 将下载好的压缩包放到指定文件夹解压,tar -zxvf apache ...

  2. 安装配置hive中遇到的问题

    1. mysql中添加用户名时总出现如下问题:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables ...

  3. Hive on Spark安装配置详解(都是坑啊)

    个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/p/a7f75b868568 简介 本文主要记录如何安装配置Hive on Sp ...

  4. Hive的安装配置

    Hive的安装配置 Hive的安装配置 安装前准备 下载Hive版本1.2.1: 1.[root@iZ28gvqe4biZ ~]# wget http://mirror.bit.edu.cn/apac ...

  5. 指导手册06:HBase安装部署

    指导手册06:HBase安装部署 配置环境 1.参考文件: https://www.cnblogs.com/lzxlfly/p/7221890.html https://www.cnblogs.com ...

  6. 指导手册02:伪分布式安装Hadoop(ubuntuLinux)

    指导手册02:伪分布式安装Hadoop(ubuntuLinux)   Part 1:安装及配置虚拟机 1.安装Linux. 1.安装Ubuntu1604 64位系统 2.设置语言,能输入中文 3.创建 ...

  7. 指导手册01:安装Hadoop

    指导手册01:安装Hadoop  Part 1:安装及配置虚拟机 1.安装Linux. (1)打开VMvirtualBox (2) 控制->新建虚拟机,输入虚拟机名称“marst+学号” 类型: ...

  8. Hive安装配置指北(含Hive Metastore详解)

    个人主页: http://www.linbingdong.com 本文介绍Hive安装配置的整个过程,包括MySQL.Hive及Metastore的安装配置,并分析了Metastore三种配置方式的区 ...

  9. 【转】 hive安装配置及遇到的问题解决

    原文来自: http://blog.csdn.net/songchunhong/article/details/51423823 1.下载Hive安装包apache-hive-1.2.1-bin.ta ...

随机推荐

  1. P1659 [国家集训队]拉拉队排练

    思路 求出cnt和len之后,直接乘起来即可 代码 #include <cstdio> #include <algorithm> #include <cstring> ...

  2. React.js小书总结

    (迁移自旧博客2017 08 27) 第一阶段 react的组件相当于MVC里面的View. react.js 将帮助我们将界面分成了各个独立的小块,每一个块就是组件,这些组件之间可以组合.嵌套,就成 ...

  3. ATS 相关

    启动命令 /usr/local/CCTS/bin/trafficserver   start |stop | restart 清盘 /usr/local/CCTS/bin/traffic_server ...

  4. 【python 3】 函数 进阶

    函数进阶 1.函数命名空间和作用域 命名空间一共分为三种: 全局命名空间 局部命名空间 内置命名空间 *内置命名空间中存放了python解释器为我们提供的名字:input , print , str ...

  5. Python3.6 运行提示 ImportError: cannot import name 'CONFIG_FILE'

    如下代码: import os from utils.file_reader import YamlReader BASE_PATH = os.path.split(os.path.dirname(o ...

  6. Kafka知识总结

    1.kafka是什么 类JMS消息队列,结合JMS中的两种模式,可以有多个消费者主动拉取数据,在JMS中只有点对点模式才有消费者主动拉取数据. kafka是一个生产-消费模型. Producer:生产 ...

  7. webpack的安装及使用

     webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency g ...

  8. prometheus告警插件-alertmanager

    prometheus本身不支持告警功能,主要通过插件alertmanage来实现告警.AlertManager用于接收Prometheus发送的告警并对于告警进行一系列的处理后发送给指定的用户. pr ...

  9. scrapy 中crawlspider 爬虫

    爬取目标网站: http://www.chinanews.com/rss/rss_2.html 获取url后进入另一个页面进行数据提取 检查网页: 爬虫该页数据的逻辑: Crawlspider爬虫类: ...

  10. 【PHP函数】PHP 去掉字符串中的转义符号

    PHP字符串中的转义符号 string stripslashes ( string $str ) //去掉字符串中的反斜线字符.若是连续二个反斜线,则去掉一个,留下一个.若只有一个反斜线,就直接去掉.