# Hive 的安装 本地和远程模式安装配置方式大致相同,本质上是将 Hive 默认的元数据存储介质由自带的 Derby 数据库替换为 MySQL 数据库,这样无论在任何目录下以任何方式启动 Hive,只要连接的是同一台 Hive 服务,那么所有节点访问的元数据信息是一致的,从而实现元数据的共享。下面就以本地模式为例,讲解安装过程。 本地模式的 Hive 安装主要包括两个步骤:首先安装 MySQL 服务,再安装 Hive。具体步骤如下:
# 安装 MySQL 服务MySQL安装方式有许多种,可以直接解压安装包进行相关配置,也可以选择在线安装,本节选用在线安装MySQL方式。在线安装MySQL的具体指令和说明如下:
# 切换 yum 源
命令行提示符 修改镜像的内容,一定要确定修改的是正确并且完整,修改的文本内容如下,删除的时候可以在命令模式下输入【100dd】快速删除,操作演示如下:
需要修改的 yum 镜像文件如下也可以在下发的文件中进行复制:
yum镜像文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 [base] name=CentOS-6.10 - Base - mirrors.aliyun.com failovermethod=priority baseurl=http://mirrors.aliyun.com/centos-vault/6.10/os/$basearch/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6 #released updates [updates] name=CentOS-6.10 - Updates - mirrors.aliyun.com failovermethod=priority baseurl=http://mirrors.aliyun.com/centos-vault/6.10/updates/$basearch/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6 #additional packages that may be useful [extras] name=CentOS-6.10 - Extras - mirrors.aliyun.com failovermethod=priority baseurl=http://mirrors.aliyun.com/centos-vault/6.10/extras/$basearch/ gpgcheck=1 gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-6.10 - Plus - mirrors.aliyun.com failovermethod=priority baseurl=http://mirrors.aliyun.com/centos-vault/6.10/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6 #contrib - packages by Centos Users [contrib] name=CentOS-6.10 - Contrib - mirrors.aliyun.com failovermethod=priority baseurl=http://mirrors.aliyun.com/centos-vault/6.10/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirrors.aliyun.com/centos-vault/RPM-GPG-KEY-CentOS-6
# 清除 yum 缓存
Bash命令
# 在线安装 MySql 软件
Bash命令 安装完成后,如图片所示,则数据库安装完成:
# 启动 mysql 服务
Bash命令 1 2 [root@master ~] [root@master ~]
上述指令中,首先通过 “yum install” 命令下载并安装 MySQL 程序,并且启动 MySQL 服务,然后就可以使用 MySQL 命令连接到 MySQL 客户端。
需要注意的是,上述安装与启动 MySQL 程序仅限于 Centos6 中使用。 说明 :如果是 CentOS7 可以参考:
Centos7 在线安装和配置 MySQL5.7 - SegmentFault 思否
# 修改登录 MySQL 用户名和密码 bash 进入 mysql 数据库
Bash命令
数据库界面 1 2 3 4 5 6 7 8 mysql> set password for root@localhost=password('123456'); Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)
结果显示如下:
运行结束后,【ctrl+c】退出 mysql 数据库!
# 安装 Hive# 上传 Hive 安装包并解压 创建出存放 hive 软件的目录和安装的目录,切换至 software
目录,将软件包拖放至此,然后在进行解压到 servers
。
Bash命令 1 2 3 4 [root@master ~] [root@master ~] [root@master ~] [root@master software]
打开
新建文件传输
图标,如下所示:
Bash命令
一定要确定是解压成功之后在操作,解压成功会有如下信息显示。
# 修改配置文件 首先,切换目录到 hive 配置文件目录下,由于 Hive 安装包 conf 目录下,没有提供 hive-site.xml 文件,这里需要创建并编辑一个 hive-site.xml 配置文件,具体内容如下所示:
Bash命令 1 2 [root@master servers] [root@master conf]
将以下配置信息粘贴进去,并保存退出。
hive配置文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 <configuration > <property > <name > javax.jdo.option.ConnectionURL</name > <value > jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value > <description > Mysql连接协议</description > </property > <property > <name > javax.jdo.option.ConnectionDriverName</name > <value > com.mysql.jdbc.Driver</value > <description > JDBC连接驱动</description > </property > <property > <name > javax.jdo.option.ConnectionUserName</name > <value > root</value > <description > 用户名</description > </property > <property > <name > javax.jdo.option.ConnectionPassword</name > <value > 123456</value > <description > 密码</description > </property > </configuration >
# 依赖包的更换 将桌面的 mysql-connector-java-5.1.21.jar
Mysql 驱动包放到 /export/servers/apache-hive-1.2.1-bin/lib
目录中,如下图所示: 开两个 新建文件传输窗口
将 Hadoop 中的 Jline 包替换成 hive 包中 Jline 包,并将 Hadoop 中旧的 Jline 包版本删除,一定要删除,否则还是旧版本。 注意:如果拖不过去的话,就先将 Jline 包拖放到桌面,然后再放进 Hadoop 文件夹中。
# 启动 Hadoop 集群
Bash命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [root@master conf] WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP_SECURE_DN_USER. Starting namenodes on [master] Last login: Thu Nov 25 05:04:04 CST 2021 from 192.168.128.1 on pts/0 Starting datanodes Last login: Thu Nov 25 05:43:45 CST 2021 on pts/0 Starting secondary namenodes [master] Last login: Thu Nov 25 05:43:48 CST 2021 on pts/0 Starting resourcemanager Last login: Thu Nov 25 05:43:53 CST 2021 on pts/0 Starting nodemanagers Last login: Thu Nov 25 05:44:00 CST 2021 on pts/0 [root@master ~] 1824 SecondaryNameNode 2375 Jps 2059 ResourceManager 1566 NameNode
初始化 Mysql 元数据
Bash命令 1 2 3 4 5 6 7 8 9 [root@master conf] [root@master bin] Metastore connection URL: jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true Metastore Connection Driver : com.mysql.jdbc.Driver Metastore connection User: root Starting metastore schema initialization to 1.2.0 Initialization script hive-schema-1.2.0.mysql.sql Initialization script completed schemaTool completed
# 启动 Hive
Bash命令 1 2 3 4 5 6 7 [root@master bin] Logging initialized using configuration in jar:file:/export /servers/apache-hive-1.2.1-bin/lib/hive-common-1.2.1.jar!/hive-log4j.properties hive> show databases; OK default Time taken: 0.901 seconds, Fetched: 1 row(s)
到此为止,Hive 已经安装完成!!