4大数据实战系列-hive安装配置优化
1 基础环境
- 1.1 版本预览
Cnetos 6.5 已安装
Hadoop 2.8 已安装集群
Hive 2.3 待安装
Mysql 5.6 已安装
Spark 2.1.1 已安装
-
1.2 机器环境
机192.168.0.251 slave
192.168.0.252 master
Hadoop:hadoop已做双机无密码登录1.3 工作路径*Hadoop:/home/data/app/hadoop/hadoop-2.8.0/etc/hadoop
Spark:/home/data/app/hadoop/spark-2.1.1-bin-hadoop2.7
Hive数据路径: /user/hive/warehouse/*
2安装
- 2.1 下载hive
http://hive.apache.org/downloads.html
- 2.2 下载mysql-connector
http://dev.mysql.com/downloads/connector/j/
- 2.3 安装
Hive:
Cd /data/software
Rz apache-hive-2.3.0-bin.tar.gz
Tar -zxvf apache-hive-2.3.0-bin.tar.gz
Mv apache-hive-2.3.0-bin /home/data/app/hadoop/
Mysql-connector:
/home/data/app/hadoop/hive-2.3.0/lib
Tar -zxvf mysql-connector-java-5.1.44.tar.gz
Cd mysql-connector-java-5.1.44
Mv mysql-connector-java-5.1.44-bin.jar ../
3 配置
- 3.1 初始配置
Vim /etc/profile
export HIVE_HOME=/home/data/app/hadoop/hive-2.3.0
export PATH=$PATH:$HIVE_HOME/bin
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
- 3.2 hive-env.sh环境配置
export JAVA_HOME=/home/data/software/jdk1.8.0_121 ##Java路径
export HADOOP_HOME=/home/data/app/hadoop/hadoop-2.8.0 ##Hadoop安装路径
export HIVE_HOME=/home/data/app/hadoop/hive-2.3.0 ##Hive安装路径
export HIVE_CONF_DIR=/home/data/app/hadoop/hive-
2.3.0 /conf ##Hive配置文件路径
- 3.3 创建配置路径
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
-
3.4 hive-site.xml配置
-
2.4.1 配置连接mysql
<!--hive临时数据 -->
<property>
<name>hive.exec.scratchdir</name>
<value>/user/hive/tmp</value>
</property>
<!--hive数据库的数据文件-->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<!--hive日志-->
<property>
<name>hive.querylog.location</name>
<value>/user/hive/log</value>
</property>
<!--hive连接mysql,mysql存储hive数据库配置信息-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.0.2513306/hive?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>
- 3.4.2 配置tmp路径
mkdir /home/data/app/hadoop/hive-2.3.0/tmp
把{system:java.io.tmpdir} 改成 /home/data/app/hadoop/hive-2.3.0/tmp/
把 {system:user.name} 改成 {user.name}
4 初始化hive
schematool -dbType mysql -initSchema hive hive
5 启动测试
- 5.1 hive启动
- 5.1.1 hiveserver
Cd /home/data/app/hadoop/hive-2.3.0/bin
Nohup ./hiveserver2 &
ps -ef|grep hive|grep -v grep
- 5.1.2 hive
./hive
Debug 模式:hive -hiveconf hive.root.logger=DEBUG,console
Show databases;
Create database hive_data;
请检查 mysql->hive->dbs表
hadoop fs -ls /user/hive/warehouse
-
5.2 beeline启动
-
5.2.1同上先启动hiveserver
-
5.2.2 hadoop core-site.xml添加配置:
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
./beeline
6 任务运行分析webUI
总结:hive运行在hadoop上,数据库文件存储hdfs,job task是mapreduce执行,所以数据库存储是分布式,任务执行也是多节点并行执行
http://192.168.0.252:8088