Centos6在Hadoop集群上配置Hive

Hive


有关Hive的所有操作在Hadoop集群已经打开的基础上进行。
先将Hive上传到 /home/software下解压,使用 Hive-2.3.7版本,将文件名称改为 Hive-2.3.7,修改其中conf目录下的文件。

配置Hive环境

/etc/profile

  1. 输入
vim /etc/profile
  1. 在其中加入
export HIVE_HOME=/home/software/hive-2.3.7
export PATH=$PATH:$HIVE_HOME/bin
  1. 刷新环境变量
source /etc/profile

hive-env.sh

  1. 复制hive文件夹的conf目录下的hive-env.sh.template
cp hive-env.sh.template hive-env.sh
  1. 修改其中的内容,添加以下内容
# 配置Java的环境变量
export JAVA_HOME=/home/software/jdk1.8

# Hadoop的位置
HADOOP_HOME=/home/software/hadoop-2.7.6

# Hive自身配置文件的目录
export HIVE_CONF_DIR=/home/software/hive-2.3.7/conf

# 存放jar包的目录
export HIVE_AUX_JARS_PATH=/home/software/hive-2.3.7/lib

hive-site.xml

  1. 在hive文件夹的conf目录下新建一个文件叫hive-site.xml
  2. 编辑文件,添加以下内容
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
        <property>
                <!-- 指定Hive的数据存储目录 -->
                <name>hive.metastore.warehouse.dir</name>
                <value>/home/software/hive-2.3.7/warehouse</value>
        </property>
        <property>
                <!-- 配置mysql的连接字符串,连接到hadoop01,不存在即创建 -->
                <name>javax.jdo.option.ConnectionURL</name>
                <value>jdbc:mysql://hadoop01:3306/hive?createDatabaseIfNotExist=true</value>
        </property>
        <property>
                <!-- 配置mysql的用户名称 -->
                <name>javax.jdo.option.ConnectionUserName</name>
                <value>root</value>
        </property>
        <property>
                <!-- mysql的登陆密码 -->
                <name>javax.jdo.option.ConnectionPassword</name>
                <value>root</value>
        </property>
        <property>
                <!-- mysql的连接驱动 -->
                <name>javax.jdo.option.ConnectionDriverName</name>
                <value>com.mysql.jdbc.Driver</value>
        </property>
        <property>
                <!-- hive的慢查询日志 -->
                <name>hive.querylog.location</name>
                <value>hdfs://hadoop01:9000/user/hive/log</value>
        </property>
        <property>
                <!-- 配置hive的server2的主机名 -->
                <name>hive.server2.thrift.bind.host</name>
                <value>192.168.92.130</value>
        </property>
        <property>
                <!-- hive的server2的连接端口 -->
                <name>hive.server2.thrift.port</name>
                <value>10000</value>
        </property>
        <property>
                <!-- hive元数据服务的uris,统一资源表示符 -->
                <name>hive.metastore.uris</name>
                <value>thrift://192.168.92.130:9083</value>
        </property>
</configuration>

mysql-connector-java-5.1.38-bin.jar

  1. 上传jar包到hive目录下的lib目录中

配置mysql

  1. 卸载自带的mysql,先用
rpm -qa | grep mysql

命令可以发现,原本的centos6中已经存在一个 mysql-libs-5.1.73-7.el6.x86_64,使用

rpm -ev --nodeps  mysql-libs-5.1.73-7.el6.x86_64

将其卸载。

  1. 添加mysql用户组和mysql用户,分别运行以下两条命令
groupadd mysql

useradd -r -g mysql mysql
  1. 上传MySQL-server-5.6.29-1.linux_glibc2.5.x86_64.rpmMySQL-client-5.6.29-1.linux_glibc2.5.x86_64.rpm的rpm安装包到服务器上。
  2. 分别运行以下两个命令,安装mysql。
rpm -ivh MySQL-server-5.6.29-1.linux_glibc2.5.x86_64.rpm

rpm -ivh MySQL-client-5.6.29-1.linux_glibc2.5.x86_64.rpm
  1. 修改mysql的配置文件
vim /usr/my.cnf

把原来的东西全部注释,往其中添加

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
character_set_server=utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

复制其中最后一段字符,即初始密码。

  1. 配置mysql自启动
cp /usr/share/mysql/mysql.server /etc/init.d/mysqld
  1. 启动mysql
service mysqld start
  1. 查看mysql分配的初始密码,并改为自己所需要的密码。输入
vim /root/.mysql_secret

复制该文件内最后一些字符,为mysql分配的初始密码,复制下来。
输入

mysqladmin -uroot -p password 123456

其中的123456就为想改的密码,输入完之后敲回车,会让你输入一个密码,这个密码就是之前在.mysql_secret中复制的密码,直接粘贴,就能进入mysql。此时密码已经改成123456

  1. 配置mysql,让用户有权限访问mysql数据库,输入
mysql -uroot -p

再输入密码,进入数据库,输入以下

GRANT ALL PRIVILEGES ON *.* TO 'root'@'hadoop01' IDENTIFIED BY '123456' WITH GRANT OPTION;

其中第一个’root’@'hadoop01’是指,hadoop01主机下的root用户可以访问mysql数据库,后一个’123456’是指密码。
再输入以下

flush privileges;

刷新配置,退出mysql。

至此,mysql方面配置完成。

使用Hive

  1. 将Hive内置的Derby数据库改成mysql数据库使用。输入以下
schematool -initSchema -dbType mysql
  1. 开启Hive服务并在后台运行
hive --service metastore &

其中&表示在后台运行,等它不再加载可以直接按ctrl+c回到控制台。输入

jps

查看是否有RunJar进程。
3. 输入

hive

进入hive操作。
4. 输入

show databases;

能正常显示,即配置成功。

完结撒花 😃!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值