Hive搭建与简单使用
hive搭建与简单使用(1)
标签(空格分隔): hive,mysql
hive相当于编译器的组件,他并不存储数据,元数据存储在mysql中,数据则存放在hdfs中,通过hive,可以利用sql语句对存储在hdfs的数据进行处理。
安装前准备
Hadoop要搭建好(参考前面的文章)
mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
apache-hive-2.1.1-bin.tar.gz
mysql安装参考了博客:https://www.cnblogs.com/clsn/p/8025324.html
注意事项
我的路径放在了/root/下,你要根据自己的情况去修改下面的操作
操作系统是centos7
详细搭建步骤
1.mysql的安装
1.搭建mysql,mysql不需要在每台机子上都安装,只需要在namenode(主机)上安装就行了,如果确保高可用,还可以做一个主从复制。
2.将此压缩包放在/root/目录下,并执行解压命令:
tar xf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.34-linux-glibc2.5-x86_64 mysql
3.创建一个不能登陆系统但是可以管理数据库存储目录的用户mysql:
cd mysql
useradd -s /sbin/nologin -M mysql
4.对数据库存储目录进行授权:
chown -R mysql.mysql ./mysql/data/
5.初始化数据库:
./mysql/scripts/mysql_install_db --basedir=/root/mysql --datadir=/root/mysql/data --user=mysql
###备注:这一步可能会报错,是因为没有下载perl 和 perl-devel,用yum进行安装即可
6.将启动脚本放到启动目录中,并对两个文件中路径进行修改:
cp /root/mysql/support-files/mysql.server /etc/init.d/mysqld
sed -i 's#/usr/local/mysql#/root/mysql#g' /root/mysql/bin/mysqld_safe
sed -i 's#/usr/local/mysql#/root/mysql#g' /etc/init.d/mysql
7.将mysql自带的配置文件复制为/etc/my.cnf:
cp /root/mysql/support-files/my-default.cnf /etc/my.cnf
8.启动mysql,执行命令:
service mysqld start
9.设置root用户密码:
/root/mysql/bin/mysqladmin -u root password 'mysql123456'
10.登录mysql,执行命令:
/root/mysql/bin/mysql -uroot -pmysql123456
2.hive的安装
1.解压hive,采用的版本是apache-hive-2.1.1-bin.tar.gz
tar xf apache-hive-2.1.1-bin.tar.gz
mv apache-hive-2.1.1-bin hive
2.添加到环境变量,在/etc/profile加上
export HIVE_HOME=/root/hive
export HIVE_CONF_DIR=/root/hive/conf
PATH=$PATH:$HIVE_HOME/bin
#保存退出后,执行 source /etc/profile 让环境变量生效
3.启动Hadoop
start-all.sh
4.利用Hadoop创建一些必要的目录(配置文件要用到这些目录),并赋予权限
hadoop fs -mkdir -p /user/hive/warehouse
hadoop fs -chmod -R 777 /user/hive/warehouse
hadoop fs -mkdir -p /tmp/hive
hadoop fs -chmod -R 777 /tmp/hive
cd /root/hive
mkdir tmp
chmod 777 ./tmp
5.修改hive-env.sh
cp hive-env.sh.template hive-env.sh
vi hive-env.sh
#将下面三行写入这个配置文件,注意用自己的路径
HADOOP_HOME=/root/hadoop-2.8.0
export HIVE_CONF_DIR=/root/hive/conf
export HIVE_AUX_JARS_PATH=/root/hive/lib
6.修改hive-site.xml
cd /root/hive/conf
cp hive-default.xml.template hive-site.xml
#下面两个命令把配置文件中的两个变量进行全部替换
#这个/root/hive/tmp就是之前创建的
#这个root是我的用户名
sed -i ‘s#${system:java.io.tmpdir}#/root/hive/tmp#g’ hive-site.xml
sed -i ‘s#${system:user.name}#root#g’ hive-site.xml
7.修改hive-site.xml中关于mysql的配置
将javax.jdo.option.ConnectionDriverName的值改成mysql驱动:
com.mysql.jdbc.Drive
将javax.jdo.option.ConnectionURL的值改成mysql连接路径:
jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true
将javax.jdo.option.ConnectionUserName的值改成mysql用户名:root
将javax.jdo.option.ConnectionPassword的值改成mysql密码:mysql123456
8.下载mysql驱动包
cd /root/hive/lib
wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar
9.对mysql进行初始化
cd /root/hive/bin
./schematool -initSchema -dbType mysql
10.执行命令hive,查看是否安装成功
至此,hive搭建完成,本代码已经过实验,请放心使用,但还是需要根据情况做适当修改
新手上路,错误在所难免,恳请大家多多指正
Hive搭建与简单使用的更多相关文章
- hive 搭建
Hive hive是简历再hadoop上的数据库仓库基础架构,它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储,查询和分析存储再hadoop种的大规模数据机制,hive定 ...
- Android中NDK的搭建及简单使用 Android.mk相关介绍 JNI的使用
Android中NDK的搭建及简单使用: 使用NDK,简述其重要步骤:.搭建NDK环境(作用:用于自动生成jni下的.c对应的so文件)---到Android NDK官网或Android官网下载ndk ...
- 用nodejs搭建一个简单的服务器
使用nodejs搭建一个简单的服务器 nodejs优点:性能高(读写文件) 数据操作能力强 官网:www.nodejs.org 验证是否安装成功:cmd命令行中输入node -v 如果显示版本号表示安 ...
- 初学Node(六)搭建一个简单的服务器
搭建一个简单的服务器 通过下面的代码可以搭建一个简单的服务器: var http = require("http"); http.createServer(function(req ...
- 使用maven+eclipse搭建最简单的struts2的helloworld
使用maven+eclipse搭建最简单的struts2的helloworld 一.web分层结构简介 1.web[细]粒度分层结构: 按细粒度分层可以分为以下6种: 1).表现层:html/css/ ...
- 服务器Hadoop+Hive搭建
出于安全稳定考虑很多业务都需要服务器服务器Hadoop+Hive搭建,但经常有人问我,怎么去选择自己的配置最好,今天天气不错,我们一起来聊一下这个话题. Hadoop+Hive环境搭建 1虚拟机和系统 ...
- 【netty】(2)---搭建一个简单服务器
netty(2)---搭建一个简单服务器 说明:本篇博客是基于学习慕课网有关视频教学.效果:当用户访问:localhost:8088 后 服务器返回 "hello netty"; ...
- 用chrome和anywhere,配合安卓机搭建最简单的移动端页面测试。
很多时候,我们前端在写移动端页面的时候,虽然目前chrome有调试模式,可以模拟手机的部分效果,但仍有部分效果需要直接在手机上进行页面的调试,今天就在这里推荐一个适合windows+安卓的无需连接局域 ...
- ftp服务器搭建及简单操作
ftp服务器搭建及简单操作 1. 添加一个新用户,使用名useradd testftp,然后使用passwd testftp对新添加的用户设置密码(这里设置为“1234567”). 2. 安装ftp服 ...
随机推荐
- node里读取命令行参数
一.process.env process.env属性返回一个包含用户环境信息的对象. 最常见的需求,前端需要根据不同的环境(dev,prd),来调用不同的后端接口.如果用webpack,是这么做的: ...
- CentOS6.9下NFS配置说明(转载)
NFS是Network File System的缩写,即网络文件系统.它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录.NFS客户端可以通过挂载(mount)的方式将NFS ...
- 洛谷——P2574 XOR的艺术
P2574 XOR的艺术 很久之前就想挑战一下这道题了,线段树下传标记的入门题,跟区间加法下传标记类似. #include<bits/stdc++.h> #define N 1000005 ...
- python 简单爬取今日头条热点新闻(一)
今日头条如今在自媒体领域算是比较强大的存在,今天就带大家利用python爬去今日头条的热点新闻,理论上是可以做到无限爬取的: 在浏览器中打开今日头条的链接,选中左侧的热点,在浏览器开发者模式netwo ...
- 洛谷 2042 BZOJ 1500 NOI 2005 维护数列
[题意概述] 维护一个数列,要求支持以下6种操作: [题解] 大Boss...可以用Treap解决 需要用到垃圾回收.线性建树. #include<cstdio> #include< ...
- The Morning after Halloween uva1601
这道题思路还是比较清晰的,建图加bfs或双向bfs,其实后者比前者少了将近一半的时间.. 建图可以把某一点所拥有邻接点长度(数目)记录在数组0这个位置,因为这道题使用vector会超时. #inclu ...
- (问题待解决)sql查询不显示前置‘0’的问题
SELECT * , ,),() ) ' end)) from CourseBooksNotes ),)),)+'秒'; ),)),)),)+'秒'
- C#反射获取数据库字段
static string sqlselect = "insert into {0}({1}) values ({2})"; (这个方法可以适用于任何数据库的插入语句) publi ...
- 【Codeforces 161D】Distance in Tree
[链接] 我是链接,点我呀:) [题意] 问你一棵树上有多少条长度为k的路径 [题解] 树形dp 设 size[i]表示以节点i为根节点的子树的节点个数 dp[i][k]表示以i为根节点的子树里面距离 ...
- Excel 2010/2013/2016在鼠标右键新建xls或xlsx文件后,打开报错“无法打开文件”“文件格式或文件扩展名无效”
近段时间,陆续有两个同事先后出现同样的问题(在Excel多个版本都可能出现),问题描述: 当用鼠标右键在任意文件夹或电脑桌面“新建”→“ Microsoft Excel 工作表”,再用鼠标双击打开这个 ...