Hive环境搭建

基于三节点的Hadoop集群搭建Hive

安装中前的准备
  1. 先要搭建好hadoop集群
  2. 安装中用到的软件:
安装MySQL

hive的元数据Metastore默认存储在自带的derby数据库中,这里使用MySQL存储这些元数据信息,所以在安装hive之前,先安装MySQL。hive只用在一台节点上安装,所以MySQL也只需在一台节点上安装,这里我们选择在node01上安装。

  1. 下载并安装MySQL官方的 Yum Repository
cd /kkb/soft
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
  1. MySQL数据库设置
  • 启动MySQL
sudo systemctl start  mysqld.service
sudo systemctl status mysqld.service
status

此时MySQL已经开始正常运行。

  • 修改密码
    root的默认密码是放在/var/log/mysqld.log文件中,首先通过以下语句查看初始密码:
sudo grep "password" /var/log/mysqld.log
password

然后通过找到的初始密码,登录进数据库:

mysql -uroot -p

这个时候我们修改一下MySQL的root用户的初始密码,因为MySQL5.7对密码的设定要求复杂度必须达到要求,否则密码会设置失败,通过以下两行代码,关闭这种密码设定策略:

set global validate_password_policy=0;
set global validate_password_length=1;

这个时候就可以使用简单密码了,我们把root的密码设置为1234。

ALTER USER 'root'@'localhost' IDENTIFIED BY '1234'

然后配置root用户的访问权限:

grant all on *.* to root@'%' identified by '1234';

至此,MySQL的初步安装就完成了。

安装hive
  1. 上传hive安装包,进行解压
    mac命令行中执行:
scp hive-1.1.0-cdh5.14.2.tar.gz hadoop@node01:/kkb/soft
ssh hadoop@node01
cd /kkb/soft
tar -xzvf hive-1.1.0-cdh5.14.2.tar.gz -C /kkb/install
  1. 修改配置文件
  • 修改环境变量
sudo vim /etc/profile
# 修改为:
export HIVE_HOME=/kkb/install/hive-1.1.0-cdh5.14.2
# 然后修改PATH,增加
$HIVE_HOME/bin
# 保存,使立刻生效
source /etc/profile
  • 配置hive-env.sh
cd /kkb/install/hive-1.1.0-cdh5.14.2/conf/
mv  hive-env.sh.template hive-env.sh
vim hive-env.sh
# 修改内容为:
export HADOOP_HOME=/kkb/install/hadoop-2.6.0-cdh5.14.2/       #配置HADOOP_HOME路径
export HIVE_CONF_DIR=/kkb/install/hive-1.1.0-cdh5.14.2/conf   #配置HIVE_CONF_DIR路径
  • 配置hive-site.xml
    修改hive-site.xml文件,内容改为:
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <property>
                <name>javax.jdo.option.ConnectionURL</name>
                # MySQL所在服务器地址要对,我们装在node01上
                <value>jdbc:mysql://node01:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=latin1&amp;useSSL=false</value>
        </property>

        <property>
                <name>javax.jdo.option.ConnectionDriverName</name>
                <value>com.mysql.jdbc.Driver</value>
        </property>
        <property>
                <name>javax.jdo.option.ConnectionUserName</name>
                <value>root</value>
        </property>
        <property>
                # 这个密码为我们上边改的root的密码
                <name>javax.jdo.option.ConnectionPassword</name>
                <value>1234</value>
        </property>
        <property>
                <name>hive.cli.print.current.db</name>
                <value>true</value>
        </property>
        <property>
                <name>hive.cli.print.header</name>
            <value>true</value>
        </property>
    <property>
                <name>hive.server2.thrift.bind.host</name>
                <value>node01</value>
        </property>
</configuration>
  • 修改hive的日志配置文件路径
    执行以下命令,定义hive的日志文件存放路径
mkdir -p /kkb/install/hive-1.1.0-cdh5.14.2/logs/
cd /kkb/install/hive-1.1.0-cdh5.14.2/conf/
mv hive-log4j.properties.template hive-log4j.properties
vim hive-log4j.properties

#更改以下内容,设置我们的日志文件存放的路径
hive.log.dir=/kkb/install/hive-1.1.0-cdh5.14.2/logs/
  1. 将mysql的驱动包上传到hive的lib目录下
scp mysql-connector-java-5.1.38.jar hadoop@node01:/kkb/install/hive-1.1.0-cdh5.14.2/lib
hive的交互方式

注意:要先启动Hadoop集群和MySQL

  1. Hive交互shell
cd /kkb/install/hive-1.1.0-cdh5.14.2
hive
  1. Hive JDBC服务
  • 启动hiveserver2服务
# 前台启动
hive --service hiveserver2
# 后台启动
nohup hive --service hiveserver2  &
  • beeline连接hiveserver2
    重新开启一个会话窗口,然后使用beeline连接hive。
beeline
# 然后在beeline界面执行:
!connect jdbc:hive2://node01:10000
beeline

命令行要求输入用户名和密码,直接回车即可。至此,hive就安装成功。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。