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=
JAVAHOME/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 解压安装包,配置环境变量
- 创建工作路径/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>
- 编辑 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) - 创建工作路径/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 中设置。 - 配置 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 文件
标签:20,05,zookeeper,hadoop,hive,master,usr,slave1,2021 来源: https://blog.csdn.net/xiaoyuLzym/article/details/117064751