ubuntu16.04配置hive2.1.1详解及相关问题解决
来源:互联网 发布:卖家怎么设置淘宝转运 编辑:程序博客网 时间:2024/06/03 14:38
主要参考博客Ubuntu系统下安装并配置hive-2.1.0
mysql安装配置
- 安装mysql服务 ‘sudo apt-get install mysql-server mysql-client’
启动mysql服务 ‘sudo service mysql start’
注释:
重启mysql服务: ‘service mysql restart’
停止mysql服务: ‘service mysql stop’
查看mysql服务状态: ‘service mysql status’进入mysql 服务
3.1 创建hive用户
mysql -u root -pCREATE USER 'hive'@'%' IDENTIFIED BY 'hive';GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;flush privileges;use hive;select user,host from mysql.user;exit;
注释:
CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';
创建用户hive,登录密码为hive;
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;
将所有权限赋给hive;
flush privileges;
刷新权限;
use hive;
select user,host from mysql.user;
exit;
查看信息;
在ubuntu系统里,默认情况下MySQL只允许本地登录,所以需要修改配置文件将地址绑定注释。
sudo gedit /etc/mysql/my.cnf
找到“# bind-address = 127.0.0.1“注释掉这一行就可以啦。 但是在我机器上并没有这句话,我也没注释掉。
3.2 重启mysql服务
sudo service mysql restart
3.3 建立Hive专用的元数据库,用我们刚创建的“hive“帐号登陆
mysql -u hive -p hive
CREATE DATABASE hive_metadata
hive安装配置
1. apache hive官网下载相关版本,解压到安装目录下
sudo tar -xvf apache-hive-2.1.1-bin.tar.gz /usr/local/hive
;
2. 配置hive-site.xml文件
在hive/conf目录下:
sudo cp hive-default.xml.template hive-site.xml
注释:
本来hive-site.xml是不存在的,需要从模版hive-default.xml.template拷贝使用。
需修改以下几个属性的值:
<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://127.0.0.1:3306/hive_metadata?createDatabaseIfNotExist=true</value> <description> JDBC connect string for a JDBC metastore. To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL. For example, jdbc:postgresql://myhost/db?ssl=true for postgres database. </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>...<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>hive</value> <description>password to use against metastore database </description></property>
注释:
-javax.jdo.option.ConnectionURL
这句话用于指定数据库所在服务器及端口和对应的数据库。因为我的机器是伪分布式,部署在一起的,所以指定为jdbc:mysql://127.0.0.1:3306/hive_metadata
;
-javax.jdo.option.ConnectionDriverName
指定数据库驱动,原本是derby作为元数据库,这会带来麻烦,所以这几项用于更换元数据库为mysql;
-javax.jdo.option.ConnectionUserName
&javax.jdo.option.ConnectionPassword
指定用户名和密码;
3. 配置hive-env.sh文件
在hive/conf下;
从模板文件hive-env.sh.template拷贝出来使用:
sudo cp hive-env.sh.template hive-env.sh
其他地方不变,在最后添加:
export JAVA_HOME=/usr/local/jdk/jdk1.8.0/jdk1.8.0_144export HIVE_HOME=/usr/local/hiveexport HADOOP_HOME=/usr/local/hadoop
注释:
有些教程上没有这一步,所以这一步应该不起作用。
- 配置hive-config.sh文件
在hive/bin下;
其他地方不变,在最后添加:
export JAVA_HOME=/usr/local/jdk/jdk1.8.0/jdk1.8.0_144export HIVE_HOME=/usr/local/hiveexport HADOOP_HOME=/usr/local/hadoop
4. 拷贝jdbc驱动到hive/lib下
在mysql官网下载mysql-connector驱动,拷贝到hive/lib下:
sudo cp mysql-connector-java-5.1.44.jar /usr/local/hive/lib
;
5. 配置环境变量
sudo gedit /etc/profile#hiveexport HIVE_HOME=/usr/local/hiveexport PATH=$PATH:$HIVE_HOME/binsource /etc/profile
出现问题
1. ${system:user.name} & ${system:tmpdir}错误
查阅博客hive配置遇到的问题( Relative path in absolute URI)以及【Hadoop】hive相关报错处理${system:java.io.tmpdir}等得知,错误元在system:user.name的配置,需要在hive-site.xml里面:
将{system:user.name}改为你的用户名,如hive;
同时也可以将iotmp的对应配置修改成真实地址/usr/local/hive/iotmp;
${system:java.io.tmpdir} 改为真实物理路径,如/usr/local/hive/tmp。
在hive下创建tmp,warehouse(以后用)文件夹,并赋权限770。
共有四个位置需要改。
最简单直接的修改方式:
在hive-site.xml文件中添加如下属性:
<property> <name>system:java.io.tmpdir</name> <value>/usr/local/hive/tmp</value></property><property> <name>system:user.name</name> <value>hive</value></property>
2. 在hive中输入show tables;
时 ,报错:
WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
查阅博客Mysql报警告:WARN: Establishing SSL connection可知,是mysql-connector版本过高,而hive版本不支持高版本mysql-connector的SSL,换低版本驱动即可。
3. 在hive中输入show tables;
时 ,报错:
Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
原因:参考博客 Hive2:Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient可知:Hive2需要hive元数据库初始化: schematool -dbType mysql -initSchema
其他错误可查看博客Hive常见问题汇总。
- ubuntu16.04配置hive2.1.1详解及相关问题解决
- ubuntu16.04(64位)安装wps及相关问题解决
- ubuntu16.04(64位)安装wps及相关问题解决
- Fedora 安装配置hive2.1.1
- Hive2.1.1安装与配置
- Hive2.x 版本的安装及配置
- Ubuntu16.04 apache2 配置相关知识点
- Ubuntu16.04 安装Navicat11.2.16,乱码问题解决,及破解
- 搭建Hadoop2.7.3+Hive2.1.1及MySQL(配置Hadoop)(一)
- 搭建Hadoop2.7.3+Hive2.1.1及MySQL(配置Hive+Hadoop)(二)
- 搭建Hadoop2.7.3+Hive2.1.1及MySQL(配置Hive+MySQL+Connector)(三)
- 搭建Hadoop2.7.3+Hive2.1.1及MySQL(配置Hadoop)(一)
- 搭建Hadoop2.7.3+Hive2.1.1及MySQL(配置Hive+Hadoop)(二)
- 搭建Hadoop2.7.3+Hive2.1.1及MySQL(配置Hive+MySQL+Connector)(三)
- Ubuntu16.04+Apache虚拟主机配置详解
- Ubuntu16.04 下安装 MySQL 及配置
- ubuntu16.04 jdk安装及环境配置
- Ubuntu16.04下配置opencv及测试
- JavaEE知识了解
- 第一次制作游戏
- 解决ThinkPadE40在Win10下开机蓝屏的问题
- html渲染模板Hogan
- 《Python学习手册》学习笔记(5)之第5章数字(关键词:编程语言/Python/数字/整数/进制)
- ubuntu16.04配置hive2.1.1详解及相关问题解决
- 阿里巴巴常考面试题
- Spring框架中没有扫描到bean之我遇到的错误
- Java语言基础(1)
- 《Python学习手册》学习笔记(6)之第6章动态类型简介(关键词:编程语言/Python/变量/对象/引用)
- BZOJ 3505 [Cqoi2014]数三角形
- 【笔记】线性表及其应用
- open falcon 是否支持存储字符串
- linux下kettle安装部署