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服 ...
随机推荐
- (C/C++学习)13.C语言字符串处理函数(一)
说明:字符串处理的函数很多,本文将例举经常遇到的一些函数加以说明. 一.字符串的输入输出 头文件:<stdio.h> 1.利用标准输出函数 printf() 来输出,将格式设置为 s% . ...
- Linux之网络ping(unknown host)故障及yum no more mirrors to try
1.ping外网出现ping:unknown host 字样故障 鉴于网上大多都是提供临时生效的解决办法,这里不再赘述,并提供下永久生效的方案: 永久生效: 1)添加DNS地址和下一跳网关地址至网 ...
- Git:分支的创建、合并、管理和删除
了解分支 如果想实现多人协作.划出Bug区.Feature区等功能,就需要分支功能.(确实很强大的地方) 每次commit时,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条 ...
- Redis 原子操作INCR
The content below come from http://try.redis.io/ There is something special about INCR. Why do we pr ...
- ansible common modules
##Some common modules[cloud modules] [clustering modules] [command modules]command - executes a comm ...
- HDU 1836 畅通工程
畅通工程 Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HDU. Original ID: 18636 ...
- 清北学堂模拟赛d2t2 位运算2(bit)
题目描述LYK拥有一个十进制的数N.它赋予了N一个新的意义:不考虑N的符号,将N每一位都拆开来后再加起来就是N所拥有的价值.例如数字123拥有6的价值,数字999拥有27的价值,数字-233拥有8的价 ...
- K - 贪心 基础
FatMouse prepared M pounds of cat food, ready to trade with the cats guarding the warehouse containi ...
- HDU 3001
题目中说明每个城市至少要走一次,至多走2次,因此要用到三进制压缩,然后就是状态转移方程了. 这道题就处理三进制的地方麻烦一点.同时注意,在选择最小长度时,一定是要每一个点都经过至少一次的,即是状态的每 ...
- VMware镜像文件下载
VMware镜像文件下载 http://blog.sina.com.cn/s/blog_517c21c00102x5ja.html 貌似Centos 6不能下载啊: 其他的没有测试: