赞
踩
Hive3.1.2的搭建
提前下好资料,并上传到集群:
我将文件上传到了/opt/software
中专门存储软件包的
我集群名:hadoop1、hadoop2、hadoop3
apache-hive-3.1.2-bin.tar.gz
tar -zxvf /opt/software/apache-hive-3.1.2-bin.tar.gz -C /opt/module/
将hive解压到/opt/module下
apache-hive-3.1.2-bin
名字改为hivemv apache-hive-3.1.2-bin hive
在/etc/profile.d/my_env.sh
中添加环境
vim /etc/profile.d/my_env.sh
添加内容如下:
#hive
export HIVE_HOME=/opt/module/hive
export PATH=$PATH:$HIVE_HOME/bin
注意:HIVE_HOME
是自己Hive安装路径
为什么要在/etc/profile.d中添加环境变量?
最后执行下面命令
立刻执行文件修改,让环境立刻生效
source /etc/profile
mysql-connector-java-5.1.12.jar
移动到$HIVE_HOME/lib
中mv /opt/software/mysql-connector-java-5.1.12.jar $HIVE_HOME/lib
sudo rpm -e --nodeps mariadb-libs
mysql-5.7.36-1.el7.x86_64.rpm-bundle.tar
tar -xf mysql-5.7.36-1.el7.x86_64.rpm-bundle.tar
注意:安装mysql,一定要注意先后顺序
sudo rpm -ivh mysql-community-common-5.7.36-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-libs-5.7.36-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-libs-compat-5.7.36-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-client-5.7.36-1.el7.x86_64.rpm
sudo rpm -ivh mysql-community-server-5.7.36-1.el7.x86_64.rpm
sudo mysqld --initialize --user=mysql
在/etc/my.cnf 查看日志存放位置
cat /etc/my.cnf
查看日志文件中初始密码
cat /var/log/mysql.log
n:3Evf/(Sled
先启动MySQL服务
sudo systemctl start mysqld
注意:只需要启动一次即可,下次开机自启
登陆MySQL
mysql -u root -p
修改密码
set password=password("root");
可以先退出试一下是否将密码修改成功
注意:目前MySQL只能是本地能够访问
相关的配置文件,在mysql中的mysql库的user表中
在user 字段中,root用户的host是localhost(本地)
解决办法:
update mysql.user set host="%" where user='root';
再输入下面命令,立刻生效
flush privileges;
可以测试一下是否可以远程访问MySQL
我们将windows中Navicat进行远程登录
用来替换derby进行存储hive的元数据
补充知识:
登录mysql
mysql -u root -p
创建数据库——metastore
create database metastore;
注意:metastore作为元数据库的库名,可以随便起名字,但是在后面的配置文件需要修改
1.在hive目录下conf中创建一个hive-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <!-- jdbc 连接的 URL --> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop1:3306/metastore?useSSL=false</value> </property> <!-- jdbc 连接的 Driver--> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <!-- jdbc 连接的 username--> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <!-- jdbc 连接的 password --> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>root</value> </property> <!-- Hive 元数据存储版本的验证,默认是放在Derby上 --> <property> <name>hive.metastore.schema.verification</name> <value>false</value> </property> <!--元数据存储授权--> <property> <name>hive.metastore.event.db.notification.api.auth</name> <value>false</value> </property> <!-- Hive 默认在 HDFS 的工作目录,可以省略该配置 --> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property> <property> <name>hive.cli.print.header</name> <value>true</value> </property> </configuration>
注意:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop1:3306/metastore?useSSL=false</value>
</property>
其中value中的hadoop1
是我自己的主机名,metastore是元数据的库名
,前面在mysql中创建的
<!-- jdbc 连接的 password -->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
</property>
其中的value是mysql的登录密码
,我的是root
$HIVE_HOME/bin/schematool -initSchema -dbType mysql -verbose
start-dfs.sh
start-yarn.sh
输入hive,即可使用
hive
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。