1.实验环境
Ubuntu20.04 + Hadoop 3.3.1 + jdk1.8 + hive3.1.2 + mysql 8;
安装包大家在百度网盘自取:
链接:https://pan.baidu.com/s/1u49At39eNogCdz-DMIV3Ew
提取码:txyb
2.配置hive
默认你已经下载好安装包,并且在~/Downloads目录下
cd Downloads
ls
解压/usr/local目录下
sudo tar -zxvf ./apache-hive-3.1.2-bin.tar.gz -C /usr/local
重命名为hive(简短方便)
sudo mv apache-hive-3.1.2-bin hive
把hive目录权限赋予给hadoop用户
sudo chown -R hadoop ./hive
如图
配置环境变量:
vim ~/.bashrc
把下面内容添加进去(点击i键进入输入)
export HIVE_HOME=/usr/local/hive
export PATH = $PATH:$HIVE_HOME/bin
点击Esc,输入(:wq)保存退出
使配置生效
source ~/.bashrc
配置hive-site.xml文件
cd /usr/local/hive/conf
mv hive-default.xml.template hive-dafault.xml
vim hive-site.xml
把下面内容添加进去,保存退出
<configuration>
<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>
<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>hive</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
<description>password to use against metastore database</description>
</property>
</configuration>
下载并导入mysql jdbc驱动:默认你已经将jar包下载到~/Downloads目录
cd Downloads
sudo tar -zxvf mysql-connector-java-5.1.48.tar.gz
cp mysql-connector-java-5.1.48/mysql-connector-java-5.1.48-bin.jar /usr/local/hive/lib
3.配置mysql
如果本机上之前有安装过mysql并且没有删除完整,可能会对后面的环境搭建造成影响,可以用一下方式 进行卸载(依次执行下面命令即可):
sudo apt purge mysql-*
sudo rm -r /etc/mysql
sudo rm -r /var/lib/mysql
sudo apt autoremove
sudo apt autoclean
使用apt方式安装mysql:
sudo apt-get install mysql-server -y
sudo apt install mysql-client -y
sudo apt install libmysqlclient-dev -y
检查是否安装成功
sudo netstat -tap | grep mysql
如果出现mysql相关信息,说明安装成功,如下:
我们是本地连接mysql,即本地登录。由于安装过程中没有设置root 用户密码,无法直接登录。可以通过以下方 式,使用默认用户名密码登录:
sudo cat /etc/mysql/debian.cnf
登录mysql:
service mysql stop
service mysql start
mysql -u user -p
注意:命令中的user替换为你的user,密码为你的passwd,比如我的命令mysql -u debian-sys-maint -p ,我的passwd为QR6SsNMMZ3pJL1oK(上张照片有)
进入到mysql之后,我们可以设置一个hive用户,命令如下:
use mysql;
flush privileges; //刷新一下配置
create USER 'hive'@'localhost' identified with mysql_native_password by '此处为hive用户密码自行设置';
flush privileges;
之后,就可以使用hive这个账户登录mysql
mysql -u hive -p
进去之后:
create database hive;
grant all on *.* to 'hive'@'localhost' identifid by 'hive';
flush privileges;
exit;
配置完成,启动Hadoop,hive
start-dfs.sh
start-yarn.sh
jps
hive
成功是这个样子的