三台虚拟机hadoop集群安装hive
时间: 2024-12-27 10:24:16 浏览: 15
### 构建三台虚拟机上的Hadoop集群并安装配置Hive
#### 准备工作
确保每台虚拟机已经正确设置了主机名,并能够通过SSH免密码登录其他节点。对于名为“hadoop1”,“hadoop2”以及“hadoop3”的三个节点来说,应该已经在`/etc/hadoop/slaves`文件中列出了所有slave节点的信息[^2]。
#### 安装MySQL数据库服务
由于Hive默认使用Derby作为元数据存储,但在分布式环境中推荐采用MySQL来替代它。因此先要在选定的一台服务器上部署MySQL:
```bash
sudo apt-get update && sudo apt-get install mysql-server -y
```
完成之后设置root用户的远程访问权限以便后续操作:
```sql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password';
FLUSH PRIVILEGES;
```
#### 下载与解压Apache Hive软件包
前往官方网站下载适合版本的Hive压缩包到任意一台机器(比如master node),接着将其分发至其余两台worker nodes:
```bash
wget https://downloads.apache.org/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
tar zxvf apache-hive-*.tar.gz
mv apache-hive-* $HOME/hive
```
#### 配置环境变量
编辑`.bashrc`或相应的shell profile文件,添加如下路径指向新安装好的hive目录下的bin子目录:
```bash
export HIVE_HOME=$HOME/hive
export PATH=$PATH:$HIVE_HOME/bin
source ~/.bashrc
```
#### 初始化Metastore Schema
切换回最初那台安装有MySQL的服务端,创建一个新的database供metastore使用;随后利用`schematool`工具初始化schema结构:
```bash
mysql> CREATE DATABASE metastore;
$HIVE_HOME/bin/schematool -dbType mysql -initSchema \
-userName root -passWord your_password \
-metaDbType mysql
```
#### 修改hive-site.xml配置文件
最后一步是在每一台参与计算过程中的计算机里都放置一份修改过的hive-site.xml文档,其中至少要包含以下几个参数项:
```xml
<configuration>
<!-- MySQL JDBC连接字符串 -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop1:3306/metastore?createDatabaseIfNotExist=true</value>
</property>
<!-- 数据库用户名 -->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<!-- 密码 -->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>your_password</value>
</property>
<!-- 指定JDBC驱动类 -->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<!-- 启用HiveServer2 -->
<property>
<name>hive.server2.thrift.http.port</name>
<value>10001</value>
</property>
<property>
<name>hive.server2.transport.mode</name>
<value>http</value>
</property>
<property>
<name>hive.server2.thrift.http.path</name>
<value>cliservice</value>
</property>
</configuration>
```
以上就是在一个基于三台虚拟机构成的小型Hadoop集群之上成功搭建起Hive所需经历的主要环节概述。
阅读全文