CentOS7完美安装Hive2.3.0
花费了两天时间,查阅了许多资料,才把hive成功安装完成。下面将和大家分享下安装和注意事项,希望大家可以少走弯路!
大家安装的和修改配置文件的时候,一定要注意自己的安装路径和下载的软件版本,不要盲目操作
1.前期准备
完成hadoop的安装,大家可以参考我的上篇文章进行安装http://blog.csdn.net/yonjarluo/article/details/77800372
完成mysql的安装,同样可以参考本人的
http://blog.csdn.net/yonjarluo/article/details/77879772
2.下载Hive
wget http://mirror.bit.edu.cn/apache/hive/hive-2.3.0/apache-hive-2.3.0-bin.tar.gz
3.解压到指定安装目录
tar -zxvf apache-hive-2.3.0-bin.tar.gz
mv apache-hive-2.3.0-bin /usr/local/hive
cd /usr/local/hive
vi /etc/profile
插入
export HIVE_HOME=/usr/local/hive
export PATH=$HIVE_HOME/bin:$PATH
使其修改立即生效
source /etc/profile
5.登录mysql数据库,并创建metastore数据库, 关闭新主库的只读属性,为其授权(用于存储hive的初始化配置)
create database metastore;
set global read_only=0;
grant all on metastore.* to hive@'%' identified by 'hive';
grant all on metastore.* to hive@'localhost' identified by 'hive';
flush privileges;
当修改数据库密码出现以下报错时:
Your password does not satisfy the current policy requirements
set global validate_password_policy=0;
set global validate_password_length=4;
如果不关闭数据库的只读属性,执行
grant all on metastore.* to hive@'%' identified by 'hive';时,会报错:
6.下载jdbc connector
点击链接Connector/J 5.1.44下载至本地主机,然后再传至
/usr/local/hive/lib
解压,把解压目录下的mysql-connector-java-5.1.44-bin.jar包,拷贝到/usr/local/hive/lib目录下
7.修改hive配置文件
cd /usr/local/hive/conf
复制初始化文件并重命名
cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
cp hive-log4j2.properties.template hive-log4j2.properties
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties
export JAVA_HOME=/usr/local/java/jdk1.8.0_141 ##Java路径,根据自己jdk安装的路径配置
export HADOOP_HOME=/usr/local/hadoop ##Hadoop安装路径
export HIVE_HOME=/usr/local/hive ##Hive安装路径
export HIVE_CONF_DIR=/usr/local/hive/conf ##Hive配置文件路径
启动Hadoop:
在hdfs中创建一下目录,并授权,用于存储文件
hdfs dfs -mkdir -p /user/hive/warehouse
hdfs dfs -mkdir -p /user/hive/tmp
hdfs dfs -mkdir -p /user/hive/log
hdfs dfs -chmod -R 777 /user/hive/warehouse
hdfs dfs -chmod -R 777 /user/hive/tmp
hdfs dfs -chmod -R 777 /user/hive/log
修改hive-site.xml
<property>
<name>hive.exec.scratchdir</name>
<value>/user/hive/tmp</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<property>
<name>hive.querylog.location</name>
<value>/user/hive/log</value>
</property>
## 配置 MySQL 数据库连接信息
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/metastore?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false</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>hive</value>
</property>
创建tmp文件
mkdir /home/hadoop/hive-2.3.0/tmp
使用vi hive-site.xml,并使用搜索 / 功能
有好几个{system:java.io.tmpdir},把所有的都修改
把{system:java.io.tmpdir} 改成 /home/hadoop/hive-2.3.0/temp/
把 {system:user.name} 改成 {user.name}
8.初始化hive
schematool -dbType mysql -initSchema hive hive
9.启动hive(两种方式)
1.直接输入:hive //直接进入,即可像操作mysql一样(除了delete,update)
2.使用beeline方式:
必须先对hadoop的core-site.xml进行配置,在文件里面添加并保存
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
如果没有配置,使用jdbc连接时,会报如下错误:
先启动hiveserver2
hiveserver2
查看hiveserver2启动状态
netstat -nptl | grep 10000
接着启动beeline
beeline
最后使用jdbc连接数据库
!connect jdbc:hive2://localhost:10000 hive hive
以上步骤即完成安装!
注意:
1.hive默认不支持delete,update操作
2.关于并发配置的修改,动态分区的配置都是默认状态
可根据需求,参考官网hive,修改hive-site.xml配置文件
本文参考:http://blog.csdn.net/lym152898/article/details/77334997,添加了细节部分!