mysql配置
先前的服务器mysql有一些莫名地故障,于是准备重装。贸然重装肯定是一件愚蠢的事,首先要做的是把原有的mysql卸载干净。但如果你的mysql能正常地工作,那当我没提起这件事。卸载遵循以下步骤:
*运行rpm -qa|grep -i mysql。 显示如下:
*删掉它们,当然之前要停止mysql服务,运行rpm -e --nodeps 包名
*查找之前老版本mysql的目录、并且删除老版本mysql的文件和库,运行find / -name mysql,会出现很多关于mysql的目录,删掉它们。
*run "rm -rf /etc/my.cnf"
*再次查找机器是否安装mysql -->rpm -qa|grep -i mysql
接下来安装mysql,方便起见,采用rpm的安装方式。下载mysql全家桶下载地址,然后解压,安装=》sudo rpm -ivh MySQL-*。顺便转一下配置文件=》sudo cp /usr/share/mysql/my-large.cnf /etc/my.cnf。
开启mysql服务=》 service mysql start。
设置用户密码=》 sudo /usr/bin/mysqladmin -u root password ‘123’
进入mysql=》mysql -uroot -p123
创建mysql的hive用户=》 CREATE USER ‘hive’@’localhost’ IDENTIFIED BY “123”
创建数据库=》create database hive;
赋予权限=》 grant all on hive. to hive@’%’ identified by ‘hive’; grant all on hive. to hive@’localhost’ identified by ‘hive’; flush privileges;
退出mysql
顺便可以验证下hive用户=》mysql -uhive -phive
hadoop安装
略
不过注意一个问题:之前hadoop start起来没问题,也没有仔细看日志,但是运行hadoop命令总是遇到connection refused的问题,之前以为防火墙的原因。后来发现是用户bashrc的环境配置默认hadoop是另一个版本的,所以hadoop的命令工具来自另个hadoop。这个错误原因有点离谱,但还是挺难发现的。
hive安装与配置
安装配置
首先下载 hive1.2.1=》 nohup wget http://mirrors.hust.edu.cn/apache/hive/stable/apache-hive-1.2.1-bin.tar.gz &
解压 tar -zxvf ..
配置环境变量 .bashrc=>
export HIVE_HOME=/home/feiwang/hive-2.0
export HIVE_CONF_DIR=/home/feiwang/hive-2.0/conf
export PATH=$PATH:$HIVE_HOME/bin
source .bashrc
修改hive配置文件,将默认文件mv成hive-site.xml,不是hive-default.xml!之前一直读取配置有问题就是这个原因。
主要修改以下参数:
1 | <property> |
下载jdbc的jar包=》wget http://115.156.188.231/cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.40.tar.gz
拷贝mysql-connector-java-5.1.40-bin.jar 到hive 的lib下面
mv mysql-connector-java-5.1.40-bin.jar /root/feiwang/hive-2.0/lib/
启动元数据 =》bin/hive –service metastore &
验证
运行 hive命令,创建表:
进入mysql会发现hive数据库自动生成了很多表
进入hadoop的hdfs会发现也有两个文件夹生成了
Found 2 items
drwxr-xr-x - root supergroup 0 2016-11-24 21:43 /user/hive/warehouse/diablo
drwxr-xr-x - root supergroup 0 2016-11-24 19:45 /user/hive/warehouse/kzx
简单介绍下hive
Hive是运行在Hadoop之上的数据仓库,将结构化的数据文件映射为一张数据库表,提供简单类SQL查询语言,称为HQL,并将SQL语句转换成MapReduce任务运。有利于利用SQL语言查询、分析数据,适于处理不频繁变动的数据。Hive底层可以是HBase或者HDFS存储的文件。两者都是基于Hadoop上不同的技术,相互结合使用,可处理企业中不同类型的业务,利用Hive处理非结构化离线分析统计,利用HBase处理在线查询。
Hive三种元数据存储方式:
1>.本地derby存储,只允许一个用户连接Hive,适用于测试环境
2>.本地/远程MySQL存储,支持多用户连接Hive,适用于生产环境