其他分享
首页 > 其他分享> > 2021-05-20

2021-05-20

作者:互联网

河北农业大学第一届“红亚华宇杯”
大数据技能竞赛选拔赛指导手册
1、引言…1
1.1 编写目的…1
1.2 读者对象…1
1.3 环境要求…1 2、操作说明…1
2.1 登陆方式…1
2.2 比赛进行中…2
2.3 比赛已结束…5
大数据竞赛本地源介绍…5
大数据竞赛题目操作手册…7
基础部分…7 1、基础搭建…7
1.1 使用连接工具连接比赛节点,更改本地源…7
1.2 配置 hosts 文件(三台机器都执行)…7
1.3 关闭防火墙(三台机器都执行)…8
1.4 时间同步…8
1.5 配置 ssh 免密…10
2、安装 JDK …11
3、安装 zookeeper …12
4、安装 hadoop…15
4.1 解压安装包,配置环境变量…15
4.2 配置 hadoop 各组件…16
5、安装 hbase…23
6、安装 hive…26
6.1slave2 上安装 MySQL server…26
6.2 创建工作路径,解压安装包…27
6.3slave1 中建立文件…28
6.4 解决版本冲突和 jar 包依赖问题…29
6.5Slave1 作为服务器端配置 hive …29
6.6Master 作为客户端配置 hive…31
6.7 成功启动 Hive …32
提高部分…33
7、Spark 安装 …33
7.1 安装 scala 环境…33
7.2 安装 Spark …33
8、数据爬取…34
8.1Python 环境配置 …34
8.2 爬虫设计…34
8.3 数据爬取…34
8.4 设计数据表…34
8.5 数据保存…35
2019 年第二届全国大学生大数据技能竞赛
1、引言
1.1 编写目的
选手操作手册的目的是明确本系统的使用操作,帮助选手理解及操作问系统。
1.2 读者对象
大数据竞赛的参赛者、具备一定的大数据基础。
1.3 环境要求
浏览器版本:建议使用谷歌浏览器达到最佳呈现效果,不建议使用 IE。 2、操作说明
2.1 登陆方式
1.通过比赛模式进入比赛
选手可直接通过网址访问 http://10.10.30.2。图 1 登陆页
1
2019 年第二届全国大学生大数据技能竞赛
2.2 比赛进行中
比赛开始后,用户可通过上述方式进入比赛操作页,如下图:
图 3 操作页
1.虚拟机信息
比赛提供虚拟机,选手可通过给出的虚拟机信息,在终端通过 ssh 的方式登陆,并在此
进行比赛的相关操作。
如图:上述提供了多个虚拟机信息,选手可通过展开操作查看所有的虚拟机。
图 4 虚拟机展开
点击眼睛的按钮,查看密码,然后点击密码后的复制即可将密码复制下来。
虚拟机信息登陆到终端,具体的题目操作步骤详见–“大数据竞赛题目操作手册”。
2
2019 年第二届全国大学生大数据技能竞赛
3 图 5 ssh 访问虚拟机
2.通知栏
比赛的得分信息及奖惩信息、通知都会再次展示。
3.当前成绩
(1)排名:根据得分多少实时排名; (2)比赛得分:当前所有完成步骤的总得分; (3)当前步骤用时:根据用户的答题时间计时,直到题目解锁,计时器清零重新开始。
4.比赛信息
包括用户的队伍、队员及比赛开始时间、时长、规则的简介。
5.排行榜
比赛所有队伍的排行情况,hover 展示每个队伍的得分、惩罚分、奖励分。
6.比赛题目
*注:选手验证题目的时间,会影响得分,在虚拟机做完题目需及时提交。 1)点击问号的图标会展示当前步骤的详细描述; 2)用户在将一个题目步骤后,需在此对应的步骤上点击立即验证,系统会判定当前步骤
是否通过,如果通过可继续进行下一步骤,即状态变为绿色,否则需要继续修改直至完成。
完成后每个条件的得分会及时同步,当步骤完成时会将用时总得分一起同步;
2019 年第二届全国大学生大数据技能竞赛
图 6 比赛题目
3)当在条件中出现以下图示符号,表明这两个条件可以二选一完成,只要完成一个即可
得分,同时可进入下一个条件,如果两个题目同时完成,则会取两个条件的最高分加到总分
里。 图 7 比赛题目
4
2019 年第二届全国大学生大数据技能竞赛
2.3 比赛已结束
1、比赛结束后,可在比赛页面查看成绩。 图 8 比赛已结束
大数据竞赛本地源介绍
本次比赛提供相应的软件压缩包以及相关的 xml 配置文件、数据集,其地址为
http://10.10.30.2:8000/bigdata/。具体如下:
5
2019 年第二届全国大学生大数据技能竞赛
6
相关安装软件、xml 配置文件 Bigdata_Conf.tar.gz 的路径为
http://10.10.30.2:8000/bigdata/bigdata_tar/,如下:
在这里插入图片描述

注意:配置文件需要自己修改。
MySQL Server 的 yum 源路径为 http://10.10.30.2:8000/bigdata/repofile,这里直接提供 repo
文件为 bigdata.repo,直接将其下载至/etc/yum/repos.d/即可,然后就可以下载 MySQL Server。
在这里插入图片描述

2019 年第二届全国大学生大数据技能竞赛
7
大数据竞赛题目操作手册
基础部分
1、基础搭建
本次集群搭建共有三个节点,包括一个主节点 master,和两个从节点 slave1 和 slave2。
具体操作如下:
1.1 使用连接工具连接比赛节点,更改本地源
1.使用本地 Windows 操作机提供的 Xshell 或 MobaXterm 连接比赛平台所提供的 master,
slave1,slave2 三台机器,并按照比赛平台提供的 linux 用户和密码进行登录,登录成功后开
始进行接下来的比赛。
注意连接工具没有在桌面上,点击(或者键入)左下角“windows”,即可看到连接工具。
同时可以使用以下命令进行修改主机名:
⚫ hostnamectl set-hostname master(在 master 执行)
⚫ 立即生效:bash
在这里插入图片描述

同理修改 slave1 和 slave2 的主机名。
⚫ hostnamectl set-hostname slave1(在 slave1 执行)
⚫ hostnamectl set-hostname slave2(在 slave2 执行)
2.配置本地源。通过比赛平台提供源文件下载路径,将本地源文件下载到/etc/yum.repos.d/
目录下(三台机器都执行)。 ⚫ 发信号给 yum 进程:pkill -9 yum
⚫ 进入 yum 源配置文件:cd /etc/yum.repos.d
⚫ 删除所有文件:rm -rf * ⚫ 下载 yum 源:wget http://10.10.30.2:8000/bigdata/repofile/bigdata.repo
⚫ 清除 YUM 缓存:yum clean all
1.2 配置 hosts 文件(三台机器都执行)
可以通过 ifconfig 命令进行查看机器的 ip 地址或者直接输入比赛平台提供的 ip 地址。
查看节点地址之后将三个节点的 ip 地址以及其对应的名称写进 hosts 文件。这里我们设
置为 master、slave1、slave2。注意保存退出。
⚫ vim /etc/hosts(三台机器都执行)
在这里插入图片描述

2019 年第二届全国大学生大数据技能竞赛
8
1.3 关闭防火墙(三台机器都执行)
⚫ 关闭防火墙:systemctl stop firewalld
⚫ 查看状态:systemctl status firewalld
在这里插入图片描述

注意:当环境重置之后,防火墙会自动开启。
1.4 时间同步
⚫ 选择时区:tzselect(三台执行)
在这里插入图片描述

2019 年第二届全国大学生大数据技能竞赛
下载 ntp(三台机器都执行)
⚫ yum install -y ntp
在这里插入图片描述

9
2019 年第二届全国大学生大数据技能竞赛
10
master 作为 ntp 服务器,修改 ntp 配置文件。(master 上执行,注意空格问题)
⚫ vim /etc/ntp.conf
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10 #stratum 设置为其它值也是可以的,其范围为 0~15
修改后注意保存退出。
重启 ntp 服务(master 上执行)
⚫ /bin/systemctl restart ntpd.service
其他机器进行同步(在 slave1,slave2 中执行)
⚫ ntpdate master
在这里插入图片描述

1.5 配置 ssh 免密
1.在 master 上执行如下命令生成公私密钥:(注意 master 上执行)
⚫ ssh-keygen -t dsa -P ‘’ -f ~/.ssh/id_dsa
2.然后将 master 公钥 id_dsa 复制到 slave1 进行公钥认证。
⚫ ssh-copy-id -i /root/.ssh/id_dsa.pub slave1
在这里插入图片描述

⚫ 退出连接:exit
2019 年第二届全国大学生大数据技能竞赛
11
同理可以将 master 公钥复制到 master、slave2 进行公钥认证。
⚫ ssh-copy-id -i /root/.ssh/id_dsa.pub master
⚫ ssh-copy-id -i /root/.ssh/id_dsa.pub slave2
注意:以上只是 master 到 slave1、slave2 的免密。如果想配置其他免密,其命令类似。
2、安装 JDK
以下操作为先在 master 上操作,然后远程复制到 slave1 和 slave2。参赛选手仅供参考。
首先在根目录下建立工作路径/usr/java。
⚫ mkdir -p /usr/java
进入创建的 java 工作路径。
⚫ cd /usr/java
下载 java 安装包(master 上执行)。 ⚫ wget http://10.10.30.2:8000/bigdata/bigdata_tar/jdk-8u171-linux-x64.tar.gz(在 master 执行)
⚫ tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/java/(在 master 执行)
⚫ 修改环境变量:vim /etc/profile(在 master 执行)
添加内容如下:
export JAVA_HOME=/usr/java/jdk1.8.0_171
export CLASSPATH= J A V A H O M E / l i b / e x p o r t P A T H = JAVA_HOME/lib/ export PATH= JAVAH​OME/lib/exportPATH=PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
在这里插入图片描述

⚫ 生效环境变量:source /etc/profile(在 master 执行)
⚫ 查看 java 版本:java -version(在 master 执行)
在这里插入图片描述

2019 年第二届全国大学生大数据技能竞赛
12
在 master 中将 JDK 复制到 slave1 和 slave2 中。(在 master 执行)
⚫ scp -r /usr/java root@slave1:/usr/
⚫ scp -r /usr/java root@slave2:/usr/
注意:此时需要去 slave1 和 slave2 上配置 java 的环境变量,并使环境变量生效。
3、安装 zookeeper
1.创建工作路径/usr/zookeeper,下载相应软件,解压至工作路径。
在 zookeeper 的目录中,创建配置中所需的 zkdata 和 zkdatalog 两个文件夹。(在 master
执行)
⚫ cd /usr/zookeeper/zookeeper-3.4.10
⚫ mkdir zkdata
⚫ mkdir zkdatalog
在这里插入图片描述

2.配置文件 zoo.cfg
进入 zookeeper 配置文件夹 conf,将 zoo_sample.cfg 文件拷贝一份命名为 zoo.cfg,
Zookeeper 在启动时会找这个文件作为默认配置文件。 ⚫ cd /usr/zookeeper/zookeeper-3.4.10/conf/
⚫ mv zoo_sample.cfg zoo.cfg
对 zoo.cfg 文件配置如下:(在 master 执行)
⚫ vim zoo.cfg
修改如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/zookeeper/zookeeper-3.4.10/zkdata
clientPort=2181
dataLogDir=/usr/zookeeper/zookeeper-3.4.10/zkdatalog
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
在这里插入图片描述

2019 年第二届全国大学生大数据技能竞赛
13
3.进入 zkdata 文件夹,创建文件 myid,用于表示是几号服务器。master 主机中,设置服
务器 id 为 1。(集群中设置 master 为 1 号服务器,slave1 为 2 号服务器,slave2 为 3 号服务器)
⚫ cd /usr/zookeeper/zookeeper-3.4.10/zkdata
⚫ vim myid
在这里插入图片描述

4.远程复制分发安装文件。
以上已经在主节点 master 上配置完成 ZooKeeper,现在可以将该配置好的安装文件远程
拷贝到集群中的各个结点对应的目录下:(在 master 执行)
⚫ scp -r /usr/zookeeper root@slave1:/usr/
⚫ scp -r /usr/zookeeper root@slave2:/usr/
在这里插入图片描述

5.设置 myid。在我们配置的 dataDir 指定的目录下面,创建一个 myid 文件,里面内容为
一个数字,用来标识当前主机,conf/zoo.cfg 文件中配置的 server.X 中 X 为什么数字,则 myid
2019 年第二届全国大学生大数据技能竞赛
14
文件中就输入这个数字。(在 slave1 和 slave2 中执行)
⚫ cd /usr/zookeeper/zookeeper-3.4.10/zkdata
⚫ vim myid
实验中设置 slave1 中为 2;
slave2 中为 3:
6.修改/etc/profile 文件,配置 zookeeper 环境变量。(三台机器都执行)
⚫ vi /etc/profile
#set zookeeper environment
export ZOOKEEPER_HOME=/usr/zookeeper/zookeeper-3.4.10
PATH= P A T H : PATH: PATH:ZOOKEEPER_HOME/bin
在这里插入图片描述

⚫ 生效环境变量:source /etc/profile
7.启动 ZooKeeper 集群。在 ZooKeeper 集群的每个结点上,执行启动 ZooKeeper 服务的
脚本。注意在 zookeeper 目录下:(三台机器都执行)
⚫ 回到上一层:cd …
⚫ 开启服务:bin/zkServer.sh start
2019 年第二届全国大学生大数据技能竞赛
⚫ 查看状态:bin/zkServer.sh status
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

通过上面状态查询结果可见,一个节点是 Leader,其余的结点是 Follower。
至此,zookeeper 安装成功。
4、安装 hadoop
以下步骤逻辑仅供选手参考:即 hadoop 安装同样在主节点 master 上进行配置操作,然
后将文件复制到到子节点 slave1 和 slave2。
4.1 解压安装包,配置环境变量

  1. 创建工作路径/usr/hadoop,下载相应软件,解压至工作路径。
    2.添加 hadoop 环境变量(三台机器执行)
    ⚫ vim /etc/profile
    添加如下内容:

# #HADOOP

export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
export CLASSPATH= C L A S S P A T H : CLASSPATH: CLASSPATH:HADOOP_HOME/lib
export PATH= P A T H : PATH: PATH:HADOOP_HOME/bin
在这里插入图片描述

15
2019 年第二届全国大学生大数据技能竞赛
16
使用以下命令使 profile 生效:
⚫ source /etc/profile
4.2 配置 hadoop 各组件
hadoop 的各个组件的都是使用 XML 进行配置,这些文件存放在 hadoop 的 etc/hadoop 目
录下。
1.编辑 hadoop-env.sh 环境配置文件
⚫ cd $HADOOP_HOME/etc/hadoop
⚫ vim hadoop-env.sh
在这里插入图片描述

Common组件 core-site.xml
HDFS组件 hdfs-site.xml
MapReduce组件 mapred-site.xml
YARN组件 yarn-site.xml
2019 年第二届全国大学生大数据技能竞赛
输入以下内容,修改 java 环境变量:
export JAVA_HOME=/usr/java/jdk在这里插入图片描述
1.8.0_171

键入“Esc”,退出编辑模式,使用命令“:wq”进行保存退出。
2.编辑 core-site.xml 文件
⚫ vim core-site.xml

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

master:在主节点的 ip 或者映射名。
17
2019 年第二届全国大学生大数据技能竞赛
18
9000:主节点和从节点配置的端口都是 9000。
在这里插入图片描述

同样注意保存退出。
3. 编辑 mapred-site.xml
hadoop 是没有这个文件的,需要将 mapred-site.xml.template 样本文件复制为
mapred-site.xml,对其进行编辑:
⚫ cp mapred-site.xml.template mapred-site.xml
⚫ vim mapred-site.xml
在这里插入图片描述

在中加入以下代码:

<property>
<!--指定 Mapreduce 运行在 yarn 上-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

注意保存退出。
4.修改 yarn-site.xml
在中加入以下代码:

<!-- 指定 ResourceManager 的地址-->
<property>
<name>yarn.resourcemanager.address</name>
<value>master:18040</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:18030</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:18088</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:18025</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:18141</value>
</property>
<!-- 指定 reducer 获取数据的方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
  1. 编辑 hdfs-site.xml 配置文件
    在中加入以下代码:

    dfs.replication
    2


    dfs.namenode.name.dir
    file:/usr/hadoop/hadoop-2.7.3/hdfs/name
    true


    dfs.datanode.data.dir
    20
    2019 年第二届全国大学生大数据技能竞赛
    file:/usr/hadoop/hadoop-2.7.3/hdfs/data
    true


    dfs.namenode.secondary.http-address
    master:9001


    dfs.webhdfs.enabled
    true


    dfs.permissions
    false

    dfs.replication:因为 hadoop 是具有可靠性的,它会备份多个文本,这里 value 就是指备
    份的数量(小于等于从节点的数量)。
    注意保存退出。
    6.编写 slaves 和 master 文件
    编写 slaves 文件,添加子节点 slave1 和 slave2;
    编写 master 文件,添加主节点 master。
    21
    2019 年第二届全国大学生大数据技能竞赛
    22
    7.分发 hadoop 文件到 slave1、slave2 两个子节点
    ⚫ scp -r /usr/hadoop root@slave1:/usr/
    ⚫ scp -r /usr/hadoop root@slave2:/usr/
    注意:
    slave 各节点上还需要配置环境变量,参考 hadoop 中第一个步骤。
    8.格式化 hadoop (仅在 master 中进行操作) ⚫ 格式化 namenode:hadoop namenode -format
    当出现“Exiting with status 0”的时候,表明格式化成功。
    9.开启 hadoop 集群
    仅在 master 主机上开启操作命令。它会带起从节点的启动。(仅在 master 中进行操作)
    ⚫ 回到 hadoop 目录:cd /usr/hadoop/hadoop-2.7.3
    ⚫ 主节点开启服务:sbin/start-all.sh
    master 主节点状态如下:
    2019 年第二届全国大学生大数据技能竞赛
    23
    slave1 节点状态如下:
    slave2 节点状态如下:
    11.使用 hadoop 命令“hadoop fs”进行相关操作。
    5、安装 hbase
    (同样先在主节点 master 下进行操作,然后在复制到子节点 slave1 和 slave2)
  2. 创建工作路径/usr/hbase,下载相应软件,解压至工作路径。
    2.进入 hbase 配置目录 conf,修改配置文件 hbase-env.sh,添加配置变量。 ⚫ cd /usr/hbase/hbase-1.2.4/conf
    ⚫ vim hbase-env.sh
    export HBASE_MANAGES_ZK=false
    export JAVA_HOME=/usr/java/jdk1.8.0_171
    export HBASE_CLASSPATH=/usr/hadoop/hadoop-2.7.3/etc/hadoop
    解释:一个分布式运行的 Hbase 依赖一个 zookeeper 集群。所有的节点和客户端都必须
    能够访问 zookeeper。默认的情况下 Hbase 会管理一个 zookeep 集群,即 Hbase 默认自带一个
    zookeep 集群。这个集群会随着 Hbase 的启动而启动。而在实际的商业项目中通常自己管理
    一个 zookeeper 集群更便于优化配置提高集群工作效率,但需要配置 Hbase。需要修改
    2019 年第二届全国大学生大数据技能竞赛
    conf/hbase-env.sh 里面的 HBASE_MANAGES_ZK 来切换。这个值默认是 true 的,作用是让
    Hbase 启动的时候同时也启动 zookeeper.在本实验中,我们采用独立运行 zookeeper 集群的方
    式,故将其属性值改为 false。
    3.配置 conf/hbase-site.xml 文件

    hbase.rootdir
    hdfs://master:9000/hbase


    hbase.cluster.distributed
    true


    hbase.master
    hdfs://master:6000


    hbase.zookeeper.quorum
    master,slave1,slave2


    hbase.zookeeper.property.dataDir
    /usr/zookeeper/zookeeper-3.4.10

    解释:要想运行完全分布式模式,加一个属性 hbase.cluster.distributed 设置为 true 然后
    把 hbase.rootdir 设置为 HDFS 的 NameNode 的位置;
    hbase.rootdir:这个目录是 region server 的共享目录,用来持久化 Hbase。URL 需要是’
    完全正确’的,还要包含文件系统的 scheme;
    hbase.cluster.distributed :Hbase 的运行模式。false 是单机模式,true 是分布式模式。若
    24
    2019 年第二届全国大学生大数据技能竞赛
    25
    为 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 中设置。
  3. 配置 conf/regionservers,添加子节点
    在这里列出了希望运行的全部 HRegionServer,一行写一个 host (就 Hadoop 里面的 slaver
    一样)。列在这里的 server 会随着集群的启动而启动,集群的停止而停止。
    5.hadoop 配置文件拷入 hbase 的目录下(当前目录为/usr/hbase/hbase-1.2.4/conf) ⚫ cp /usr/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml . ⚫ cp /usr/hadoop/hadoop-2.7.3/etc/hadoop/core-site.xml .
    6.分发 hbase 到子节点
    ⚫ scp -r /usr/hbase root@slave1:/usr/
    ⚫ scp -r /usr/hbase root@slave2:/usr/
    7.配置环境变量(三台机器)
    ⚫ vim /etc/profile
    配置环境变量 Hbase

set hbase environment

export HBASE_HOME=/usr/hbase/hbase-1.2.4
export PATH= P A T H : PATH: PATH:HBASE_HOME/bin
⚫ 生效环境变量:source /etc/profile
9. 运行和测试,在 master 上执行(保证 hadoop 和 zookeeper 已开启) ⚫ jps
2019 年第二届全国大学生大数据技能竞赛
26
6、安装 hive
实验中我们选用 hive 的远程模式,slave2 安装 mysql server 用于存放元数据,slave1 作为
hive server 作为 thrift 服务器,master 作为 client 客户端进行操作。
6.1slave2 上安装 MySQL server
1.配置过本地源了,安装 MySQL Server
⚫ 安装 MySQL:yum -y install mysql-community-server
2.启动服务
⚫ 重载所有修改过的配置文件:systemctl daemon-reload
⚫ 开启服务:systemctl start mysqld
⚫ 开机自启:systemctl enable mysqld
3.登陆 MySQL
安装完毕后,MySQL 会在/var/log/mysqld.log 这个文件中会自动生成一个随机的密码,
获取得这个随机密码,以用于登录 MySQL 数据库:
⚫ 获取初密码: grep “temporary password” /var/log/mysqld.log
⚫ 登陆 MySQL:mysql -uroot -p(注意中英文)
4.MySQL 密码安全策略设置
2019 年第二届全国大学生大数据技能竞赛
27
⚫ 设置密码强度为低级: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。 5. 设置远程登录
⚫ 以新密码登陆 MySQL:mysql -uroot -p123456
⚫ 创建用户:create user ‘root’@’%’ identified by ‘123456’;
⚫ 允许远程连接:grant all privileges on . to ‘root’@’%’ with grant option;
⚫ 刷新权限:flush privileges;
6.创建数据库 test
6.2 创建工作路径,解压安装包
创建工作路径/usr/hive,下载相应软件,解压至工作路径。
环境中 master 作为客户端,slave1 作为服务器端,因此都需要使用到 hive。因为 hive 相
关安装包存放在 master 中,因此我们先在 master 中对 hive 进行解压,然后将其复制到 slave1
中。
2019 年第二届全国大学生大数据技能竞赛
28
6.3slave1 中建立文件
同样 slave1 上建立文件夹/usr/hive,然后 master 中将安装包远程复制到 slave1。 ⚫ mkdir -p /usr/hive
master 中将 hive 文件复制到 slave1: ⚫ scp -r /usr/hive/apache-hive-2.1.1-bin root@slave1:/usr/hive/
修改/etc/profile 文件设置 hive 环境变量。(master 和 slave1 都执行)
⚫ vim /etc/profile
#set hive
export HIVE_HOME=/usr/hive/apache-hive-2.1.1-bin
export PATH= P A T H : PATH: PATH:HIVE_HOME/bin
⚫ 生效环境变量:source /etc/profile
2019 年第二届全国大学生大数据技能竞赛
29
6.4 解决版本冲突和 jar 包依赖问题
由于客户端需要和 hadoop 通信,所以需要更改 Hadoop 中 jline 的版本。即保留一个高版
本的 jline jar 包,从 hive 的 lib 包中拷贝到 Hadoop 中 lib 位置为
/usr/hadoop/hadoop-2.7.3/share/hadoop/yarn/lib。(master 中执行)
⚫ cp /usr/hive/apache-hive-2.1.1-bin/lib/jline-2.12.jar
/usr/hadoop/hadoop-2.7.3/share/hadoop/yarn/lib/
因为服务端需要和 Mysql 通信,所以服务端需要将 Mysql 的依赖包放在 Hive 的 lib 目录
下。(slave1 中进行) ⚫ cd /usr/hive/apache-hive-2.1.1-bin/lib
⚫ wget http://10.10.30.2:8000/bigdata/bigdata_tar/mysql-connector-java-5.1.47-bin.jar
6.5Slave1 作为服务器端配置 hive
回到 slave1,修改 hive-env.sh 文件中 HADOOP_HOME 环境变量。进入 hive 配置目录,
因为 hive 中已经给出配置文件的范本 hive-env.sh.template,直接将其复制一个进行修改即可:
⚫ cd $HIVE_HOME/conf
⚫ ls
⚫ cp hive-env.sh.template hive-env.sh
⚫ vim hive-env.sh
hive-env.sh 文件中修改 HADOOP_HOME 环境变量。
HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
2019 年第二届全国大学生大数据技能竞赛
3.修改 hive-site.xml 文件

hive.metastore.warehouse.dir /user/hive_remote/warehouse javax.jdo.option.ConnectionURL jdbc:mysql://slave2:3306/hive?createDatabaseIfNotExist=true javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver javax.jdo.option.ConnectionUserName root javax.jdo.option.ConnectionPassword 123456 hive.metastore.schema.verification false datanucleus.schema.autoCreateAll true 30 2019 年第二届全国大学生大数据技能竞赛 6.6Master 作为客户端配置 hive 和 slave1 中配置方式类似,直接进入 1.修改 hive-site.xml hive.metastore.warehouse.dir /user/hive_remote/warehouse hive.metastore.local false hive.metastore.uris thrift://slave1:9083 31 2019 年第二届全国大学生大数据技能竞赛 32 2.修改 hive-env.sh 中 HADOOP_HOME 环境变量: HADOOP_HOME=/usr/hadoop/hadoop-2.7.3 6.7 成功启动 Hive 1.启动 hive server 服务(slave1 上) ⚫ bin/hive --service metastore(注意空格) 2.启动 hive client(master 上) ⚫ bin/hive 测试 hive 是否启动成功 ⚫ hive>show databases; 创建数据库 hive_db ⚫ hive>create database hive_db; 2019 年第二届全国大学生大数据技能竞赛 33 提高部分 7、Spark 安装 7.1 安装 scala 环境 任务要求如下:(三台机器) 1.从本地源下载相应安装包,创建对应工作目录/usr/scala,并将工具解压至工作目录。 2.配置 scala 的环境变量并生效: 3.查看 scala 是否安装成功: 7.2 安装 Spark 任务要求如下: 1.从本地源下载相应安装包,创建对应工作目录/usr/spark,将工具解压至工作目录; 2.配置 conf/spark-env.sh 文件,设置要求如下; 设置 master 为 SPARK 主节点 IP(SPARK_MASTER_IP) 设置 SCALA_HOME、JAVA_HOME、HADOOP_HOME 设置 Hadoop 配置目录路径(HADOOP_CONF_DIR) 设置 spark 工作内存为 8G(SPARK_WORKER_MEMORY) 3.配置 spark 从节点,修改 slaves 文件; 提示:注意 slaves 节点中只包含节点信息,其他注释不需要。 4.向所有子节点发送 spark 配置好的安装包; 提示:即要求三台节点 spark 配置一致即可。 5.设置 SPARK_HOME 环境变量,将$SPARK_HOME/bin 加入到 PATH; 6.开启 spark 服务; 提示:主节点执行 2019 年第二届全国大学生大数据技能竞赛 8、数据爬取 8.1Python 环境配置 环境中已经安装 Python3.6.8,支持的库为: beautifulsoup 4 4.8.0 bs4 0.0.1 certifi 2019.6.16 chardet 3.0.4 html5lib 1.0.1 idna 2.8 lxml 4.4.1 pip 18.1 requests 2.22.0 setuptools 40.6.2 six 1.12.0 soupsieve 1.9.3 urllib3 1.25.3 webencodings 0.5.1 8.2 爬虫设计 访问比赛平台提供的 discuzserver(爬虫环境)对应 ip 的网站(比赛平台左上部分,具体 参考“大数据竞赛选手使用手册”中 2.2 小节),网站类型为 discuz 论坛,分析网站结构,并 针对后续题目要求设计爬虫代码,爬取网站内容。 8.3 数据爬取 要求爬取的数据至少包括帖子 ID,标题,作者 ID。 提示:网站内所有的注册用户,均至少发了一个帖子,可以根据此条件得出网站的全量 用户列表。 8.4 设计数据表 根据分析题目要求,表 crawl_discuz(hive_db 库中)需要包含以下字段: 帖子唯一 id :tid 帖子标题 :title 帖子作者 id :uid 爬取后的数据如下图所示: 34 2019 年第二届全国大学生大数据技能竞赛 将爬虫结果输出到文件 discuz_result.txt 中,用于导入数据表 8.5 数据保存 任务要求如下: 1)创建 crawl_discuz 表,要求字段包括 tid ,title,uid。(分隔符格式自定义); 2)将 discuz_result.txt 导入 hive_db 数据库的的 crawl_discuz 表中; 35

标签:20,05,zookeeper,hadoop,hive,master,usr,slave1,2021
来源: https://blog.csdn.net/xiaoyuLzym/article/details/117064751