Hive的安装部署
小编只是介绍一下hive的安装,并不提供资源,如需要资源请网络自取
Hive常⽤的安装分三种(注意:Hive会⾃动监测Hadoop的环境变量,如有就必须启动Hadoop)
先从本地上传Hive安装⽂件 apache-hive-2.1.1-bin.tar.gz 到 /root/soft(集群的任何文件下都可以,最好是不影响的目录下)
第一种
嵌⼊式模式:
使⽤hive⾃带默认元数据库derby来进⾏存储,通常⽤于测试
1. 优点:使⽤简单,不⽤进⾏配置
2. 缺点:只⽀持单Session。
安装步骤:
1.解压hive
并配置环境变量
#解压资源到目录下,
[root@aaa01 local]# tar -zxvf apache-hive-2.1.1-bin.tar.gz -C /usr/local
#修改Hive安装路径名,⽅便以后使⽤
[root@aaa01 local]# mv apache-hive-2.1.1-bin/ hive
[root@aaa01 local]# vi /etc/profile
# 添加如下内容:
export HIVE_HOME=/usr/local/hive
export PATH=$HIVE_HOME/bin:$PATH
#让profile⽣效
[root@aaa01 local]# source /etc/profile
2 配置hive-env.sh
一般,hive目录下conf里不存在此配置文件,但存在hive.env.sh.template,就⽤hive.env.sh.template复制⼀个
[root@aaa01 conf]#cp hive.env.sh.template hive-env.sh
复制出来hive-env.sh文件后,进入该文件(vi/vim操作命令)
在文件的最后加上配置的路径(前提是你已经有这几个应用)
export HIVE_CONF_DIR=/usr/local/hive/conf
export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/urs/local/hadoop
export HIVE_AUX_JARS_PATH=/usr/local/hive/lib
3 配置hive-site.xml
Hive2.1.1中默认是没有 hive-site.xml ,可以把 conf/hive-default.xml.template拷⻉过来使⽤
[root@aaa01 conf] cp hive-default.xml.template hive-site.xml
4 修改dir
hive-site.xml 中有两个重要的配置如下:
查看配置文件里是否有这两个配置,若没有则加入,有则修改
<!-- 该参数主要指定Hive的数据存储⽬录 -->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description>location of default database for the
warehouse</description>
</property>
<!-- 该参数主要指定Hive的临时⽂件存储⽬录 -->
<property>
<name>hive.exec.scratchdir</name>
<value>/tmp/hive</value>
<description>HDFS root scratch dir for Hive jobs which gets
created with write all (733) permission. For each connecting user,
an HDFS scratch dir: ${hive.exec.scratchdir}/<username> is
created, with ${hive.scratch.dir.permission}.</description>
</property>
在linux中新建上⾯两个⽬录,并且进⾏权限赋值
以下为集群的命令:
[root@aaa01 hive] # hdfs dfs -mkdir -p /user/hive/warehouse
[root@aaa01 hive] # hdfs dfs -mkdir -p /tmp/hive/
[root@aaa01 hive] # hdfs dfs -chmod 750 /user/hive/warehouse
[root@aaa01 hive] # hdfs dfs -chmod 777 /tmp/hive
5 修改io.tmpdir路径
[root@aaa01 hive] # mkdir iotmp
[root@aaa01 hive] # chmod 777 iotmp
注意:
把hive-site.xml 中所有包含 ${system:Java.io.tmpdir}替换成/usr/local/hive/iotmp.如果系统默认没有指定系统⽤户名,那么要把配置${system:user.name}替换成当前⽤户名如:root
6 启动hadoop(启动集群)
[root@aaa01 hadoop]# start-dfs.sh
[root@aaa01 hadoop]# start-yarn.sh
7 初始化hive
[root@aaa01 hive]# schematool -initSchema -dbType derby
8 启动hive
(注:启动之前要启动hdfs sbin/start-dfs.sh 和yarn sbin/start-yarn.sh)
第二种:
本地模式
优点:⽀持多Session
缺点:需要配置、还需要安装mysql等关系型数据库(将元数据库放在该台机器上)(多⽤户模式)通常使⽤关系型数据库来进⾏元数据存储(mysql、oracle等执⾏带jdbc驱动的数据库)
2.1 配置安装mysql(如果已经安装mysql,则跳到后面进行Hive里mysql的配置即可)
安装包准备
#查看mysql是否安装,如果安装了,卸载mysql
[root@aaa01 hive] rpm -qa|grep mysql
#如果出现下⾯的提示,就说明系统已经有了mysql,要卸载mysql-libs-5.1.73-7.el6.x86_64
# 卸载mysql
[root@aaa01 hive] rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_64
安装MySql服务器
# 1. 下载mysql服务端(先从本地上传服务端和客户端到服务器,尽量使⽤root⽤户操作)
# 如果本地没有 可以下⾯命令在线下载5.7版本
[root@aaa01 soft]# wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
# 2. 通过命令进⾏安装:
[root@aaa01 soft]# rpm -ivh mysql57-community-release-el7-11.noarch.rpm
# 通过下⾯命令可以查看是否安装
[root@aaa01 soft]# yum repolist all| grep mysql
mysql-cluster-7.5-community/x86_64 MySQL Cluster 7.5 Community
disabled
mysql-cluster-7.5-community-source MySQL Cluster 7.5 Community -
disabled
mysql-cluster-7.6-community/x86_64 MySQL Cluster 7.6 Community
disabled
mysql-cluster-7.6-community-source MySQL Cluster 7.6 Community -
disabled
mysql-connectors-community/x86_64 MySQL Connectors Community
enabled: 141
mysql-connectors-community-source MySQL Connectors Community -
disabled
mysql-tools-community/x86_64 MySQL Tools Community
enabled: 105
mysql-tools-community-source MySQL Tools Community - Sourc
disabled
mysql-tools-preview/x86_64 MySQL Tools Preview
disabled
mysql-tools-preview-source MySQL Tools Preview - Source
disabled
mysql55-community/x86_64 MySQL 5.5 Community Server
disabled
mysql55-community-source MySQL 5.5 Community Server -
disabled
mysql56-community/x86_64 MySQL 5.6 Community Server
disabled
mysql56-community-source MySQL 5.6 Community Server -
disabled
mysql57-community/x86_64 MySQL 5.7 Community Server
enabled: 404
mysql57-community-source MySQL 5.7 Community Server -
disabled
mysql80-community/x86_64 MySQL 8.0 Community Server
disabled
mysql80-community-source MySQL 8.0 Community Server -
disabled
# 通过上⾯可以看到mysql5.7 是enable状态
# 3. 通过yum开始mysql安装
[root@aaa01 soft]# yum install -y mysql-community-server
# 4. 启动mysql服务
# 启动数据库
[root@aaa01 soft]# systemctl start mysqld
# 设置开机⾃启数据库
[root@aaa01 soft]# systemctl enable mysqld
# 5. 查看产⽣的随机密码,运⾏命令后最后显示的xuzmpubKv0(f即为密码
[root@aaa01 soft]# grep 'password' /var/log/mysqld.log2020-04-14T19:20:47.261622Z 1 [Note] A temporary password isgenerated for root@localhost: xuzmpubKv0(f
# 6. ⽤上述密码登录数据库
[root@aaa01 soft] mysql -u root -p
# 7. 修改密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Root123@'(这个mysql密码可以自己修改);
下面是配置hive的mysql步骤
步骤(下⾯三个步骤同嵌⼊式安装):
1、解压并配置环境变量
2、配置hive的配置⽂件
cp hive-env.sh.template hive-env.sh vi hive-env.sh(可以配置jdk、hive的conf路径)
3、在Hive的conf配置hive的⾃定义配置⽂件 vi hive-site.xml:添加如下内容
注意:要把原来的默认的derby的连接配置要注释掉:如下:
<!-- <property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:derby:;databaseName=metastore_db;create=true</value
>
<description>
JDBC connect string for a JDBC metastore.
To use SSL to encrypt/authenticate the connection, provide
database-specific SSL flag in the connection URL.
For example, jdbc:postgresql://myhost/db?ssl=true for
postgres database.
</description>
</property> -->
添加以下内容:(xml文件里已经有了,找到进行修改)
<!--配置mysql的连接字符串-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?
createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<!--配置mysql的连接驱动-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<!--配置登录mysql的⽤户-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore
database</description>
</property>
<!--配置登录mysql的密码-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123123</value>
<description>password to use against metastore
database</description>
</property>
4、将mysql的驱动包 mysql-connector-java-5.1.27-bin.jar 上传到$HIVE_HOME/lib下(==注意:驱动是jar结尾,不是tar结尾==)
驱动包可以自己在网上查找并下载。
5、执⾏执⾏先要初始化数据库
[root@aaa01 hive]# bin/schematool -initSchema -dbType mysql
6、启动hive(在哪个文件下进行的初始化,就要在 哪个文件下进行启动,否则会报错)
[root@aaa01 hive]# bin/hive
第三种
远程模式
(将元数据库放在其他机器上)(多⽤户模式)
和本地模式差不多,只是将元数据放在别的服务器上,这种的就是咱们常说的集群模式。
可以有⼀个hive的server和多个hive的client。
本文介绍了Hive的三种安装模式:嵌入式、本地和远程。嵌入式模式适合测试,仅支持单Session;本地模式支持多Session,需要配置MySQL等数据库;远程模式适用于多用户集群,元数据存于其他服务器。详细步骤包括解压Hive,配置环境变量,修改hive-site.xml,初始化数据库等。

被折叠的 条评论
为什么被折叠?



