hive安装

hive共有三种安装模式

这里我们选择的是远程模式(在slave2安装mysql,在master和slave1安装hive)

一、在slave2安装mysql

1.安装 EPEL 源

yum -y install epel-release

2.安装 MySQL server 包,下载源安装包:

wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

3.安装源:rpm -ivh mysql57-community-release-el7-8.noarch.rpm

查看是否有包:cd /etc/yum.repos.d

mysql-community.repo

mysql-community-source.repo

安装 MySQL:yum -y install mysql-community-server

4.启动服务

重载所有修改过的配置文件:systemctl daemon-reload

开启服务:systemctl start mysqld

开机自启:systemctl enable mysqld

5.安装完毕后,/var/log/mysqld.log 文件中会自动生成一个随机的密码,

我们需要先取得这个随机密码,以用于登录 MySQL 服务端:

获取初密码:grep “temporary password” /var/log/mysqld.log

登陆 MySQL:mysql -uroot -p

6.MySQL 密码安全策略:

设置密码强度为低级:set global validate_password_policy= 0;

设置密码长度:set global validate_password_length=4;

修改本地密码:alter user 'root'@'localhost' identified by '123456';

退出:\q

密码强度分级如下:

0 为 low 级别,只检查长度;

1 为 medium 级别(默认),符合长度为 8,且必须含有数字,大小写,特殊

字符;

2 为 strong 级别,密码难度更大一些,需要包括字典文件。

密码长度最低长为 4,当设置长度为 1、2、3 时,其长度依然为 4

7.设置远程登录

以新密码登陆 MySQL:mysql -uroot -p123456

创建用户:create user 'root'@'%' identified by '123456';

允许远程连接:grant all privileges on *.* to 'root'@'%' with grant option;

刷新权限:flush privileges;

二、Slave1上安装hive

1.首先我们需要创建工作路径,并将 hive 解压。环境中 master 作为客户端,slave1 作为服务器端,因此都需要使用到 hive。

在master和slave1中分别创建工作路径并解压hive

2.修改/etc/profile 文件设置 hive 环境变量。(master 和 slave1 都执行)

vim /etc/profile

#set hive 
export HIVE_HOME=/usr/ywq/hive/apache-hive-2.1.1-bin 
export PATH=$PATH:$HIVE_HOME/bin

生效环境变量

source /etc/profile

3.将mysql-connector-java-5.1.5-bin.jar复制到slave1的hive的lib下,没有的话从网上下载一个。

4.slave1修改hive-env.sh中HADOOP_HOME环境变量。

5.修改 hive-site.xml 文件

vim  hive-site.xml

<configuration>
   <!-- Hive 产生的元数据存放位置-->
   <property>
       <name>hive.metastore.warehouse.dir</name>
       <value>/user/hive_remote/warehouse</value>
   </property>
   <!-- 数据库连接 JDBC 的 URL 地址-->
   <property>
       <name>javax.jdo.option.ConnectionURL</name>
       <value>jdbc:mysql://slave2:3306/hive?createDatabaseIfNotExist=true</value>
   </property>
   <!-- 数据库连接 driver,即 MySQL 驱动-->
   <property>
       <name>javax.jdo.option.ConnectionDriverName</name>
       <value>com.mysql.jdbc.Driver</value>
   </property>
   <!-- MySQL 数据库用户名-->
   <property>
       <name>javax.jdo.option.ConnectionUserName</name>
       <value>root</value>
   </property>
   <!-- MySQL 数据库密码-->
   <property>
       <name>javax.jdo.option.ConnectionPassword</name>
       <value>123456</value>
   </property>
   <property>
       <name>hive.metastore.schema.verification</name>
       <value>false</value>
   </property>
   <property>
       <name>datanucleus.schema.autoCreateAll</name>
       <value>true</value>
   </property>
</configuration>

三、Master作为客户端

1.解决版本冲突和 jar 包依赖问题。

由于客户端需要和 Hadoop 通信,所以需要更改 Hadoop 中 jline 的版本。即保留一个高版本的 jline jar 包,从 hive 的 lib 包中拷贝到 Hadoop 中 lib ,位置为/usr/ywq/hadoop/hadoop-2.7.3/share/hadoop/yarn/lib

cp /usr/hive/apache-hive-2.1.1-bin/lib/jline-2.12.jar/usr/hadoop/hadoop-2.7.3/share/hadoop/yarn/lib/

2.修改 hive-env.sh

3.修改 hive-site.xml

vim hive-site.xml

<configuration>
    <!-- Hive 产生的元数据存放位置-->
    <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/user/hive_remote/warehouse</value>
    </property>
    <!--- 使用本地服务连接 Hive,默认为 true-->
    <property>
        <name>hive.metastore.local</name>
        <value>false</value>
    </property>
    <!-- 连接服务器-->
    <property>
        <name>hive.metastore.uris</name>
        <value>thrift://slave1:9083</value>
    </property>
 </configuration>

四、启动hive

1.启动 hive server(slave1 上)

 bin/hive --service metastore

2.启动 hive client(master上)

bin/hive

测试 hive 是否启动成功:

hive>show databases;

3.master的进程:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值