大数据开发|Hive数据仓库环境构建

Posted 读数会

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据开发|Hive数据仓库环境构建相关的知识,希望对你有一定的参考价值。

提前说明一下,大数据的搭建环境都是在Linux系统下构建,可能针对一些没有Linux编程基础的同学来说会有一些吃力,请各位客官放心,小店伙计后期会专门有几期来讲解Linux编程基础。绝对保证零基础完成大数据环境的构建。今天主要是构建hive数据仓库。

hive数据仓库介绍

hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

准备工作

2.1

安装mysql数据库

下载MySQL数据库

百度网盘下载链接:http://pan.baidu.com/s/1gfjGXxx 密码:4oo0

大数据开发|Hive数据仓库环境构建(2)

解压

解压MySQLtar包到/opt/modules/mysql/

tar -zxvf mysql-5.6.26.tar.gz  -C /opt/modules/mysql/

编译环境准备

编译环境准备:

yum -y install gcc gcc-c++ gdb cmake ncurses-devel bison bison-devel

编译监测

进入到解压目录:/opt/modules/mysql/mysql-5.6.26

cd  /opt/modules/mysql/mysql-5.6.26

进行编译监测

cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DSYSCONFDIR=/etc \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_PARTITION_STORAGE_ENGINE=1 \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \

-DMYSQL_TCP_PORT=3306 \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci

大数据开发|Hive数据仓库环境构建(2)

编译安装

make&&make install

2.2

配置MySQL

配置用户

监测是否有用户及用户组

cat   /etc/passwd   查看用户列表

cat    /etc/group    查看用户组列表

如果没有就创建

#groupadd  mysql

#useradd -r -g mysqlmysql

确认一下创建结果

id  mysql

大数据开发|Hive数据仓库环境构建(2)

修改/usr/local/mysql目录权限

chown -R  mysql:mysql   /usr/local/mysql

初始化配置

安装运行MySQL测试脚本需要的perl

yum  install  perl

进入MySQL安装路径

cd   /usr/local/mysql

执行初始化配置脚本,创建系统自带的数据库和表

scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

大数据开发|Hive数据仓库环境构建(2)

启动MySQL

添加服务,拷贝服务脚本到init.d目录,并设置开机启动

cp  support-files/mysql.server     /etc/init.d/mysql

ll  /etc/init.d/mysql   ###查看有无可执行权限,如果没有则执行chmod  u+x  /etc/init.d/mysql

chkconfig mysql on   ####设置开启自启动

service  mysql  start   ##启动MySQL

大数据开发|Hive数据仓库环境构建(2)

配置MySQL账号及密码

MySQL启动成功后,root默认没有密码,我们需要设置root密码。

设置之前,我们需要先设置PATH,要不不能直接调用mysql

修改/etc/profile文件,在文件末尾添加

PATH=/usr/local/mysql/bin:$PATH

export PATH

大数据开发|Hive数据仓库环境构建(2)

运行下面的命令,让配置立即生效

source   /etc/profile

现在,我们可以在终端内直接输入mysql进入,mysql的环境了

执行下面的命令修改root密码

mysql  -uroot

mysql>SET PASSWORD=PASSWORD('123456');

若要设置root用户可以远程访问,执行

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

flush privileges;

远程访问时的密码可以和本地不同。

为了后面hive的需要,我们还是新创建一个用户

mysql>create user 'hive'@'%' identified by 'hive';mysql>grant all on *.* to 'hive'@'%' identified by 'hive';mysql>flush privileges;

自此MySQL就安装完成了。

hive的安装

下载hive软件安装包

大数据开发|Hive数据仓库环境构建(2)

解压hive包

tar -zxvf hive-1.1.0-cdh5.4.0.tar.gz  /home/hadoop/

大数据开发|Hive数据仓库环境构建(2)

修改hive配置文件

创建一个hive-site.xml文件,添加如下配置

大数据开发|Hive数据仓库环境构建(2)

#vi /home/hadoop/hive/conf/hive-site.xml

加入如下内容:

<configuration>

#mysql 数据库配置

<property>

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

<value>jdbc:mysql://hadoop4:3306/hive?createDatabaseIfNotExist=true</value>

<description>JDBC connect string for a JDBC metastore</description>

</property>

#加载mysql jdbc数据驱动包

<property>

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

<value>com.mysql.jdbc.Driver</value>

<description>Driver class name for a JDBC metastore</description>

</property>

<property>

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

<value>hive</value>

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

</property>

<property>

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

<value>hive</value>

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

</property>

#配置hive  UI

<property>

<name>hive.hwi.war.file</name>

<value>lib/hive-hwi-1.1.0-cdh5.4.0.jar</value>

<description>This sets the path to the HWI war file, relative to ${HIVE_HOME}. </description>

</property>

<property>

<name>hive.hwi.listen.host</name>

<value>0.0.0.0</value>

<description>This is the host address the Hive Web Interface will listen on</description>

</property>

<property>

<name>hive.hwi.listen.port</name>

<value>9999</value>

<description>This is the port the Hive Web Interface will listen on</description>

</property>

<property>

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

<value>/home/hadoop/hive/data/hive/hive-${user.name}</value>

<description>Scratch space for Hive jobs</description>

</property>

<property>

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

<value>/home/hadoop/hive/data/hive/${user.name}</value>

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

</property>

</configuration>

创建配置文件中需要的目录

mkdir   -p   /home/hadoop/hive/data/hive/

上传mysql JDBC的jar到hive的lib下

大数据开发|Hive数据仓库环境构建(2)

cp  mysql-connector-java-5.1.32-bin.jar  /home/hadoop/hive/lib

大数据开发|Hive数据仓库环境构建(2)

设置hive-env.xml

将hive-env.sh.template复制一份为hive-env.sh

cp hive-env.sh.template  hive-env.sh

大数据开发|Hive数据仓库环境构建(2)

修改内容如下:

# Set HADOOP_HOME to point to a specific hadoop install directory

HADOOP_HOME=/home/hadoop/hadoop/

# Hive Configuration Directory can be controlled by:

export HIVE_CONF_DIR=/home/hadoop/hive/conf

# Folder containing extra ibraries required for hive compilation/execution can be controlled by:

export HIVE_AUX_JARS_PATH=/home/hadoop/hive/lib

大数据开发|Hive数据仓库环境构建(2)

启动hive与测试

启动hive:

/home/hadoop/hive/bin/hive

大数据开发|Hive数据仓库环境构建(2)

测试hive:

创建hive表

hive> create table wyd(

name string,

age int

) row format delimited fields terminated by ','

stored as textfile;

大数据开发|Hive数据仓库环境构建(2)

在Linux的本地构建一个测试数据文件

大数据开发|Hive数据仓库环境构建(2)

hive> load data local inpath '/home/hadoop/wyd_hive_test/hive_test.txt' overwrite into table wyd;

大数据开发|Hive数据仓库环境构建(2)

测试查询

select * from wyd;

大数据开发|Hive数据仓库环境构建(2)

测试mapreduce,统计数据的记录数

select count(*) from wyd;

至此hive安装完成。

后面会不定期的更新有关大数据、云计算、数据挖掘等方面的知识点,欢迎大家持续关注。如果对该知识点有疑问,欢迎在留言区留言讨论。



以上是关于大数据开发|Hive数据仓库环境构建的主要内容,如果未能解决你的问题,请参考以下文章

《大数据开发》Hive

《大数据开发》Hive

《大数据开发》Hive

Hive学习路线图

开发一个不需要重写成Hive QL的大数据SQL引擎

大数据——Hive(数据仓库工具)