下载hive
https://mirror.bit.edu.cn/apache/hive/
https://mirrors.bfsu.edu.cn/apache/hive/
https://mirrors.tuna.tsinghua.edu.cn/apache/hive/
安装hive
cd ~/Downloads
sudo tar -zxvf apache-hive-3.1.2-bin.tar.gz
mv apache-hive-3.1.2-bin /usr/local
cd /usr/local
mv apache-hive-3.1.2-bin hive
配置环境变量
#sudo gedit /etc/profile
sudo vi /etc/profile
# 写入下面内容
# HIVE_HOME
export HIVE_HOME=/usr/local/hive
export PATH=$HIVE_HOME/bin:$PATH
# 刷新配置
source /etc/profile
安装MySql服务器
-
安装 mysql 服务器
sudo apt-get update sudo apt-get install -y mysql-server mysql-client
-
查看产生的随机密码
sudo gedit /etc/mysql/debian.cnf
-
查看mysql状态
sudo gedit /etc/mysql/debian.cn
-
登录mysql
sudo mysql -u debian-sys-maint -p
-
登录成功后修改root密码
use mysql; ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; exit;
-
使用root账户登录
mysql -u root -p
查询user表
use mysql; select host,user from user;
修改user表,把Host表内容修改为%扫描二维码关注公众号,回复: 13464825 查看本文章update user set host='%' where host='localhost';
Hive元数据配置到MySql
-
将mysql-connector-java-8.0.22.jar复制到/usr/local/hive/lib目录下
sudo cp mysql-connector-java-8.0.22.jar /usr/local/hive/lib/
-
配置Metastore到MySql
cd $HIVE_HOME/conf sudo gedit hive-site.xml
根据官方文档配置参数https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+Administration
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost:3306/metastore?createDatabaseIfNotExist=true</value> <description>JDBC connect string for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.cj.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> <description>username to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123456</value> <description>password to use against metastore database</description> </property> <!-- 添加如下配置信息,就可以实现显示当前数据库,以及查询表的头信息配置 --> <property> <name>hive.cli.print.header</name> <value>true</value> </property> <property> <name>hive.cli.print.current.db</name> <value>true</value> </property> </configuration>
初始化元数据库
cd $HIVE_HOME/bin
./schematool -dbType mysql -initSchema
在 mysql 下输入 show databases;
hadoop创建目录
启动 hadoop 集群
start-all.sh
# start-dfs.sh
# start-yarn.sh
在 Hive 建表之前,创建 /tmp 和/user/hive/warehouse文件目录
cd $HADOOP_HOME/bin
hadoop fs -mkdir /tmp
hadoop fs -mkdir -p /user/hive/warehouse
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse