Hive 安装配置
前提是已经安装好 hadoop,并配置好 JAVA_HOME HADOOP_HOME 变量
1. 下载
从官方下载页面下载相应的软件包 https://hive.apache.org/downloads.html
1.1 解压至 /usr/local
tar -xzvf apache-hive-2.3.9-bin.tar.gz -C /usr/local
1.2 重命名为 hive
mv /usr/local/apache-hive-2.3.9-bin hive
1.3 添加到系统环境中
vim 编辑 ~/.bashrc 文件,添加以下内容
HIVE_HOME=/usr/local/hive
PATH=$PATH:$HIVE_HOME/bin
(如果文件末尾没有 export PATH
语句,就加上)
2. 修改元数据库为 mysql
前提是已经安装好 mysql
如果 mysql 还没启动,先启动
service mysql start
2.1 创建 hive 用户并授权
使用 root 用户登录到 mysql 后依次执行以下语句
create user 'hive' identified by 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;
flush privileges;
create database hive;
默认情况下Mysql只允许本地登录,所以需要修改配置文件将地址绑定给注释掉:
修改 /etc/mysql/my.cnf 或者 /etc/mysql/mysql.conf.d/mysqld.cnf
# bind-address = 127.0.0.1 <---注释掉这一行就可以远程登录了
2.2 修改 hive 配置
将默认的配置文件复制一份
cp /usr/local/hive/conf/hive-default.xml.template /usr/local/hive/conf/hive-site.xml
使用 vim 编辑这个 hive-site.xml 文件。将其中<configuration></configuration>
包含的内容全部删掉(这两个标签本身留下),修改为以下内容
<configuration>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://127.0.0.1:3306/hive?characterEncoding=UTF-8</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
</configuration>
2.3 复制 mysql-connector-java 的 jar 包到 hive 类库中
如果本机没有,去 mvn 下载: https://mvnrepository.com/artifact/mysql/mysql-connector-java
cp /mnt/e/TDDOWNLOAD/mysql-connector-java-8.0.25.jar /usr/local/hive/lib
2.3 初始化元数据库
执行以下命令
schematool -dbType mysql -initSchema
2.4 启动 hive
先启动 hadoop
$HADOOP_HOME/sbin/start-dfs.sh
启动 yarn
$HADOOP_HOME/sbin/start-yarn.sh
再启动 hive
hive
如果这时候出现以下警告
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
则修改前面 hive-site.xml 配置文件中的 com.mysql.jdbc.Driver
为 com.mysql.cj.jdbc.Driver
重新执行 hive 命令进入 hive 命令行,建个表试试:
3. 使用 beeline
3.1 修改hadoop配置文件hdfs-site.xml,表示启用webhdfs
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
3.2 修改hadoop配置文件core-site.xml,表示设置可访问的用户及用户组
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
注意这里的用户(也就是上面 xml 代码中 name 节点内的 hadoop)是 linux 用户;组也是
3.3 修改hive的配置文档hive-site.xml
<property>
<name>hive.server2.thrift.bind.host</name>
<value>localhost</value>
</property>
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
3.3 重启 hadoop
/usr/bin/local/hadoop/sbin/stop-dfs.sh
/usr/bin/local/hadoop/sbin/start-dfs.sh
3.4 启动 hiveserver2
/usr/bin/local/hive/bin/hiveserver2
正常启动后就只有这行消息,没别的提示的。不用管它
3.5 使用 beeline 连接 hive
进入 beeline
/usr/bin/local/hive/beeline
连接 hive
beeline> !connect jdbc:hive2://127.0.1.1:10000/default
Enter username for jdbc:hive2://127.0.1.1:10000/default: hadoop # 这里输入 3.2 节里面设置的用户名
Enter password for jdbc:hive2://127.0.1.1:10000/default: # 用户对应的密码
可以愉快地玩耍了
(本文完)
--------------------------------------------------------------------------------------------------------------------------
致虚极,守静笃
使用我的阿里云幸运券,购买阿里云ECS有优惠:阿里云幸运券
>>>>> 腾讯云新用户优惠 <<<<<
--------------------------------------------------------------------------------------------------------------------------
致虚极,守静笃
使用我的阿里云幸运券,购买阿里云ECS有优惠:阿里云幸运券
>>>>> 腾讯云新用户优惠 <<<<<