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服 ...
随机推荐
- 把excel、txt当数据库来查询
Sub excel连接数据库() Dim Con As New ADODB.Connection Dim strCon, strsql As String Dim rs As ADODB.Record ...
- Quartz.NET 定时任务使用
class Program { static void Main(string[] args) { StartJob(); Console.ReadKey(); } static void Start ...
- 内核调试-ftrace introduction
ftrace https://www.ibm.com/developerworks/cn/linux/l-cn-ftrace1/ https://www.ibm.com/developerworks/ ...
- 新手入门学习angular.js的心得体会
看了一天的angular.js,只要记住这是关于双向数据绑定 和单向数据绑定就可以,看看开发文档,短时间内还是可以直接入手的,看个人理解能力(我是小白). 这几天开始着手学习angularjs的有关知 ...
- 洛谷——P1196 [NOI2002]银河英雄传说
P1196 [NOI2002]银河英雄传说 题目大意: 给你一个序列,支持两种操作: 合并指令为$M_{i,j}$j,含义为第i号战舰所在的整个战舰队列,作为一个整体(头在前尾在后)接至第j号战舰所 ...
- 《零压力学Python》 之 第四章知识点归纳
第四章(决策和循环)知识点归纳 if condition: indented_statements [ elif condition: Indented_statements] [else: Inde ...
- windows桌面远程工具连接Ubuntu
1.Ubuntu安装:sudo apt-get install xrdp sudo apt-get install vnc4server sudo apt-get install xubuntu ...
- jquery源码分析(四)——回调对象 Callbacks
借用百度百科来说明下回调函数: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数.回调函数不是由该 ...
- 【郑轻邀请赛 H】 维克兹的进制转换
[题目链接]:https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2134 [题意] [题解] 设f[i]表示数字i分解为二进制数的方案数; 则 如果i为 ...
- nyoj_264_国王的魔镜_201311271800
国王的魔镜 时间限制:3000 ms | 内存限制:65535 KB 难度:1 描述 国王有一个魔镜,可以把任何接触镜面的东西变成原来的两倍——只是,因为是镜子嘛,增加的那部 ...