指导手册 07 安装配置HIVE
指导手册 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的更多相关文章
- Hadoop学习笔记: 安装配置Hive
1. 在官网http://hive.apache.org/下载所需要版本的Hive,以下我们就以hive 2.1.0版为例. 2. 将下载好的压缩包放到指定文件夹解压,tar -zxvf apache ...
- 安装配置hive中遇到的问题
1. mysql中添加用户名时总出现如下问题:ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables ...
- Hive on Spark安装配置详解(都是坑啊)
个人主页:http://www.linbingdong.com 简书地址:http://www.jianshu.com/p/a7f75b868568 简介 本文主要记录如何安装配置Hive on Sp ...
- Hive的安装配置
Hive的安装配置 Hive的安装配置 安装前准备 下载Hive版本1.2.1: 1.[root@iZ28gvqe4biZ ~]# wget http://mirror.bit.edu.cn/apac ...
- 指导手册06:HBase安装部署
指导手册06:HBase安装部署 配置环境 1.参考文件: https://www.cnblogs.com/lzxlfly/p/7221890.html https://www.cnblogs.com ...
- 指导手册02:伪分布式安装Hadoop(ubuntuLinux)
指导手册02:伪分布式安装Hadoop(ubuntuLinux) Part 1:安装及配置虚拟机 1.安装Linux. 1.安装Ubuntu1604 64位系统 2.设置语言,能输入中文 3.创建 ...
- 指导手册01:安装Hadoop
指导手册01:安装Hadoop Part 1:安装及配置虚拟机 1.安装Linux. (1)打开VMvirtualBox (2) 控制->新建虚拟机,输入虚拟机名称“marst+学号” 类型: ...
- Hive安装配置指北(含Hive Metastore详解)
个人主页: http://www.linbingdong.com 本文介绍Hive安装配置的整个过程,包括MySQL.Hive及Metastore的安装配置,并分析了Metastore三种配置方式的区 ...
- 【转】 hive安装配置及遇到的问题解决
原文来自: http://blog.csdn.net/songchunhong/article/details/51423823 1.下载Hive安装包apache-hive-1.2.1-bin.ta ...
随机推荐
- P1659 [国家集训队]拉拉队排练
思路 求出cnt和len之后,直接乘起来即可 代码 #include <cstdio> #include <algorithm> #include <cstring> ...
- React.js小书总结
(迁移自旧博客2017 08 27) 第一阶段 react的组件相当于MVC里面的View. react.js 将帮助我们将界面分成了各个独立的小块,每一个块就是组件,这些组件之间可以组合.嵌套,就成 ...
- ATS 相关
启动命令 /usr/local/CCTS/bin/trafficserver start |stop | restart 清盘 /usr/local/CCTS/bin/traffic_server ...
- 【python 3】 函数 进阶
函数进阶 1.函数命名空间和作用域 命名空间一共分为三种: 全局命名空间 局部命名空间 内置命名空间 *内置命名空间中存放了python解释器为我们提供的名字:input , print , str ...
- 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 ...
- Kafka知识总结
1.kafka是什么 类JMS消息队列,结合JMS中的两种模式,可以有多个消费者主动拉取数据,在JMS中只有点对点模式才有消费者主动拉取数据. kafka是一个生产-消费模型. Producer:生产 ...
- webpack的安装及使用
webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency g ...
- prometheus告警插件-alertmanager
prometheus本身不支持告警功能,主要通过插件alertmanage来实现告警.AlertManager用于接收Prometheus发送的告警并对于告警进行一系列的处理后发送给指定的用户. pr ...
- scrapy 中crawlspider 爬虫
爬取目标网站: http://www.chinanews.com/rss/rss_2.html 获取url后进入另一个页面进行数据提取 检查网页: 爬虫该页数据的逻辑: Crawlspider爬虫类: ...
- 【PHP函数】PHP 去掉字符串中的转义符号
PHP字符串中的转义符号 string stripslashes ( string $str ) //去掉字符串中的反斜线字符.若是连续二个反斜线,则去掉一个,留下一个.若只有一个反斜线,就直接去掉.