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搭建与简单使用的更多相关文章

  1. hive 搭建

    Hive hive是简历再hadoop上的数据库仓库基础架构,它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储,查询和分析存储再hadoop种的大规模数据机制,hive定 ...

  2. Android中NDK的搭建及简单使用 Android.mk相关介绍 JNI的使用

    Android中NDK的搭建及简单使用: 使用NDK,简述其重要步骤:.搭建NDK环境(作用:用于自动生成jni下的.c对应的so文件)---到Android NDK官网或Android官网下载ndk ...

  3. 用nodejs搭建一个简单的服务器

    使用nodejs搭建一个简单的服务器 nodejs优点:性能高(读写文件) 数据操作能力强 官网:www.nodejs.org 验证是否安装成功:cmd命令行中输入node -v 如果显示版本号表示安 ...

  4. 初学Node(六)搭建一个简单的服务器

    搭建一个简单的服务器 通过下面的代码可以搭建一个简单的服务器: var http = require("http"); http.createServer(function(req ...

  5. 使用maven+eclipse搭建最简单的struts2的helloworld

    使用maven+eclipse搭建最简单的struts2的helloworld 一.web分层结构简介 1.web[细]粒度分层结构: 按细粒度分层可以分为以下6种: 1).表现层:html/css/ ...

  6. 服务器Hadoop+Hive搭建

    出于安全稳定考虑很多业务都需要服务器服务器Hadoop+Hive搭建,但经常有人问我,怎么去选择自己的配置最好,今天天气不错,我们一起来聊一下这个话题. Hadoop+Hive环境搭建 1虚拟机和系统 ...

  7. 【netty】(2)---搭建一个简单服务器

    netty(2)---搭建一个简单服务器 说明:本篇博客是基于学习慕课网有关视频教学.效果:当用户访问:localhost:8088 后 服务器返回 "hello netty"; ...

  8. 用chrome和anywhere,配合安卓机搭建最简单的移动端页面测试。

    很多时候,我们前端在写移动端页面的时候,虽然目前chrome有调试模式,可以模拟手机的部分效果,但仍有部分效果需要直接在手机上进行页面的调试,今天就在这里推荐一个适合windows+安卓的无需连接局域 ...

  9. ftp服务器搭建及简单操作

    ftp服务器搭建及简单操作 1. 添加一个新用户,使用名useradd testftp,然后使用passwd testftp对新添加的用户设置密码(这里设置为“1234567”). 2. 安装ftp服 ...

随机推荐

  1. (C/C++学习)13.C语言字符串处理函数(一)

    说明:字符串处理的函数很多,本文将例举经常遇到的一些函数加以说明. 一.字符串的输入输出 头文件:<stdio.h> 1.利用标准输出函数 printf() 来输出,将格式设置为 s% . ...

  2. Linux之网络ping(unknown host)故障及yum no more mirrors to try

    1.ping外网出现ping:unknown host   字样故障 鉴于网上大多都是提供临时生效的解决办法,这里不再赘述,并提供下永久生效的方案: 永久生效: 1)添加DNS地址和下一跳网关地址至网 ...

  3. Git:分支的创建、合并、管理和删除

    了解分支 如果想实现多人协作.划出Bug区.Feature区等功能,就需要分支功能.(确实很强大的地方) 每次commit时,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条 ...

  4. Redis 原子操作INCR

    The content below come from http://try.redis.io/ There is something special about INCR. Why do we pr ...

  5. ansible common modules

    ##Some common modules[cloud modules] [clustering modules] [command modules]command - executes a comm ...

  6. HDU 1836 畅通工程

    畅通工程 Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HDU. Original ID: 18636 ...

  7. 清北学堂模拟赛d2t2 位运算2(bit)

    题目描述LYK拥有一个十进制的数N.它赋予了N一个新的意义:不考虑N的符号,将N每一位都拆开来后再加起来就是N所拥有的价值.例如数字123拥有6的价值,数字999拥有27的价值,数字-233拥有8的价 ...

  8. K - 贪心 基础

    FatMouse prepared M pounds of cat food, ready to trade with the cats guarding the warehouse containi ...

  9. HDU 3001

    题目中说明每个城市至少要走一次,至多走2次,因此要用到三进制压缩,然后就是状态转移方程了. 这道题就处理三进制的地方麻烦一点.同时注意,在选择最小长度时,一定是要每一个点都经过至少一次的,即是状态的每 ...

  10. VMware镜像文件下载

    VMware镜像文件下载 http://blog.sina.com.cn/s/blog_517c21c00102x5ja.html  貌似Centos 6不能下载啊: 其他的没有测试: