一次完整的大数据环境搭建——构建数据仓库Hive

所用软件                                    版本号

Mysql-Server                           mysql-community-server

Mysql 服务器连接依赖包         mysql-connector-java-5.1.5-bin.jar

hive                                          apache-hive-2.1.1-bin.tar.gz


master 作为 client 客户端

slave1 作为 hive server 服务器端

slave2 安装mysql server

1、slave2上安装mysql server

(1)安装 EPEL 源

yum -y install epel-release

(2)安装 MySQL server 包,下载源安装包:

yum -y install wget #centos精简版是没有wget功能滴,所以需要安装

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

(3)安装源:

rpm -ivh  mysql57-community-release-el7-8.noarch.rpm 

安装完成,查看是否有包mysql-community.repo和mysql-community-source.repo:

cd /etc/yum.repos.d

图1.1 查看是否有源包

安装 MySQL:

yum -y install mysql-community-server

(4)启动服务,重载所有修改过的配置文件:

systemctl daemon-reload 

开启服务:

systemctl start mysqld

开机自启:

systemctl enable mysqld

(5)安装完毕后,/var/log/mysqld.log文件中会自动生成一个随机的密码,我们需要先取得这个随机密码,以用于登录 MySQL 服务端:

获取初密码:

grep ‘temporarypassword’/var/log/mysqld.log

登陆 MySQL:

mysql -uroot -p 

(6)MySQL 密码安全策略:

设置密码强度为低级:

set global validate_password_policy=0; 设置密码长度:set global validate_password_length=4;

修改本地密码:

alter user 'root'@'localhost' identified by '123456';

退出:\q

密码强度分级如下:

0 为 low 级别,只检查长度;

1为 medium 级别(默认),符合长度为 8,且必须含有数字,大小写,特殊字符;

2 为 strong 级别,密码难度更大一些,需要包括字典文件。

密码长度最低长为 4,当设置长度为 1、2、3 时,其长度依然为 4。

(7)设置远程登录

以新密码登陆 MySQL:

mysql -uroot -p123456

创建用户:

create user 'root'@'%' identified by '123456';

允许远程连接:

grant all privileges on *.* to 'root'@'%' withgrant option;

刷新权限:

flush privileges;

图1.2 允许MySQL远程连接

2、slave1 上安装 hive

(1)首先我们需要创建工作路径,并将 hive 解压。环境中 master 作为客户端,slave1 作为服务器端,因此都需要使用到 hive。

slave1 中操作如下:

cd /opt/soft

mkdir -p /usr/hive

tar -zxvf /opt/soft/apache-hive-2.1.1-bin.tar.gz -C /usr/hive/

因为master作为客户端,所以同样在master上建立文件夹/usr/hive,然后 slave1 中将安装包远程复制到master。

scp -r /usr/hive/apache-hive-2.1.1-bin root@slave1:/usr/hive/

(2)修改/etc/profile 文件设置 hive 环境变量。(master 和 slave1 都执行)。

vi /etc/profile

#set hive

export HIVE_HOME=/usr/hive/apache-hive-2.1.1-bin export PATH=$PATH:$HIVE_HOME/bin

生效环境变量:

source /etc/profile

(3)因为服务端需要和 Mysql 通信,所以服务端需要 Mysql 的 lib 安装包到 Hive_Home/conf 目录下。(此处需要自己将下载的mysql.jar包放在slave2的/lib目录下)mysql.jar 放在 slave2 中的/lib 目录下,需要将其远程复制到 slave1 的 hive 的 lib 中。

slave2 中进行如下操作:

ls /lib

scp /lib/mysql-connector-java-5.1.5-bin.jar root@slave1:/usr/hive/apache-hive-2.1.1-bin/lib

图2.1 jar包的远程复制

(4)回到 slave1,cd conf/修改 hive-env.sh 中 HADOOP_HOME 环境变量。

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

HADOOP_HOME=/usr/hadoop/hadoop-2.7.3

(5)修改 slave1  hive-site.xml 文件(切记,此处千万不要复制hive-site.xml.template包,直接vi编辑一个新的hive-site.xml文件就ok,下面的master同样不能复制)  

<configuration>

  <!-- Hive产生的元数据存放位置-->

<property>

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

    <value>/user/hive_remote/warehouse</value>

</property>

    <!-- 数据库连接JDBC的URL地址-->

<property>

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

        <value>jdbc:mysql://slave2:3306/hive?createDatabaseIfNotExist=true</value>        #连接MySQL所在的ip(主机名)及端口

</property>

    <!-- 数据库连接driver,即MySQL驱动-->

<property>

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

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

</property>

    <!-- MySQL数据库用户名-->

<property>

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

    <value>root</value>

</property>

    <!-- MySQL数据库密码-->

<property>

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

    <value>123456</value>

</property>

<property>

    <name>hive.metastore.schema.verification</name>

    <value>false</value>

</property>

<property>

    <name>datanucleus.schema.autoCreateAll</name>

    <value>true</value>

</property>

</configuration>

3、Master 作为客户端

(1)解决版本冲突和 jar 包依赖问题。

由于客户端需要和 Hadoop 通信,所以需要更改 Hadoop 中 jline 的版本。即保留一个高版本的 jline jar 包,从 hive 的 lib 包中拷贝到 Hadoop 中 lib 位置为/usr/hadoop/hadoop-2.7.3/share/hadoop/yarn/lib。

cp /usr/hive/apache-hive-2.1.1-bin/lib/jline-2.12.jar  /usr/hadoop/hadoop-2.7.3/share/hadoop/yarn/lib/

图3.1 jline版本替换

(2)修改 master hive-env.sh

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

HADOOP_HOME=/usr/hadoop/hadoop-2.7.3

(3)修改 hive-site.xml(不要复制hive-site.xml.template文件。)

<configuration>

<!-- Hive产生的元数据存放位置-->

<property>

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

    <value>/user/hive_remote/warehouse</value>

</property>

<!--- 使用本地服务连接Hive,默认为true-->

<property>

    <name>hive.metastore.local</name>

    <value>false</value>

</property>

<!-- 连接服务器-->

<property>

    <name>hive.metastore.uris</name>

<value>thrift://slave1:9083</value>          #hive客户端通过thrift服务器服务连接MySQL数据库,这里的thrift服务器就是slave1的ip(主机名)

</property>

</configuration>

4、启动 Hive

(1) 启动 hive server(slave1 上)

 bin/hive --service metastore

图4.1 slave1中成功启动hive server

(2)启动 hive client(master 上)

bin/hive

测试 hive 是否启动成功:

hive>show databases;

图4.2 master中成功启动hive client

(3)最后 master 的进程如下:

图4.3 master中进程

一次完整的大数据环境搭建目录:

一、zookeeper安装及基础环境配置

二、Hadoop安装

三、Hbase安装及配置

四、构建数据仓库Hive

说明:此系列文章是为了记录本人学习过程,以此来加深理解,希望各位大神路过!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,258评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,335评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,225评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,126评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,140评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,098评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,018评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,857评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,298评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,518评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,400评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,993评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,638评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,661评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容

  • 说明:不少读者反馈,想使用开源组件搭建Hadoop平台,然后再部署Kylin,但是遇到各种问题。这里我为读者部署一...
    大诗兄_zl阅读 2,070评论 0 2
  • 介绍 Hive是运行在Hadoop之上的数据仓库,将结构化的数据文件映射为一张数据库表,提供简单类SQL查询语言,...
    syncwt阅读 4,719评论 0 7
  • Mapreduce+Hive+Spark平台搭建 说明 平台搭建成功后,使用Scala语言进行算法设计和应用的开发...
    泽泽馥泽泽阅读 5,099评论 4 6
  • HIVE是一个基于Hadoop的数据仓库,适用于一些高延迟性的应用。如果对延迟性要求比较高,则可以选择Hbase。...
    夏无忧阳阅读 5,040评论 0 12
  • 其政闷闷,其民淳淳;其政察察,其民缺缺。是以圣人方而不割,廉而不劌,直而不肆,光而不耀。祸兮福之所倚,福兮祸之所伏...
    Sophia的麦子阅读 5,497评论 2 2