hive及hive的本地模式

进入安装包文件夹
[root@moyue ~]# cd soft/
解压
[root@moyue soft]# tar -zxvf apache-hive-2.3.7-bin.tar.gz -C /usr/local/
更名
[root@moyue local]# mv apache-hive-2.3.7-bin.tar.gz hive
配置环境
[root@moyue local]# vim /etc/profile
export HIVE_HOME=/usr/local/hive
export PATH=$HIVE_HOME/bin:$PATH
生效
[root@moyue local]# source /etc/profile
配置hive-env.sh
拷贝一份
[root@moyue ~]# scp /usr/local/hive/conf/hive-env.sh.template /usr/local/hive/conf/hive-site.sh
[root@moyue ~]# vim /usr/local/hive/conf/hive-env.sh
添加
export HIVE_CONF_DIR=/usr/local/hive/conf
export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/usr/local/hadoop
export HIVE_AUX_JARS_PATH=/usr/local/hive/lib
 配置hive-site.xml
没有文件先拷贝一份
[root@moyue ~]# scp /usr/local/hive/conf/hive-default.xml.template /usr/local/hive/conf/hive-site.xml
[root@moyue ~]# vim /usr/local/hive/conf/hive-site.xml
把hive-site.xml 中所有包含 ${system:Java.io.tmpdir}替换成/usr/local/hive/iotmp.
如果系统默认没有指定系统用户名,那么要把配置${system:user.name}替换成当前用户名root
在linux新建两个目录,权限赋值
[root@moyue conf]# hdfs dfs -mkdir -p /user/hive/warehouse
[root@moyue conf]# hdfs dfs -mkdir -p /tmp/hive/
[root@moyue conf]# hdfs dfs -chmod 750 /user/hive/warehouse
[root@moyue conf]# hdfs dfs -chmod 777 /tmp/hive
启动hadoop
[root@moyue conf]# start-dfs.sh
[root@moyue conf]# start-yarn.sh
初始化hive元数据库
[root@moyue hive]# schematool –initSchema –dbType derby
启动hive
[root@moyue hive]# bin/hive
  • 本地模式
使用mysql替换进行元数据的存储
[root@moyue hive]# rpm -qa|grep mysql
mysql-community-common-5.7.36-1.el7.x86_64
mysql-community-libs-5.7.36-1.el7.x86_64
mysql-community-server-5.7.36-1.el7.x86_64
mysql57-community-release-el7-10.noarch
mysql-community-client-5.7.36-1.el7.x86_64
mysql-community-libs-compat-5.7.36-1.el7.x86_64
卸载mysql
[root@moyue hive]# rpm -e --nodeps mysql-community-common-5.7.36-1.el7.x86_64
[root@moyue hive]# rpm -e --nodeps mysql-community-libs-5.7.36-1.el7.x86_64
[root@moyue hive]# rpm -e --nodeps mysql-community-server-5.7.36-1.el7.x86_64
[root@moyue hive]# rpm -e --nodeps mysql57-community-release-el7-10.noarch
[root@moyue hive]# rpm -e --nodeps mysql-community-client-5.7.36-1.el7.x86_64
[root@moyue hive]# rpm -e --nodeps mysql-community-libs-compat-5.7.36-1.el7.x86_64
下载mysql服务器
[root@moyue hive]# wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
[root@moyue hive]# rpm -ivh  mysql57-community-release-el7-11.noarch.rpm
查看是否安装
[root@moyue hive]# yum repolist all| grep mysql
通过yum安装mysql
[root@moyue hive]# yum install -y mysql-community-server
启动mysql服务
root@moyue hive]# systemctl start mysqld
开启数据库
[root@moyue hive]# systemctl enable mysqld
[root@moyue hive]# grep 'password' /var/log/mysqld.log
2021-11-18T08:22:41.555154Z 1 [Note] A temporary password is generated for root@localhost: JGz*un/Cq2jp
mysql -uroot -p密码
改密码
修改密码
mysql>use mysql;
提示You must reset your password using ALTER USER statement before executing this statement.后,直接输入
alter user user() identified by "你要设置的新密码";  就ok了
我设置的密码为Root123@可替换
mysql> update user set authentication_string=password('root')where user='Root123@';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 0  Changed: 0  Warnings: 1
mysql> flush privileges;
mysql> grant all privileges on *.* to 'root'@'%' identified by 'Root123@' with grant option;
Query OK, 0 rows affected, 1 warning (0.00 sec)
执行刷新
mysql> flush privileges; 
退出
mysql> exit
  • 配置hive环境

[root@moyue conf]# cp hive-env.sh.template hive-env.sh
[root@moyue conf]# vim hive-env.sh
export HIVE_CONF_DIR=/usr/local/hive/conf
export JAVA_HOME=/usr/local/jdk
[root@moyue conf]# vim hive-site.xml
修改对应值
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://moyue01:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<!--配置mysql的连接驱动-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<!--配置登录mysql的用户-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>moyue</value>
<description>username to use against metastore database</description>
</property>
<!--配置登录mysql的密码-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>Root123@</value>
<description>password to use against metastore database</description>
</property>
进入mysql
[root@moyue conf]# mysql -uroot -pRoot123@
将hive编码改成latin1
mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
将mysql驱动包传到$HIVE_HOME/lib下
这里可以用mysql-connector-java-5.1.31-bin
链接:https://pan.baidu.com/s/1b-9w695QNJhe32z2q47clQ 
提取码:sdcj 
[root@moyue conf]# cd $HIVE_HOME/lib
[root@moyue lib]# pwd
/usr/local/hive/lib
  • 初始化数据库&启动

初始化数据库
[root@moyue hive]# bin/schematool -initSchema -dbType mysql
开启hive之前要启动hdfs
[root@moyue hive]# jps
42392 Jps
[root@moyue hive]# start-dfs.sh
[root@moyue hive]# jps
45889 Jps
42772 NameNode
42981 DataNode
43272 SecondaryNameNode
启动hive
[root@moyue hive]# schematool -dbType mysql -initSchema
[root@moyue hive]# hive --service metastore &
[root@moyue hive]# hive
hive>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值