hive与mysql基本配置与wordcount实例

注:虚拟机如果是最小化安装,请先配置yum源。(这里我就不演示了,自行百度)
hive是基于Hadoop的,请先配置Hadoop。

一、mysql配置
若wget不可用,下载安装wget:yum -y install wget
安装后wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
解压rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装yum install mysql-community-server
重启mysql服务:service mysqld restart
进入mysql:mysql -u root
为root用户设置密码root:mysql> set password for ‘root’@‘localhost’ =password(‘root’);
之后退出来,再重新进入 mysql:mysql -u root -p (这里如果不这样进入就无法获得权限)
进去之后给root权限:mysql> grant all privileges on . to root@’ %'identified by ‘root’;(%代表所以主机名,这里最好改成自己的当前)
mysql>flush privileges; 刷新权限

二、hive配置
从SecureCRT上传压缩包apache-hive-1.2.2-bin.tar.gz(这里我用的是低版本的)
解压安装到指定目录下/opt/module(/opt是系统自带目录,之下的/module是自己创建的)
修改解压目录名为hive
修改etc/profile文件,添加HIVE_HOME安装路径。
Source命令更新etc/profile文件,使其生效。
配置hive-env.sh
进入/opt/module/hive/conf目录,修改hive-env.sh.template的文件名为hive-env.sh。(可以使用cp或者mv命令)
cp hive-env.sh.template hive-env.sh
修改Hadoop的安装路径
HADOOP_HOME=/opt/module /hadoop-2.7.3
修改Hive的conf目录的路径
export HIVE_CONF_DIR=/opt/module/hive/conf

配置hive-site.xml
进入/opt/module/hive/conf目录,修改default.xml.template的文件名为hive-site.xml。(可以使用cp或者mv命令)
cp hive- default.xml.template hive-site.xml
在最后添加以下属性:

<property>
<!-- 元数据库的链接地址 mysql -->
       <name>javax.jdo.option.ConnectionURL</name>         
<value>jdbc:mysql://你的主机名:3306/hivedb?createDatabaseIfNotExist=true</value>
       <description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<!-- 指定mysql驱动 -->
<!-- mysql5的驱动是com.mysql.jdbc.Driver,mysql6以后的是com.mysql.cj.jdbc.Driver。 --> 
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
        <description>Driver class name for a JDBC metastore</description>
</property>
<property>
<!-- 指定mysql用户名 -->
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
        <description>username to use against metastore database</description>                    
</property>
<property>
<!-- 指定mysql密码 请输入自己的MySQL连接密码 -->
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>root</value>
        <description>password to use against metastore database</description>
</property>

MySQL Connector/J
上传压缩包mysql-connector-java-5.1.47.tar.gz
解压
解压到指定目录下/opt/module(/opt是系统自带目录,之下的/module是自己创建的)

拷贝驱动包
将驱动包mysql-connector-java-5.1.47-bin.jar复制到/opt/module/hive/lib目录中。

启动hive
启动Hadoop:start-all.sh
初始化Metastore架构:schematool -dbType mysql -initSchema
启动Hive:hive
注:
启动hive报错:`注:
①启动hive报错:Exception in thread “main” java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: KaTeX parse error: Expected '}', got 'EOF' at end of input: …a.io.tmpdir%7D/%7Bsystem:user.name%7D,原因是hive-site.xml里的临时目录没有设置好。
先自己创建的临时目录/opt/module/hive/tmp。
vi hive-site.xml 添加:

<property> 
<name>system:Java.io.tmpdir</name>
 <value>/opt/module/hive/tmp</value> 
 </property>

三、WordCount
进入hive后:
create database wordcount;

创建一张表,记录文件数据,使用换行符作为分隔符。
create table file_data(context string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘\n’;

编辑vi wordcount.txt

hello world
hello hadoop
hello java
hello mysql
c
c++

将准备的数据(/home/hadoop/wordcount.tx)添加到file_data 表中
load data local inpath ‘/home/hadoop/wordcount.txt’ into table file_data;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值