小狼一直在想怎么安装hive,hive顾名思义,数据仓库,一般用Java代码写mapreduce,高延迟,麻烦。我们一般使用hive来完成简单的mapreduce。
安装hive,首先要先安装mysql,我们还是用yum命令安装。
首先,yum install -y mysql 安装mysql客户端
yum install -y mysql-server 安装mysql服务器
安装完成之后
[hadoop@master data]$ sudo vi /etc/my.cnf
加上一句default-character-set=utf8设定编码
设置开机启动
[hadoop@master data]$ sudo chkconfig mysqld on
[hadoop@master data]$ sudo chkconfig --list | grep mysql*
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
启动mysql服务
[hadoop@master data]$ sudo service mysqld start
设置mysql用户名密码
[hadoop@master data]$ mysqladmin -u root password root
登录mysql
[hadoop@master data]$ mysql -uroot -proot
处理hive
把mysqljar包放入hive的lib目录下
配置
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/data/hadoop/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
GRANT ALL PRIVILEGES ON *.* TO 'root'@'master' IDENTIFIED BY 'root' WITH GRANT OPTION;
启动hive,在mysql中设置
alter database hive character set latin1;
ok!