指导手册 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. 安卓测试工具uiautomator无法打开失败报错解决方案

    我们在测试过程中经常会遇到uiautomator报错,识别不了 先用 adb shell ps |grep uiautomator 查看这个进程,一般性都是因为已经有一个进程占用引起的. 所以是被占用 ...

  2. bootstrap table 前后端分页(超级简单)

    前端分页:数据库查询所有的数据,在前端进行分页 后端分页:每次只查询当前页面加载所需要的那几条数据 下载bootstrap 下载bootstrap table jquery谁都有,不说了 项目结构:T ...

  3. Latex 仅使用 hyperref 包中 \href 的方法

    参考: How to ask hyperref works only with href Latex 仅使用 hyperref 包中 \href 的方法 在 .tex 文件的开头使用如下方法引用 hy ...

  4. memcached源码分析-----slab内存分配器

    温馨提示:本文用到了一些可以在启动memcached设置的全局变量.关于这些全局变量的含义可以参考<memcached启动参数详解>.对于这些全局变量,处理方式就像<如何阅读memc ...

  5. java 有序数组合并

    有序数组合并,例如: 数组 A=[100, 89, 88, 67, 65, 34], B=[120, 110, 103, 79, 66, 35, 20] 合并后的结果 result=[120, 110 ...

  6. Unity外包团队:关于手机unity游戏开发的技术选型

    技术选型 Unity引擎内置了多人联机的解决方案,涵盖了从最底层的网络数据传输,到不同玩家之间的消息发送,再到游戏大厅这样的高级功能.考虑到Unity官方提供的云服务(Internet Service ...

  7. mac 开启ntfs 权限

    原文: https://zhuanlan.zhihu.com/p/29542892 参考: https://bbs.feng.com/read-htm-tid-9932031.html 其实最早在OS ...

  8. MVC基本登陆与验证码功能实现

    一.基本登陆实现与验证码功能实现,该功能是和spring.net功能集合使用的,因为后面要用到验证是否处于登陆状态 1. 先构建一个登陆页面 @{ Layout = null; } <!DOCT ...

  9. document.getElementById动态的Node集合随时变化, 和document.querySelector静态的后续无法变化

    1. W3C 标准querySelectorAll 属于 W3C 中的 Selectors API 规范 [1].而 getElementsBy 系列则属于 W3C 的 DOM 规范 [2]. 2. ...

  10. suse源

    zypper addrepo -f http://mirrors.vbi.vt.edu/mirrors/linux/opensuse/discontinued/distribution/11.4/re ...