一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!

大数据项目综合能力练习

  • 前言
  • 虚拟机的安装
  • Hadoop集群环境搭建
    • centos7安装
    • centos7基础环境配置
      • 克隆两台虚拟机作为从节点
      • 修改主机名
      • 配置hosts文件
      • 关闭防火墙
      • 时间同步
      • 配置ssh免密登录
    • 安装jdk
    • 安装zookeeper
    • 安装hadoop
    • 安装Hbase
    • 构建数据仓库
      • slave2上安装mysql server
      • 安装MySQL
      • slave1上安装Hive
      • 设置master客户端

前言

本篇博客主要内容是:

虚拟机安装
centos7安装
hadoop环境搭建
jdk安装
zookeeper安装
Hbase安装
hive安装(内含MySQL安装)

本次练习所需的安装包都是开源软件,建议在去开源社区官网下载,但务必注意软件版本之间的联系,也可以到我的百度网盘下载,链接如下永久有效。

链接:https://pan.baidu.com/s/18UL2eUKTjbGSvPK9HVS4CQ
提取码:688k

注:VMware15可以到微信公众号:软件安装管家下载

虚拟机的安装

傻瓜式安装即可,如果需要破解密钥网上可查找。安装完成后打开页面:
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第1张图片

Hadoop集群环境搭建

centos7安装

我使用的linux发行版是CentOS-7-x86_64-Minimal-1804.iso(没有桌面,纯黑乎乎的命令行模式)
安装步骤按截图方式给出:
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第2张图片

一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第3张图片

一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第4张图片

在这里插入图片描述
虚拟机名称可自己自定义 存放的位置也可以自己修改
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第5张图片
根据自己的硬件 可适当增加或减少
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第6张图片
根据自己的硬件 可适当增加或减少
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第7张图片

一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第8张图片

一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第9张图片

一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第10张图片
点击创建新的虚拟磁盘
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第11张图片
根据自己放置虚拟机的磁盘大小定义 将虚拟磁盘存储为单个文件 方便出故障后的删除操作
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第12张图片

一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第13张图片
将下载好的ISO映像文件的存放位置加载到虚拟机:
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第14张图片
启用共享文件夹,共享文件夹路径为你存放的hadoop生态圈组件的位置:
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第15张图片
点击开启虚拟机:
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第16张图片
点击屏幕,进入虚拟机,按下回车
注:快捷键ctrl+ALT 可实现在主机和虚拟机之间的切换
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第17张图片
初学者选择中文即可,但是中文可能会出现一些问题,基础好的尽量使用英文:
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第18张图片
点击开始安装:
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第19张图片
点击root密码进行设置:
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第20张图片

设置密码:
在这里插入图片描述
安装完成:点击重启即可
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第21张图片
重启之后进入的命令行页面:
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第22张图片
输入root用户及其密码进入系统:
注:输入密码在屏幕上不会显示出来,输入完成后按回车即可
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第23张图片

centos7基础环境配置

要点:

克隆两台虚拟机作为从节点
修改主机名
配置hosts文件
关闭防火墙
配置时间同步
配置ssh免密登录

克隆两台虚拟机作为从节点

点击虚拟机——>管理——>克隆
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第24张图片
点击下一步:
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第25张图片
点击克隆虚拟机当前状态,下一步:
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第26张图片
创建完整克隆,下一步:
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第27张图片
虚拟机名称为slave1和slave2 ,改变存放位置:
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第28张图片
完成克隆slave1,slave2步骤一致。

修改主机名

我们本次搭建集群有三个节点(一个主节点master,两个从节点slave1 和 slave2)

打开master、slave1、slave2
以主节点master为例,修改主机名为master(从节点修改为对应的主机名slave1和slave2 即可):
命令为:hostnamectl set-hostname
在这里插入图片描述
永久修改主机名,编辑/ect/sysconfig/network文件,内容如下:

NETWORKING=yes
HOSTNAME=master

在这里插入图片描述
在这里插入图片描述
保存文件,重启虚拟机:reboot
在这里插入图片描述

查看是否生效: hostname
在这里插入图片描述

配置hosts文件

原因:使每个节点能使用对应的节点主机名连接对应的地址

hosts文件主要用于确定每个节点的IP地址,方便后续各节点能快速查到并访问。在master和slave1 、slave2都需要配置该文件。

使用ifconfig命令查看当前虚拟机的IP地址:

一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第29张图片
查看完节点的地址之后将三个节点的IP地址以及其对应的名称写进hosts文件,保存退出:
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第30张图片
补充:centos最小化系统安装设置IP(ifconfig没有找到)

  • 输入ifconfig,发现系统提示没有找到
    在这里插入图片描述
  • 输入ip addr查看本机是否分配IP
    一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第31张图片
    在此我们需要记住本机网卡的名称,用于下一步使用,即ens33
  • 进入网卡设置目录,执行cd /etc/sysconfug/network-scripts,查看下面的网卡文件:

一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第32张图片

  • 找到对应的网卡文件执行命令vi ifcfg-ens33,进入后配置文件:
    一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第33张图片
    注:配置slave1和slave2时,只需要改IPADDR的值就行,将最后的145一次加一。

  • 执行命令service network restart重启网卡服务:
    在这里插入图片描述

  • 执行完成后,再次执行ip addr查看是否分配到IP地址:
    一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第34张图片

  • 执行yum provides ifconfig查看是哪个包提供ifconfig命令,可以看到是net-tools包提供的:
    一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第35张图片

  • 执行命令yum install net-tools,安装完成就可以执行ifconfig命令了

关闭防火墙

centos7中防火墙命令使用firewalld取代了iptables。当防火墙状态为dead时表示防火墙已关闭。
关闭防火墙:systemctl stop firewalld
查看状态:systemctl status firewalld
防止开机自启动:systemctl disable firewalld.service
在这里插入图片描述

时间同步

时区一致。要保证设置主机时间的准确,每个机器时区必须一致。因此我们需要同步网络时间,首先选择一样的时区。时区先确保一样,否则同步以后时间也是有时区差。

  • 使用date命令查看机器的时间
  • 选择时区:tzselect

一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第36张图片

因为hadoop集群对时间的要求很高,所以集群内主机要经常同步。我们使用ntp进行时间同步,master作为ntp服务器,其他的作为ntp客户端

  • 所有节点下载ntp
    NTP是网络时间协议,它是用来同步网络中各个计算机时间的协议。
yum install -y ntp

一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第37张图片

  • 将master作为ntp服务器,修改ntp配置文件
    命令行输入命令:
vi /etc/ntp.conf

配置文件:

在这里插入图片描述
解释:

#以本地时间作为时间服务
server 127.127.1.0 #local clock
fudge 127.127.1.0 stratum 10 #这行是时间服务器的层次,设为0则为顶级,如果要向别的NTP服务器更新时间则不要把它设为0 stratum取值范围是0~15

  • 重启ntp服务:/bin/systemctl restart ntpd service
  • slave1和slave2同步master时间
    等待五分钟左右,到slave1和slave2 同步时间:ntpdate master
    在这里插入图片描述

配置ssh免密登录

ssh主要是通过RSA算法来产生公钥和私钥。在数据传输过程中对数据进行加密来保障数据的安全性和可靠性。公钥部分是公共部分,网络上任一结点均可以访问,私钥主要用于对数据进行加密,以防他人盗取数据。总而言之,这是一种非对称算法,想要破解还是非常有难度的。Hadoop集群的各个结点之间需要进行数据的访问,被访问的结点对于访问用户结点的可靠性必须进行验证,hadoop采用的是ssh的方法通过密钥验证及数据加解密的方式进行远程安全登录操作,当然,如果hadoop对每个结点的访问均需要进行验证,其效率将会大大降低,所以才需要配置SSH免密码的方法直接远程连入被访问结点,这样将大大提高访问效率。

步骤如下:

  • 每个节点分别产生公私密钥:ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

各个参数的含义:
-t参数就是指定要生成的密钥类型 这里指定的是dsa
-P就是你提供的旧密码‘’ 表示没有
-f是密钥的生成后的保存文件位置

  • 密钥产生目录在用户主目录下的.ssh目录中,进入该目录:cd .ssh
    一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第38张图片
  • id_dsa.pub为公钥,id_dsa为私钥,紧接着将公钥文件复制成authorized_keys文件(这一步只在master虚拟机上执行):
    在这里插入图片描述
  • 在主机上连接自己叫做ssh内回环:ssh master:
    一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第39张图片
  • master配置完成,现在是让master能够通过ssh免密登录两个子节点slave1和slave2

为了实现这个功能,两个slave节点的公钥文件中必须包含主节点的公钥信息,这样master就可以顺利访问子节点了。
slave节点通过scp命令远程登录master节点,并复制master的公钥文件到当前目录下,重命名为master_das.pub(这一过程需要密码验证)

scp master:~/.ssh/id_dsa.pub ./master_das.pub

一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第40张图片
将 master 结点的公钥文件追加至 authorized_keys 文件:cat master_das.pub >> authorized_keys

  • 至此,ssh免密工作完成

测试:
在这里插入图片描述

安装jdk

在进行下面安装hadoop生态组件之前,请将安装包同一放到/opt/soft路径下

  1. 首先建立工作路径/usr/java,并将jdk安装包解压到该路径,将解压后文件夹的名字改为jdk,然后在etc/profile里面写入jdk的配置
# -p可以递归创建文件夹
mkdir -p /usr/java
# tar -zxvf 解压命令 -C 解压到何处
tar -zxvf /opt/soft/jdk-8u171-linux-x64.tar.gz -C /usr/java
# 修改文件名。(本意是移动,但是当前后位置处于同一位置时变成修改文件名)
cd	/usr/java
mv jdk1.8.0_171/ jdk 
# 编辑profile文件
vi /etc/profile

修改配置如下:
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第41张图片

  1. 修改完etc/profile以后生效配置文件(很重要),然后查看jdk版本观察是否安装成功
source /etc/profile
java -version

在这里插入图片描述

  1. 将目录拷贝到另外两台机器。(保证子节点存在/usr/java目录)
scp -r /usr/java/jdk slave1:/usr/java
scp -r /usr/java/jdk slave2:/usr/java
scp -r /etc/profile slave1:/etc
scp -r /etc/profile slave2:/etc
source /etc/profile(slave1,slave2都要执行)

JDK安装完成

安装zookeeper

  1. 修改主机到IP地址的映射(三个节点都需要配置)
vi /etc/hosts
# 添加如下内容,中间Tab键分割
192.168.112.145    master    master.root
192.168.112.146    slave1    slave1.root
192.168.112.147    slave2    slave2.root

一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第42张图片
2. 通jdk安装方式将zookeeper压缩包解压到/usr/zookeeper

mkdir -p /usr/zookeeper
tar -zxvf /opt/soft/zookeeper-3.4.10.tar.gz -C /usr/zookeeper

  1. 修改配置文件 ,将zookeeper下conf目录下的zoo_sample.cfg复制一份为zoo.cfg然后进行修改
cd /usr/zookeeper/zookeeper-3.4.10/conf
cp zoo_sample.cfg zoo.cfg

添加以下的配置信息:
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第43张图片

  1. 在zookeeper-3.4.10下创建两个文件夹用来存放数据和日志。并且在数据文件夹中创建一个文件myid向其中写入1
cd /usr/zookeeper/zookeeper-3.4.10
mkdir zkdata
mkdir zkdatalog
cd zkdata
vi myid
# 写入1

一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第44张图片

  1. etc/profile中加入环境变量然后进行source
export ZOOKEEPER_HOME=/usr/zookeeper/zookeeper-3.4.10
PATH=$PATH:$ZOOKEEPER_HOME/bin
source /etc/profile

在这里插入图片描述

  1. 将数据拷贝到另外两台机器。分别修改myid中的文件内容为2和3.
scp -r /usr/zookeeper root@slave1:/usr/
scp -r /usr/zookeeper root@slave2:/usr/
scp -r /etc/profile slave1:/etc
scp -r /etc/profile slave2:/etc
source /etc/profile(slave1,slave2都要执行)

myid里面内容为一个数字,用来标识当前主机,conf/zoo.cfg 文件中配置的server.X 中 X 为什么数字,则 myid 文件中就输入这个数字

  1. 进入zookeeper的文件夹下,启动组件查看状态信息。
cd /usr/zookeeper/zookeeper-3.4.10
bin/zkServer.sh start
bin/zkServer.sh status

结果显示一个为领导者(leader)其余的为跟随者(follower)。

一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第45张图片

安装hadoop

  1. 创建文件夹,解压,配置环境变量
mkdir -p /usr/hadoop
tar -zxvf /opt/soft/hadoop-2.7.3.tar.gz -C /usr/hadoop
mv hadoop-2.7.3 hadoop
vi /etc/profile
export HADOOP_HOME=/usr/hadoop/hadoop
export CLASSPATH=$CLASSPATH:$HADOOP_HOME/lib
export PATH=$PATH:$HADOOP_HOME/bin

在这里插入图片描述

  1. 修改 hadoop-env.sh
cd /usr/hadoop/hadoop-2.7.3/etc/hadoop
vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk

在这里插入图片描述
3. 修改 core-site.xml


        
                fs.default.name</name>
                hdfs://master:9000</value>
        </property>
        
                hadoop.tmp.dir</name>
                /usr/hadoop/hadoop/hdfs/tmp</value>
                A base for other temporary directories .</description>
        </property>
        
                io.file.buffer.size</name>
                131072</value>
        </property>
        
                fs.checkpoint.period</name>
                60</value>
        </property>
        
                fs.checkpoint.size</name>
                67108864</value>
        </property>
</configuration>

一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第46张图片
4. 修改 yarn-site.xml


        
                yarn.resourcemanager.address</name>
                master:18040</value>
        </property>
        
                yarn.resourcemanager.scheduler.address</name>
                master:18030</value>
        </property>
        
                yarn.resourcemanager.webapp.address</name>
                master:18088</value>
        </property>
        
                yarn.resourcemanager.resource-tracker.address</name>
                master:18025</value>
        </property>
        
                yarn.resourcemanager.admin.address</name>
                master:18141</value>
        </property>
        
                yarn.nodemanager.aux-services</name>
                mapreduce_shuffle</value>
        </property>
        
                yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
                org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>
</configuration>

一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第47张图片
5. 修改 hdfs-site.xml


        
                dfs.replication</name>
                2</value>
        </property>
        
                dfs.namenode.name.dir</name>
                file:/usr/hadoop/hadoop/hdfs/name</value>
                true</final>
        </property>
        
                dfs.datanode.data.dir</name>
                file:/usr/hadoop/hadoop/hdfs/data</value>
                true</final>
        </property>
        
                dfs.namenode.secondary.http-address</name>
                # 此处设置热备份进程的节点。可以填写master,slave1,slave2等,但是从最后的显示信息来看,官方配置的是master。如果不想配置在namenode上可以填写另外两个节点名称。如果想多备份,填写0.0.0.0:9001
                master:9001</value>
        </property>
        
                dfs.webhdfs.enabled</name>
                true</value>
        </property>
        
                dfs.permissions</name>
                false</value>
        </property>
</configuration>

一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第48张图片
6. 修改slaves,向slaves中添加slave1和slave2.

在这里插入图片描述

  1. 新建一个master,向其中添加master。
vi master

在这里插入图片描述
8. 修改 mapred-site.xml

cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml

        
                mapreduce.framework.name</name>
                yarn</value>
        </property>
</configuration>

一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第49张图片
9. 分发Hadoop

scp -r /usr/hadoop root@slave1:/usr/
scp -r /usr/hadoop root@slave2:/usr/
scp -r /etc/profile slave1:/etc
scp -r /etc/profile slave2:/etc
source /etc/profile(slave1,slave2都要执行)

  1. 格式化Hadoop
hadoop namenode -format

使用jps查看各节点的信息。
在本都浏览器输入192.168.112.140:50070打开网页端视图。如果无法访问检查防火墙时候关闭。

安装Hbase

  1. 创建文件夹,解压文件,修改文件名(/usr/hbase/hbase)
  2. 修改hbase-env.sh
cd usr/hbase/hbase/conf/
vim hbase-env.sh
export HBASE_MANAGES_ZK=false
export JAVA_HOME=/usr/java/jdk
export HBASE_CLASSPATH=/usr/hadoop/hadoop-2.7.3/etc/hadoop

一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第50张图片

解释:一个分布式运行的 Hbase依赖一个 zookeeper 集群。所有的节点和客户端都必须能够访问 zookeeper。默认的情况下
Hbase 会管理一个 zookeep 集群,即 Hbase 默认自带一个 zookeep 集群。这个集群会随着 Hbase
的启动而启动。而在实际的商业项目中通常自己管理一个 zookeeper 集群更便于优化配置提高集群工作效率,但需要配置
Hbase。需要修改conf/hbase-env.sh 里面的HBASE_MANAGES_ZK来切换。这个值默认是 true 的,作用是让
Hbase 启动的时候同时也启动 zookeeper.在本实验中,我们采用独立运行 zookeeper 集群的方式,故将其属性值改为
false。

  1. 修改hbase-site.xml


hbase.rootdir</name>
hdfs://master:9000/hbase</value>
</property>

hbase.cluster.distributed</name>
true</value>
</property>

hbase.master</name>
hdfs://master:6000</value>
</property>

hbase.zookeeper.quorum</name>
master,slave1,slave2</value>
</property>

hbase.zookeeper.property.dataDir</name>
/usr/zookeeper/zookeeper-3.4.10</value>
</property>
</configuration>

解释:要想运行完全分布式模式,加一个属性 hbase.cluster.distributed设置为 true 然后把
hbase.rootdir 设置为 HDFS 的 NameNode 的位置hbase.rootdir:这个目录是 region server
的共享目录,用来持久化 Hbase。URL 需要是’完全正确’的,还要包含文件系统的
schemehbase.cluster.distributed :Hbase 的运行模式。false 是单机模式,true是分布式模式。若为
false,Hbase 和 Zookeeper 会运行在同一个 JVM 里面。在hbase-site.xml 配置 zookeeper:当
Hbase 管理 zookeeper 的时候,你可以通过修改 zoo.cfg 来配置 zookeeper,对于 zookeepr
的配置,你至少要在hbase-site.xml 中列出 zookeepr 的 ensemble
servers,具体的字段是hbase.zookeeper.quorum.在这里列出 Zookeeper
集群的地址列表,用逗号分割。hbase.zookeeper.property.clientPort:ZooKeeper 的 zoo.conf
中的配置,客户端连接的端口。hbase.zookeeper.property.dataDir:ZooKeeper 的 zoo.conf
中的配置。对于独立的 Zookeeper,要指明 Zookeeper 的 host 和端口。需要在 hbase-site.xml中设置。

  1. 修改regionservers
    在这里插入图片描述
  2. 集群互联
cp /usr/hadoop/hadoop/etc/hadoop/hdfs-site.xml ./
cp /usr/hadoop/hadoop/etc/hadoop/core-site.xml ./

  1. 配置环境变量
export HBASE_HOME=/usr/hbase/hbase
export PATH=$PATH:$HBASE_HOME/bin

在这里插入图片描述
7. 数据分发

scp -r /usr/hbase root@slave1:/usr/
scp -r /usr/hbase root@slave2:/usr/
scp -r /etc/profile root@slave1:/etc
scp -r /etc/profile root@slave2:/etc
source /etc/profile(slave1,slave2都要执行)

  1. 启动
    在hadoop和zookeeper都启动的情况下执行
bin/start-hbase.sh

在这里插入图片描述
9. web页面

https:192.168.112.140:16010/master-status
  1. 交互界面
    一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第51张图片

构建数据仓库

Master作为client的客户端,slave1作为hive server服务器端,slave2安装mysql server.

slave2上安装mysql server

  1. 安装源
    实验中已经给出。

解释:epel源是基于Fedora项目,为“红帽系”的操作系统提供额外的软件包。要想使用这个源首先要安装epel-release软件包。该软件包会自动配置yum软件仓库。

yum -y install epel-release
  1. 下载源安装包
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
  1. 安装源
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
  1. 查看是否有包mysql-community.repo 和mysql-community-source.repo
cd /etc/yum.repos.d

安装MySQL

yum -y install mysql-community-server

重载所有配置过得文件:

systemctl daemon-reload

Mysql开启服务和自启动命令并获取随机密码:

systemctl start mysqld
systemctl enable mysqld
grep “password” /var/log/mysqld.log

一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第52张图片
登陆 MySQL:mysql -uroot -p

MySQL 密码安全策略:

设置密码强度为低级:set global validate_password_policy=0;
设置密码长度:set global validate_password_length=4;
修改本地密码:alter user 'root'@'localhost' identified by '123456';
退出:\q

一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第53张图片

设置远程登录:

create user 'root'@'%' identified by '123456';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;

在这里插入图片描述

slave1上安装Hive

先在master上安装了之后再将解压后的文件上传到slave1中。然后配置环境变量(master和slave1都要修改。)然后重新加载。

export HIVE_HOME=/usr/hive/hive
export PATH=$PATH:$HIVE_HOME/bin

一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第54张图片
因为服务端需要和 Mysql 通信,所以服务端需要 Mysql 的 lib 安装包到 Hive_Home/conf 目录下。mysql.jar 放在 slave2 中的/lib 目录下,需要将其远程复制到 slave1的 hive 的 lib 中。
首先 slave2 中进行如下操作:

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

在这里插入图片描述
在slave1中修改hive-env.sh如下。(该文件需要cp出来):
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第55张图片
然后修改hive-site.xml(该文件自己创建):

"1.0" encoding="UTF-8" standalone="no"?>
-stylesheet type="text/xsl" href="configuration.xsl"?>

	<!-- Hive 产生的元数据存放位置-->
	
		hive.metastore.warehouse.dir</name>
		/user/hive_remote/warehouse</value>
	</property>
	<!-- 数据库连接 JDBC 的 URL 地址-->
	
		javax.jdo.option.ConnectionURL</name>
		jdbc:mysql://slave2:3306/hive?createDatabaseIfNotExist=true</value>
	</property>
	<!-- 数据库连接 driver,即 MySQL 驱动-->
	
		javax.jdo.option.ConnectionDriverName</name>
		com.mysql.jdbc.Driver</value>
	</property>
	<!-- MySQL 数据库用户名-->
	
		javax.jdo.option.ConnectionUserName</name>
		root</value>
	</property>
	<!-- MySQL 数据库密码-->
	
		javax.jdo.option.ConnectionPassword</name>
		123456</value>
	</property>
	
		hive.metastore.schema.verification</name>
		false</value>
	</property>
	
		datanucleus.schema.autoCreateAll</name>
		true</value>
	</property>
</configuration>

设置master客户端

从 hive 的lib包中拷贝到Hadoop中lib 位置为/usr/hadoop/hadoop/share/hadoop/yarn/lib:

cp /usr/hive/hive/lib/jline-2.12.jar /usr/hadoop/hadoop/share/hadoop/yarn/lib/

在这里插入图片描述

跟slave1同样的方法修改hive-env.sh
修改hive-site.xml

"1.0" encoding="UTF-8" standalone="no"?>
-stylesheet type="text/xsl" href="configuration.xsl"?>

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

hive.metastore.warehouse.dir</name>
/user/hive_remote/warehouse</value>
</property>
<!--- 使用本地服务连接 Hive,默认为 true-->

hive.metastore.local</name>
false</value>
</property>
<!-- 连接服务器-->

hive.metastore.uris</name>
thrift://slave1:9083</value>
</property>
</configuration>

在slave1上启动hive:

bin/hive –service metastore(后面带&表示在后台运行)

在master上启动hive:bin/hive
一文搞定hadoop及其生态圈组件的安装,赶紧收藏起来吧!_第56张图片

你可能感兴趣的:(大数据技术与应用)