1.下载对应版本的hive,然后通过ftp上传到linux服务器,解压,然后改名,我是放在/usr/local
目录下面。
#给该文件可读可写可执行权限
chmod 777 hive-0.10.0.tar.gz
#移动到/usr/local目录下面
cp hive-0.10.0.tar.gz /usr/local
#解压该文件
tar -xvf hive-0.10.0.tar.gz
#将该文件改名为hive(便于操作)
mv hive-0.10.0.tar.gz hive
2.修改linux的配置文件:
vim /etc/profile
然后在下面添加环境变量:
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/bin
然后保存退出,并执行下面命令使得环境变量生效:
source /etc/profile
3.进入hive目录下面的conf目录,将下面两个文件改一下名字:
mv hive-env.sh.template hive-env.sh
mv hive-default.xml.template hive-site.xml
4.修改hadoop/conf目录下面hadoop-env.sh文件(否则启动hive会报找不到类的错误):
# Extra Java CLASSPATH elements. Optional.
export HADOOP_CLASSPATH=.:$CLASSPATH:$HADOOP_CLASSPATH:$HADOOP_HOME/bin
5.修改hive/conf目录下面的hive-config.sh,增加下面三行:
export JAVA_HOME=/usr/local/jdk
export HIVE_HOME=/usr/local/hive
export HADOOP_HOME=/usr/local/hadoop
现在便可以启动hive:
运行:hive
然后运行show tables
,便可以查看里面的表。
因为hive默认使用的元数据数据库是Derby,只允许单用户访问,我们需要在这里将他改为Mysql,下面是如何改为mysql:
1.安装mysql:
先查看一下是否已经安装了mysql:
rpm -qa | grep mysql
如果有相关软件先强制卸载它:
rpm -e mysql-libs-5.1.71-1.el6.x86_64 --nodeps
然后安装mysql-server:
rpm -i MySQL-server-5.6.26-1.el7.x86_64.rpm
安装完成后后台启动:
mysqld_safe &
然后安装mysql-client:
rpm -i MySQL-client-5.6.26-1.el7.x86_64.rpm
然后执行下面的命令设置root密码:
mysql_secure_installation
进入mysql并创建数据库:
mysql -uroot -proot
create database hive
然后赋予所有权限:
grant all on hive.* to root@'%' identified by 'root';
使设置生效:
flush privileges
把数据库的字符类型改为latin1:
set global binlog_format='MIXED';
2.修改一下hive的配置文件:hive/conf/hive-site.xml
:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://172.21.15.16:3306/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>
3.将jdbc的jar包复制到/usr/local/hive/lib中,便可以启动hive