hive与mysql基本配置与wordcount实例

    xiaoxiao2024-12-17  91

    注:虚拟机如果是最小化安装,请先配置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}/{system:user.name},原因是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;

    最新回复(0)