如果是集群,只需要在一个节点上安装就可以
cd ~/soft/
tar -zxvf hive-0.12.0.tar.gz
mv hive-0.12.0 hive
#vi /etc/profile
export HIVE_HOME=/usr/local/hive
export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HIVE_HOME/bin
#source /etc/profile
cd conf
mv hive-exec-log4j.properties.template hive-exec-log4j.properties
mv hive-log4j.properties.template hive-log4j.properties
mv hive-env.sh.template hive-env.sh
mv hive-default.xml.template hive-default.xml
mv hive-default.xml.template hive-default.xml
mv hive-default.xml.template hive-site.xml
vi hive-site.xml 清空所有内容,只保留<configuration></configuration>,当需要时再添加,或者保留全部,采用默认的配置
指定hive在hdfs上的数据存储目录
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
指定hive数据临时文件目录
<property>
<name>hive.exec.scratchdir</name>
<value>/tmp/hive-${user.name}</value>
<description>Scratch space for Hive jobs</description>
</property>
本地日志路径【启动的时候,注意观察日志输出情况】
<property>
<name>hive.querylog.location</name>
<value>/tmp/${user.name}</value>
<description>
Location of Hive run time structured log file
</description>
</property>
cd bin
echo $JAVA_HOME
echo $HADOOP_HOME
vi hive-config.sh
export JAVA_HOME=/usr/local/jdk
export HIVE_HOME=/usr/local/hive
export HADOOP_HOME=/usr/local/hadoop
hive 执行该命令,进入cli
show databases;
use defualt;
show tables;
create table t1(id int);
show tables;
select * from t1;
quit;
通过集群管理界面,查看创建的表和hdfs的目录对应关系
http://grid131:50070
当hive部署成功后,hive默认的数据库default在hdfs上对应的目录是/user/hive/warehouse
安装遇到问题:
1、敲入hive命令的时候,注意看日志文件报错信息
2、jar包冲突了,hadoop和hive的slf日志包冲突,导致在敲入hive启动的时候,报错。
3、解决办法,删除hadoop日志包。【注意该操作是否会对hbase造成影响】
加载数据:
创建表:
use default;
create table t1(int id);
load data local inpath './onecolumn' into table t1;
注意数据如果出现转换不了的情况,就会出现NULL,例如,aa.txt最后一行是空行
想要把NULL删除,不行,需要把数据全部删除再重新导入
删除表:
drop table t1;
创建多列的表:
create table t2(id int, name string) row format delimited fields terminated by '\t';
1 aa
2 bb
3 cc
load data local inpath './onecolumn' into table t1;
注意select 列 from table和select * from table,在控制台输出的区别,一个走的是mapreduce、一个走的是全表扫面,截图如下:
more a.txt
安装MySQL:
sudo dpkg -i mysql-advanced-5.6.22-debian6.0-i686.deb
sudo apt-get install mysql-server Ubuntu
sudo yum install mysql-server Centos
mysql
ps -ef| grep mysql
service mysqld status;
service mysqld start;
mysql -uroot;
show databases;
use mysql;
show tables;
//修改密码
select password, user from user;
update user set password=password('admin');
flush privileges;
mysql -uroot -padmin;
ps -ef| grep mysql
//远程连接
mysql -hgrid132 -uroot -padmin
grant all on *.* to 'root'@'%' identified by 'admin'; flush privileges;
任何客户端用root用户、admin密码登陆的,对任何数据库任何表、视图。。。有权限
grant all on *.* to 'root'@'%' indentified by 'admin'
*.*:所有表、所有数据库
@'%':所有机器
flush privileges;
//在grid131远程连接grid132
mysql -grid131 -uroot -padmin
http://tydldd.iteye.com/blog/1906493
sudo alien libaio-devel-0.3.106-3.2.x86_64.rpm
Ubuntu中apt-get下载的安装包都在哪里呢?
在/var/cache/apt/archives里,里边的安装包可以取出来以备后用。
sudo apt-get install libaio-dev
拷贝mysql驱动包
cp /mnt/software/ hive/lib