欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Hive安装与部署

程序员文章站 2022-05-29 10:32:36
进去root权限(su) 1.从https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-1.2.2/apache-hive-1.2.2-bin.tar.gz获取镜像地址选择版本下载(此处使用清华开源的Apache-hive1.2.2版本) wget ......
进去root权限(su)

1.从获取镜像地址选择版本下载(此处使用清华开源的apache-hive1.2.2版本)

wget 下载地址

2.解压安装hive

tar -xzvf apache-hive-1.2.2-bin.tar.gz

3.设置hive环境变量

vim /etc/profile
加入(根据自己安装的路径来写)
export hive_home=/usr/local/hive
export path=$path:$hive_home/bin

4.配置hive

# cd $hive_home/conf(进入hive目录下)

此处为:
cd /usr/local/hive/conf
cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-default.xml
cp hive-log4j2.properties.template hive-log4j2.properties
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties

5.创建hdfs目录(开启hadoop:start-all.sh)

hdfs dfs -mkdir -p /usr/hive/warehouse(此处的-p指直接创建多级目录,一次创建成功)
hdfs dfs -mkdir -p /usr/hive/tmp
hdfs dfs -mkdir -p /usr/hive/log
hdfs dfs -chmod g+w /usr/hive/warehouse(设置权限)
hdfs dfs -chmod g+w /usr/hive/tmp
hdfs dfs -chmod g+w /usr/hive/log

6.修改 hive-env.sh(位于$hive_home/bin)

vim hive-env.sh
(以下修改自己对应的路径,以下仅供参考)
export java_home=/home/xiaolanlin/jdk1.8.0_201
export hive_home=/usr/local/hive
export hadoop_home=/usr/local/hadoop-2.7.6
export hive_conf_dir=/usr/local/hive/conf

7.修改 hive-site.xml(位于$hive_home/conf)

vim hive-site.xml
替换以下参数
<property>
<name>javax.jdo.option.connectionurl</name>
<value>jdbc:mysql://localhost:3306/hive</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>xiaolanlin</value>#数据库用户名
<description>username to use against metastore database</description>
</property>
 
<property>
<name>javax.jdo.option.connectionpassword</name>
<value>linxiaolan</value>#数据库密码
<description>password to use against metastore database</description>
</property>
下面的部分如果不配置会产生错误
<property>
<name>hive.exec.local.scratchdir</name>
<value>/usr/local/hive</value>
<description>local scratch space for hive jobs</description>
</property>
 
<property>
<name>hive.downloaded.resources.dir</name>
<value>/usr/local/hive/hive-downloaded-adddir/</value>#自定义目录
<description>temporary local directory for added resources in the remote file system.</description>
</property>
 
<property>
<name>hive.querylog.location</name>
<value>/usr/local/hive/querylog-location-adddir/</value>#自定义目录
<description>location of hive run time structured log file</description>
</property>
 
<property>
<name>hive.server2.logging.operation.log.location</name>
<value>/usr/local/hive/hive-logging-operation-log-adddir/</value>#自定义目录
<description>top level directory where operation logs are stored if logging functionality is enabled</description>
</property>

8.修改hive-log4j.properties

vim hive-log4j.properties
hive.log.dir=自定义目录

9.删除hive-site.xml.swp

rm -rf ./conf/.hive-site.xml.swp(文件修改过程中退出出现的错误,会产生缓存文件,将其删除)

10.创建数据库和用户

linux(ubuntu16.04)安装mysql参考教程
mysql -uroot -p(输入密码后进入mysql)
hive> create database hive default charser utf8 collate utf8_general_ci;
hive> show databases;
hive> grant all on hive.* to 'hive'@'%' identified by 'hive';(将所有数据库的所有表的所有权限赋给hive用户,后面的hive是配置hive-site.xml中配置的连接密码)
hive> flush privileges;(刷新mysql系统权限关系表)
hive> exit;(quit;)

11.数据库的初始化

schematool -initschema -dbtype mysql

12.启动hive

hive --service metastore
hive

遇到的问题:

1.还未安装jdbc

Hive安装与部署
wget http://central.maven.org/maven2/mysql/mysql-connector-java/6.0.6/mysql-connector-java-6.0.6.jar(此版本不是目前最新)

2.解决了上面这个问题后,接下来依然报错

Hive安装与部署
于是我决定将版本升级为目前最新版本
wget http://central.maven.org/maven2/mysql/mysql-connector-java/8.0.15/mysql-connector-java-8.0.15.jar(此版本为目前最新)

3.于是出现了新的报错(坑越踩越多,还是继续加油吧^~^)

Hive安装与部署
报错说它不是最新版本……
我开始怀疑人生……
决定检查一下我是不是有什么还没做
噢,数据库还没创建!!!~~~~~~~~

4.请往上面第10点创建数据库。(↑↑↑↑)