安装hive
1、下载apache-hive-0.13.1-bin.tar.gz
wget
http://apache.fayea.com/apache-mirror/hive/hive-0.13.1/apache-hive-0.13.1-bin.tar.gz
2、解压apache-hive-0.13.1-bin.tar.gz
Tar -zxvf apache-hive-0.13.1-bin.tar.gz -C /opt/app/
3、配置环境变量
vi /etc/profile
4、配置配置文件
ü 进入conf目录
cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
cp hive-log4j.properties.template hive-log4j.proprties
ü 配置hive-env.sh
增加如下三条配置
ü 配置hive-site.xml
在修改之前,首先要创建相应的目录,否则在运行hive时会报错
mkdir /data01/hive/warehouse
mkdir /data01/hive/tmp
mkdir /data01/hive/log
由于此文件需要配置三项,文件内容非常多,很难查找,可以采用匹配查找的方法进行查找,如下图所示,进入命令行模式,输入\+查找内容,然后按回车
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
<property>
<name>hive.exec.scratdir</name>
<value>/data01/hive/tmp</value>
</property>
#若此项没有,要手动添加
<property>
<name>hive.querylog.location</name>
<value>/data01/hive/log</value>
<description>
Location of Hive run time structured log file
</description>
</property>
ü 配置hive-log4j.proprties
修改内容如下:
hive.log.dir=
这个是当hive运行时,相应的日志文档存储到什么地方
hive.log.dir=/opt/appp/hive-1.3.1/logs
hive.log.file=hive.log 这个是hive日志文件的名字是什么
默认的就可以,只要您能认出是日志就好
只有一个比较重要的需要修改一下,否则会报错。
log4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter
5、验证hive是否启动正常
以上表示hive安装正常。
以上采用的默认数据库derby.
2、安装mysql
1、卸载掉原有mysql
Centos自带mysql,但不是很好用,自己手动卸载并安装
[root@master~]# rpm -qa | grep mysql
// 这个命令就会查看该操作系统上是否已经安装了mysql数据库
有的话,我们就通过 yum -y remove命令来卸载掉在删除完以后我们可以通过 rpm -qa | grep mysql 命令来查看mysql是否已经卸载成功!!
2、通过yum来进行mysql的安装
我是通过yum的方式来进行mysql的数据库安装,首先我们可以输入 yum list | grep mysql 命令来查看yum上提供的mysql数据库可下载的版本:
[root@master~]# yum list | grep mysql
就可以得到yum服务器上mysql数据库的可下载版本信息:
然后我们可以通过输入 yum install -y mysql-server mysql mysql-devel 命令将mysql mysql-server mysql-devel都安装好(注意:安装mysql时我们并不是安装了mysql客户端就相当于安装好了mysql数据库了,我们还需要安装mysql-server服务端才行)
[root@master~]# yum install -y mysql-server mysql mysql-deve
在等待了一番时间后,yum会帮我们选择好安装mysql数据库所需要的软件以及其它附属的一些软件
我们发现,通过yum方式安装mysql数据库省去了很多没必要的麻烦,当出现下面的结果时,就代表mysql数据库安装成功了
此时我们可以通过如下命令,查看刚安装好的mysql-server的版本
[root@master~]# rpm -qi mysql-server
我们安装的mysql-server并不是最新版本,如果你想尝试最新版本,那就去mysql官网下载rpm包安装就行了,至此我们的mysql数据库已经安装完成了。
4、mysql数据库的初始化及相关配置
我们在安装完mysql数据库以后,会发现会多出一个mysqld的服务,这个就是咱们的数据库服务,我们通过输入 service mysqld start 命令就可以启动我们的mysql服务。
注意:如果我们是第一次启动mysql服务,mysql服务器首先会进行初始化的配置,如:
[root@master~]# service mysqld start
这时我们会看到第一次启动mysql服务器以后会提示非常多的信息,目的就是对mysql数据库进行初始化操作,当我们再次重新启动mysql服务时,就不会提示这么多信息了,如:
[root@master~]# service mysqld restart停止 mysqld: [确定]正在启动 mysqld: [确定]
我们在使用mysql数据库时,都得首先启动mysqld服务,我们可以 通过 chkconfig --list | grep mysqld 命令来查看mysql服务是不是开机自动启动,如:
[root@master~]# chkconfig --list | grep mysqldmysqld 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
我们发现mysqld服务并没有开机自动启动,我们当然可以通过 chkconfig mysqld on 命令来将其设置成开机启动,这样就不用每次都去手动启动了
[root@master~]# chkconfig mysqld on[root@master~]# chkconfig --list | grep mysqlmysqld 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
mysql数据库安装完以后只会有一个root管理员账号,但是此时的root账号还并没有为其设置密码,在第一次启动mysql服务时,会进行数据库的一些初始化工作,在输出的一大串信息中,我们看到有这样一行信息 :
/usr/bin/mysqladmin -u root password 'new-password'// 为root账号设置密码
所以我们可以通过 该命令来给我们的root账号设置密码(注意:这个root账号是mysql的root账号,非Linux的root账号)
[root@master~]# mysqladmin -u root password 'root'// 通过该命令给root账号设置密码为 root
此时我们就可以通过 mysql -u root -p 命令来登录我们的mysql数据库了
3、整合mysql与hive
1、为Hive建立相应的MySQL账户,并赋予足够的权限,执行命令如下:
hadoop@ubuntu:~$ mysql -uroot -pmysqlmysql> CREATE USER 'hive' IDENTIFIED BY 'mysql';mysql> GRANT ALL PRIVILEGES ON *.* TO 'hive'@'10.192.9.102' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'hive'@'10.192.9.103' WITH GRANT OPTION;
...................mysql> flush privileges;
2、建立 Hive 专用的元数据库,记得创建时用刚才创建的“hive”账号登陆。
mysql> create database hive;
3、在Hive的conf目录下创建文件“hive-site.xml”
<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://192.168.210.10:3306/hive?characterEncoding=UTF-8</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>mysql</value> </property></configuration>
6、把MySQL的JDBC驱动包复制到Hive的lib目录下。
JDBC驱动包的版本:mysql-connector-java-5.1.18-bin.jar
7、启动 Hive Shell, 执行“show tables;”命令,如果不报错,表明基于独立元数据库的 Hive 已经安装成功了。
hadoop@master:~$ hiveLogging initialized using configuration in file:/home/hadoop/hive-0.9.0/conf/hive-log4j.propertiesHive history file=/tmp/hadoop/hive_job_log_hadoop_201303041631_450140463.txthive> show tables;OKTime taken: 1.988 secondshive>
8、验证Hive配置是否有误,进入Hive的shell新建表,在MySQL的Hive数据库中可以看到相应的元数据库信息。
1)在Hive上建立数据表
hive> CREATE TABLE wp(id INT,name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
2)从 MySQL 数据库上查看元数据信息
use hive; //使用 hive 数据库库
show tables;//显示 hive 数据库中的数据表
select * from TBLS;//查看 hive 的元数据信息
到此Hive集成Mysql作为元数据已完成。