HIVE安装及配置
1、mysql安装需要软件为:
MySQL-client-5.5.28-1.linux2.6.x86_64.rpm(client端)
MySQL-server-5.5.28-1.linux2.6.x86_64.rpm #server端
mysql-connector-java-5.1.10.jar (mysql驱动包)
2、安装mysql server 端
rpm -qa |grep mysql #检查是否已经安装
rpm -e mysql* --nodeps #删除已经安装的mysql
rpm -i MySQL-server-5.5.28-1.linux2.6.x86_64.rpm
#安装mysql服务端
mysqld_safe &
#启动mysql 服务端,执行命令
3、安装mysql客户端
rpm -i MySQL-client-5.5.28-1.linux2.6.x86_64.rpm
4、设置root用户密码
mysql_secure_installation #设置root用户密码
在这里mysql安装完毕了
5、配置mysql 做为hive的元数据存储位置
hive下载地址:http://archive.apache.org/dist/hive/hive-0.13.1/
6、配置hive-0.13.1/conf/hive-env.sh
内容为:
# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/opt/hadoop
# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/opt/hive-0.13.1/conf
7、配置hive-0.13.1/conf/hive-site.xml内容为:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://cloud1:3306/hive?createDatabaseIfNotExist=true</value> #############这里设数据库为hive
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hadoop</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hadoop</value>
</property>
这里配置hadoop用户访问mysql 首先hadoop必须有权限访问mysql 因为我是用 root用户安装的mysql
8、授权:(我这里有5台机器)
GRANT ALL PRIVILEGES ON *.* TO 'hadoop'@'192.168.80.20' IDENTIFIED BY 'hadoop' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'hadoop'@'192.168.80.21' IDENTIFIED BY 'hadoop' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'hadoop'@'192.168.80.22' IDENTIFIED BY 'hadoop' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'hadoop'@'192.168.80.23' IDENTIFIED BY 'hadoop' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'hadoop'@'192.168.80.24' IDENTIFIED BY 'hadoop' WITH GRANT OPTION;
9、启动mysql
mysql -u root -p
我这里没有密码 回车就ok
10、因为上面的配置数据库为hive 可以在mysql中查看
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| hive |
| mysql |
| performance_schema |
| test |
+--------------------+
5 rows in set (0.04 sec)
11、使用hive数据库
mysql> use hive
show tables
结果为
| Tables_in_hive |
+---------------------------+
| BUCKETING_COLS |
| CDS |
| COLUMNS_V2 |
| DATABASE_PARAMS |
| DBS |
| FUNCS |
| FUNC_RU |
| GLOBAL_PRIVS |
| PARTITIONS |
| PARTITION_KEYS |
| PARTITION_KEY_VALS |
| PARTITION_PARAMS |
| PART_COL_STATS |
| ROLES |
| SDS |
| SD_PARAMS |
| SEQUENCE_TABLE |
| SERDES |
| SERDE_PARAMS |
| SKEWED_COL_NAMES |
| SKEWED_COL_VALUE_LOC_MAP |
| SKEWED_STRING_LIST |
| SKEWED_STRING_LIST_VALUES |
| SKEWED_VALUES |
| SORT_COLS |
| TABLE_PARAMS |
| TAB_COL_STATS |
| TBLS |
| VERSION
select * from DBS;
+-------+-----------------------+------------------------------------+---------+------------+------------+
| DB_ID | DESC | DB_LOCATION_URI | NAME | OWNER_NAME | OWNER_TYPE |
+-------+-----------------------+------------------------------------+---------+------------+------------+
| 1 | Default Hive database | hdfs://cluster/user/hive/warehouse | default | public | ROLE |
+-------+-----------------------+------------------------------------+---------+------------+------------+
1 row in set (0.00 sec)
12、启动hive
cd $HIVE_HOME/bin
hive
[root@cloud1 bin]# hive
15/10/17 23:43:46 WARN conf.HiveConf: DEPRECATED: hive.metastore.ds.retry.* no longer has any effect. Use hive.hmshandler.retry.* instead
Logging initialized using configuration in jar:file:/opt/hive-0.13.1/lib/hive-common-0.13.1.jar!/hive-log4j.properties
hive> create table student (id int,name string) row format delimited fields terminated by '\t';
OK
13、在hive中创建表
create table student (id int,name string) row format delimited fields terminated by '\t';
加载数据
load data local inpath '/opt/xiaoming/a.txt' overwrite into table student ;
查看数据
hive> select * from student;
OK
1 xiaoming
2 zhangsan
3 lisi
Time taken: 4.015 seconds, Fetched: 3 row(s)
搞定了