您的位置:首页 > 数据库 > MySQL

安装配置Hive、MySQL及其JDBC驱动编写HiveQL语句,实现数据库、表、视图的基本操作。HiveQL语句实现wordcount程序。

2019-05-25 16:55 573 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_43852883/article/details/90349044

MySQL安装

① 官网下载mysql-server(yum安装)

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


若wget不可用,下载安装wget:yum -y install wget

② 解压rpm -ivh
mysql-community-release-el7-5.noarch.rpm

③ 安装yum install
mysql-community-server

重启mysql服务:service
mysqld restart systemctl enable mysqld
systemctl enable mysqld(以后开机不需启动mysql)

⑤进入mysql:mysql -u root

为root用户设置密码root:mysql> set password for ‘root’@‘localhost’ =password(‘root’);

配置文件/etc/my.cnf加上编码配置:[mysql] default-character-set
=utf8

远程连接设置:

把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户:

mysql> grant all privileges on . to
root@’ %'identified by ‘root’;

mysql>flush privileges; 刷新权限

如果是新用户而不是root,则要先新建用户:

mysql>create user ‘username’@’ %’
identified by ‘password’;

退出
mysql> exit;
mysql>quit;

卸载停止mysqld服务

service mysqld

MySQL重新安装mysql之前需彻底清除mysql。

④ 查看是否有安装的mysql:rpm -qa |grep -i mysql

⑤ 依次卸载mysql各安装包:rpm -e --nodeps 安装包名字

③查看残留的mysql目录或文件:find / -name mysql 、 whereis mysql。

④依次删除查询出的各目录:rm -rf 目录名

⑤删除mysql 配置文件:/usr/my.cnf、 /root/.mysql_sercret。

  1. rm –rf /usr/my.cnf
  2. rm -rf /root/.mysql_sercret

Hive安装与配置

①下载压缩包

官网下载地址:http://mirror.bit.edu.cn/apache/hive/

选择apache-hive-2.3.4-bin.tar.gz,在Windows里面下载。

②将压缩包从Windows传输到Linux当前目录下
SecureCRT 【File】→【Connect SFTP Session】开启sftp操作

③解压
解压安装到指定目录下/opt/module(/opt是系统自带目录,之下的/module是自己创建的)
修改解压目录名为hive。
sudo mv /opt/module/apache-hive-1.2.2-bin
/opt/module/hive

① 修改环境变量

修改etc/profile文件,添加HIVE_HOME安装路径。
Source命令更新etc/profile文件,使其生效。

export HIVE_HOME=/opt/module/hive
exportPATH=$HIVE_HOME/bin:$PATH

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
vi  hive-site.xml

在最后添加以下属性:
在命令模式下可以使用快捷键G直接到达文档底部

<property>

<!-- 元数据库的链接地址 mysql -->

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

<value>jdbc:mysql://bigdata128: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>

3ff7
<value>root</value>

<description>password to use against metastore
database</description>

</property>

<!--注:

查看Hive建库、建表默认的hdfs目录为/user/hive/warehouse

<property>

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

<value>/user/hive/warehouse</value>

<description>location of default database for the
warehouse</description>

</property>

MySQL Connector/J安装

①下载压缩包

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

mysql-connector-java-5.1.47.tar.gz

②将压缩包从Windows传输到Linux当前目录下­­

SecureCRT 【File】→【Connect SFTP Session】开启sftp操作

③解压

解压到指定目录下/opt/module(/opt是系统自带目录,之下的/module是自己创建的)

put C:/Users/l/Douments/mysql-connector-java-5.1.47.tar.gz

tar -zxvf ~/mysql-connector-java-5.1.47.tar.gz -C /opt/module

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

cp 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 shell

② 创建/删除/修改/查看 数据库、表、视图,向表中装载数据,查询数据等等。

启动Hive时报错name noe is safe node

解决办法:先启动hdfs,然后离开安全模式就可

hadoop dfsadmin -safemode leave

启动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里的临时目录没有设置好。/${system:user.name}

使用/加关键字可以快速查找

/hive.exec.local.scratchdir

/hive.downloaded.resources.dir

/hive.server2.logging.operation.log.location

/hive.querylog.location

修改${system:Java.io.tmpdir}为自己创建的临时录/opt/module/hive/tmp/`

<property>

<name>Hive.exec.local.scratchdir</name>
<value>${system:Java.io.tmpdir}/${system:user.name}</value>

<description>Local scratch space for
Hive jobs</description>

</property>

<property>

<name>hive.downloaded.resources.dir</name>
<value>${system:java.io.tmpdir}/${hive.session.id}_resources</value>

<description>Temporary local
directory for added resources in the remote file system.</description>

</property>

<property>

<name>hive.server2.logging.operation.log.location</name>

<value>${system:java.io.tmpdir}/${system:user.name}/operation_logs</value>

<description>Top level directory where operation logs are stored
if logging functionality is enabled</description>

</property>

<property>

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

<value>${system:java.io.tmpdir}/${system:user.name}</value>

<description>Location of Hive run time structured log
file</description>

</property>

Hive应用实例:wordcount

① 建数据源文件并上传到hdfs的/user/input目录下

②建数据源表t1:create table t1 (line string);

③装载数据:loaddata inpath ‘/user/input’ overwrite into table t1;

④编写HiveQL语句实现wordcount算法,建表wct1保存计算结果:

② 查看wordcount计算结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐