今天对Hadoop生态系统又稍稍有了一点更深入的认识。主要来自林子雨大数据技术原理与应用。

在安装hive之前需要安装hadoop,因为hive本身并没有提供数据存储功能。它的数据是存储在hadoop的HDFS上面的。其次需要安装Mysql,hive的元数据是存储在数据库上面的,一般是MySql。
在安装Hive时要注意Hive的版本号和Hadoop的版本号是否兼容!!
在安装Hive时要注意Hive的版本号和Hadoop的版本号是否兼容!!
在安装Hive时要注意Hive的版本号和Hadoop的版本号是否兼容!!
1.安装hive
brew install hive

2.配置环境变量
vim ~/.bash_profile
按i编辑,添加输入以下内容后,esc,shift+:wq退出并保存
#Setting PATH for Hiveexport HIVE_HOME=/usr/local/Cellar/hive/3.1.2/libexecexport PATH=$PATH:HIVE_HOME/bin
保存退出以后输入source ~/.bash_profile,更改环境变量。
3.配置MySQL(作为hive的元数据存储数据库)
通过terminal进入mysql进行操作,输入绝对路径
usr/local/mysql/bin/mysql -u root -p
输入密码登录。
create database hivestore;CREATE USER 'hadoop'@'%' IDENTIFIED BY 'mysql';GRANT ALL PRIVILEGES ON *.* TO 'hadoop'@'%' WITH GRANT OPTION;flush privileges;
这里创建的用户名是 hadoop, 密码 mysql.
第1行:创建数据库
第2,3行:创建用户,赋予权限
第4行:权限生效
退出mysql,quit
4.修改Hive配置文件
cd $HIVE_HOME/confcp hive-default.xml.template hive-site.xmlvim hive-site.xml
修改hive-site.xml文件中的部分内容,找到conf文件夹hive-site.xml文件,用BBEdit打开后编辑修改:
<configuration><property><name>javax.jdo.option.ConnectionUserName</name><value>hadoop</value></property><property><name>javax.jdo.option.ConnectionPassword</name><value>mysql</value></property><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://localhost:3306/hivestore</value></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.cj.jdbc.Driver</value></property></configuration>
5.下载mysql连接器
在https://dev.mysql.com/downloads/connector/j/
mysql-connector,下载选platform independent的操作系统。解压以后,把jar文件复制到/usr/local/Cellar/hive/3.1.2/libexec/lib目录下面。
6.初始化库
在/usr/local/Cellar/hive/3.1.2/libexec/bin目录下
schematool -initSchema -dbType mysql
查看初始化信息
schematool -dbType mysql -info
7.运行Hive

在/usr/local/Cellar/hive/3.1.2/libexec/(即$HIVE_HOME)文件夹内新建iotmp文件夹,按照如下修改/usr/local/Cellar/hive/3.1.2/libexec/conf内的hive-site.xml文件:
<property><name>hive.exec.local.scratchdir</name><value>/usr/local/Cellar/hive/3.1.2/libexec/iotmp</value><description>Local scratch space for Hive jobs</description></property><property><name>hive.querylog.location</name><value>/usr/local/Cellar/hive/3.1.2/libexec/iotmp</value><description>Location of Hive run time structured log file</description></property><property><name>hive.downloaded.resources.dir</name><value>/usr/local/Cellar/hive/3.1.2/libexec/iotmp</value><description>Temporary local directory for added resources in the remote file system.</description></property>
此处修改路径的时候,reference5)里面写的相对路径$HIVE_HOME,建议写绝对路径,不然后面跑起来会报错。
再次启动hive,

退出Hive,hive>quit;
Reference:
1)https://note.youdao.com/ynoteshare1/index.html?id=4051e2be65746541d100ecd063de1136&type=note
2)https://www.jianshu.com/p/6fecfee57fb9
3)https://blog.csdn.net/weixin_41998715/article/details/82827928
4)https://www.cnblogs.com/micrari/p/7067968.html
5)https://blog.csdn.net/walykyy/article/details/82971562




