暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

cent0S7下的hive安装与配置实战笔记

大家都爱涨姿势 2018-12-06
233

因为本次安装的时候没有遇到什么问题,所以没有错误提示以及解决方法,如果你在安装的时候遇到问题,可以查询些资料。


一、安装mysql

这里使用的是163的yum,首先配置yum源

// 到yum的管理目录 

cd etc/yum.repo.d/ 

// 将/etc/yum.repo.d/里的CentOS-Base.repo备份 

mv CentOS-Base.repo CentOS-Base.repo.bk

// 下载163yum源

wget http://mirrors.163.com/.help/CentOS7-Base-163.repo

// 替换成原yum源文件格式

mv CentOS7-Base-163.repo CentOS-Base.repo

// 生效

yum clean all 

yum makecache 

yum update


检查MySQL是否安装过

// 查看是否安装mysql的相关软件 

rpm -qa |grep -i mysql 

// 如果安装了,就卸载,然后持续这两步操作,直到完全卸载 yum remove mysqlXXXX # 这里是上一步查出来的mysql相关的软件名称 

// 最后删掉相关文件 

rm -rf usr/share/mysql


然后开始安装

// 下载mysql的rpm包,因为centOS7是默认没有mysql的,需要安装rpm包 

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 

// 安装rpm包,会有个mysql的yum源产生,利用yum就可以正常安装mysql了 

rpm -ivh mysql-community-release-el7-5.noarch.rpm 

// 通过yum安装mysql-server 

yum install mysql-community-server 

// 启动mysql 

systemctl start mysql 

// 设置开机启动 

systemctl enable mysql

这里安装没遇到问题,其它机器可能会遇到问题,有问题找百度。


二、下载与部署hive

下载hive后,将hive解压缩,然后复制到/usr/local/目录下

下载地址:http://www.apache.org/dyn/closer.cgi/hive/

下载完成后移动到/usr/local目录下


三、将MySQL驱动包上载到Hive的lib目录下

下载地址:http://ftp.ntu.edu.tw/MySQL/Downloads/Connector-J/

这里用到的驱动包是mysql-connector-java-5.1.35.jar,版本过低会导致hive在执行的时候报错。


四、修改配置

1、master上的hive-site.xml,新建hive-site.xml,添加如下内容,其它功能等以后用到再添加

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 

<configuration>

    <property>        

        <name>hive.metastore.warehouse.dir</name>

        <value>/usr/local/hive-2.3.3/warehouse</value>

    </property>

    <property>

        <name>hive.exec.scratchdir</name>

        <value>/usr/local/hive-2.3.3/scratchdir</value>

    </property>

    <property>

        <name>hive.querylog.location</name>

        <value>/usr/local/hive-2.3.3/logs</value>

    </property>

    <property>

        <name>javax.jdo.option.ConnectionURL</name

        <value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</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>

        <name>javax.jdo.option.ConnectionPassword</name>

        <value>123456</value>

    </property> 

</configuration>


2、创建hive-env.sh文件并进行修改

新建hive-env.sh文件

// hive-env.sh在hive的conf目录下是以hive-env.sh.template的方式存在的,只要将后缀去掉即可 cd $HIVE_CONF_DIR 

cp hive-env.sh.template hive-env.sh # 基于模板创建hive-env.sh

增加如下环境变量信息

export HADOOP_HOME=/usr/local/hadoop-2.8.4 

export HIVE_CONF_DIR=/usr/local/hive-2.3.4/conf 

export HIVE_AUX_JARS_PATH=/usr/local/hive-2.3.4/lib


3、修改hive-exec-log4j2.properties

cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties


4、在master上修改hive-site.xml

// 在hive-site.xml中追加下面的内容 <!-- 服务器端 --> 

<property>

    <name>hive.server2.thrift.min.worker.threads</name>

    <value>1</value>

    <description>Minimum number of Thrift worker threads</description> </property>

<property>

<name>hive.server2.thrift.max.worker.threads</name>

    <value>100</value>

</property>

<property>

    <name>hive.server2.thrift.port</name>

    <value>10000</value>

</property>

<property>

    <name>hive.server2.thrift.bind.host</name>

    <value>master</value>

</property>


5、在每个slave节点上修改hive-site.xml

// 在原hive-site.xml中追下如下内容: 

<!-- 子节点 -->

<property>

    <name>hive.metastore.uris</name>

    <value>thrift://master:9083</value>

</property>


6、对MySQL数据库初始化

// 进入到hive的bin目录 cd $HIVE_HOME/bin // 对数据库进行初始化,

service mysqld restart schematool -initSchema -dbType mysql


7、在master上启动hadoop和hive的Metastore Server

start-all.sh hive --service metastore &


8、启动Hive

// 在linux命令行输入hive即可 

hive


文章转载自大家都爱涨姿势,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论