Linux Hadoop2.7.2 Hive2.3.2 安装

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huaishu/article/details/79777145

Hive 是一个数据仓库工具,曾经ETL是数据仓库必备工具,DB2、ORACLE、SqlServer等数据库厂商提供各种数据仓库工具,互联网的到来使这些数据库工具略显老态。


1.Hadoop环境


服务器
主机名 IP地址 JDK 用户
Master 10.116.33.109 1.8.0_65 root
slave1 10.27.185.72 1.8.0_65 root
slave2 10.25.203.67 1.8.0_65 root

2.下载Hive

http://hive.apache.org/downloads.html

apache-hive-2.3.2-bin.tar.gz


3.安装

3.1解压

cd    /data/spark
tar  -zxvf  apache-hive-2.3.2-bin.tar.gz

3.2配置环境变量

vim ~/.bash_profile
配置项
export  HIVE_HOME=/data/spark/apache-hive-2.3.2-bin
export  HIVE_CONF_DIR=$HIVE_HOME/conf 
export  HIVE_CLASSPATH=$HIVE_HOME/lib
export  PATH=$HIVE_HOME/bin:$PATH 

执行 source ~/.bash_profile使环境变量生效

完整的配置项

 export HADOOP_HOME=/data/spark/hadoop-2.7.2
 export PATH=$PATH:$HADOOP_HOME/bin
 export PATH=$PATH:$HADOOP_HOME/sbin
 export HADOOP_MAPRED_HOME=$HADOOP_HOME
 export HADOOP_COMMON_HOME=$HADOOP_HOME
 export HADOOP_HDFS_HOME=$HADOOP_HOME
 export YARN_HOME=$HADOOP_HOME
 export HADOOP_ROOT_LOGGER=INFO,console
 export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
 export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

export HBASE_HOME=/data/spark/hbase-2.0.0-alpha4
export PATH=$HBASE_HOME/bin:$PATH  
export HBASE_CLASSPATH=/data/spark/hbase-2.0.0-alpha4/conf

export  HIVE_HOME=/data/spark/apache-hive-2.3.2-bin
export  HIVE_CONF_DIR=$HIVE_HOME/conf
export  HIVE_CLASSPATH=$HIVE_HOME/lib
export  PATH=$HIVE_HOME/bin:$PATH


3.3Hive配置

配置hive-site.xml文件

cd /data/spark/apache-hive-2.3.2-bin/conf
cp   hive-default.xml.template   hive-site.xml

3.4创建hdf目录

hive-site.xml目录配置hive目录

<name>hive.metastore.warehouse.dir</name>

  <value>/user/hive/warehouse</value>

   <name>hive.exec.scratchdir</name>

  <value>/tmp/hive</value>

通过hadoop 创建目录,授权、查看目录
hadoop   fs   -mkdir   -p   /user/hive/warehouse
hadoop   fs   -chmod   777   /user/hive/warehouse 

hadoop   fs   -mkdir  -p   /tmp/hive/
hadoop   fs   -chmod  777   /tmp/hive

hadoop   fs   -ls   /user/hive/
hadoop   fs   -ls   /tmp/


3.5创建Hive临时目录,修改Hive-site.xml

1.hive.downloaded.resources.dir 项改为/data/hive/tmp
读写权限:chmod 777 -R /data/hive/tmp

2.hive.server2.logging.operation.log.location 项修改参数
将${system:user.name}都替换为root

<property>
<name>hive.exec.scratchdir</name>
<value>/data/hive/tmp/</value>
<description>指定了Hive数据在HDFS上的临时文件目录</description>
</property>

<property>
<name>hive.querylog.location</name>
<value>/data/hive/log</value>
<description>Location of Hive run time structured log file</description>
</property>

3.6配置数据库,修改hive-site.xml

<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.139.200:3306/hive?useSSL=false&zeroDateTimeBehavior=convertToNull&characterEncoding=utf-8</value>
<description>通过jdbc协议连接mysql的hive库</description>
</property>

<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>jdbc的mysql驱动</description>
</property>

<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>mysql用户名</description>
</property>
  
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
<description>mysql用户密码</description>
</property>

<property>    
<name>hive.metastore.schema.verification</name>    
<value>false</value>    
<description>   </description>    
</property>

<property>
<name>hive.hwi.war.file</name>
<value>lib/hive-hwi-1.2.1.war</value>
<description>hive的web页面</description>
</property>

3.7  hive-env.sh配置

cd /data/spark/apache-hive-2.3.2-bin/conf
cp    hive-env.sh.template    hive-env.sh
vim hive-env.sh
export  HADOOP_HOME=/data/spark/hadoop-2.7.2
export  HIVE_CONF_DIR=/data/spark/apache-hive-2.3.2-bin/conf
export  HIVE_AUX_JARS_PATH=/data/spark/apache-hive-2.3.2-bin/lib
避免出现:hive Cannot find hadoop installation: $HADOOP_HOME or $HADOOP_PREFIX must be set or hadoop must be i报错

4.启动和测试

4.1.MYSQL数据库初始化

cd   /data/spark/apache-hive-2.3.2-bin/bin
schematool   -initSchema  -dbType  mysql
查看输出日志,检查是否正确创建表结构。

4.2.启动Hive

启动hive的cli服务
执行 hive ,如果后台运行Hive
nohup hive > hive.log 2>&1 &
启动服务以下2种方式:
nohup hiveserver2> hiveserver2.log 2>&1 &
nohup hive --service hiveserver2> hiveserver2.log 2>&1 &

5.常用命令

--执行查看函数的命令:
show  functions;

--执行查看sum函数的详细信息的命令:
desc function  sum;

--执行新建数据库的hive命令:
create database  db_hive_test;

--创建数据表
use  db_hive_test;
create  table  student(id int,name string)  row  format  delimited  fields   terminated  by  '\t';

--手动指定存储位置
create database hive02 location '/hive/hive02';

--添加其他信息(创建时间及数据库备注)
create database hive03 comment 'it is my first database' with dbproperties('creator'='kafka','date'='2015-08-08');

--查看数据库的详细信息
describe database hive03;
--更详细的查看
describe database extended hive03;

--最优的查看数据库结构的命令
describe database formatted hive03;

--database只能修改dbproperties里面内容
alter database hive03 set dbproperties('edited-by'='hanmeimei');


猜你喜欢

转载自blog.csdn.net/huaishu/article/details/79777145