如何自学大数据(一)从零开始的环境搭建之路
admin
2023-08-11 03:40:40
0

引言

最近群里有很多同学问我如何才能学好大数据,思考再三,我决定写一篇文章来引导一下大家进入大数据的学习。(本文是从完全没基础的小白开始引导,如果有一定基础,可以直接根据目录寻找自己需要的内容)

第一章 想致富,先撸树。万丈高楼平地起


通过这一章学习,就可以了解到一个企业目前的热门软件和框架有哪些,如何装配Hadoop的基本环境。


在开始学习之前,首先我们需要了解一个东西:

大数据是什么?

让我们先来看一篇文章。

这时候可能有些同学会说:太长不看;太难,看不懂;看过了不了解。。。。。。

不想看也没关系,确实这篇文章写的太长了,介绍的内容也非常非常的多。我们只需要针对性的去了解一些东西,能够知道大数据的概况,生态圈也就够了。

因为这些都不是重点,简单的来说可以一句话概括:好比大家做菜,把一大段食材切成差不多长度的几段,然后找几个人对每一段进行一样的操作(比如说一起把自己的这一段切成同样的长度),最后把所有人切好的食材装到一个盘子里。

既然我们已经知道大数据是干什么的了,那么对于现有的食材(数据),我们可以开始安排几个人(搭建集群)来做这件事了。当然,我们也可以让一个人长出无数个手(搭建离线集群)来做这件事。

搭建集群的过程很漫长,我们需要耗费大量的精力。不过没关系,万丈高楼平地起。相信大家都玩过我的世界(或者饥荒)这类游戏,听过一句话叫“想致富,先撸树。”




想致富,先撸树

那么让我们开始吧!

准备好大数据相关的编译软件:

这边推荐一款java编译的明星产品:IntellijIdea(Eclipse也可以,随便你~)

idea官网:(请下载专业版)

至于是否对这个软件付费使用,随便你~

在idea中装配一些环境,准备好jdk,scala,maven等。

jdk官网:

scala官网:(scala:大数据框架经常会使用到的一种语言)


maven官网:(请修改settings文件配置阿里云镜像,如果是北方网友,请无视这条)

mysql官网:

Apache相关产品组件官网:


VMware(虚拟机)官网:

CentOS镜像:

Windows10操作系统:(如果你真的没有这玩意的话)

不想一个个找可以加群:556257229,在群文件中有相关内容


Q:相关产品需要下载一段时间,那么这段时间我们应该干什么呢?

A: 计算一下大概时间,然后出门饮茶先~当然是养生更重要。我这不叫摸鱼,这叫做适当放松,保持健康才能有更多的精力来投入工作!


好了,那我们茶足饭饱了(bushi),该开始工作了。现在让我们将下载好的软件按照官方文档中的要求去装配。哎哎哎,那个同学别睡觉,醒醒,该工作了!

让我们先来看看文档中的安装要求:(以下为hadoop官网)

其他软件安装内容可以加群讨论:556257229,后续章节中也会有更新




hadoop安装官方文档指引

(呼噜声)

没关系的,先别忙着睡。万事开头难,等我们把环境搭好了就可以开始学习我们的大数据了。

首先我们先配置一下windows的环境:

配置好所需的环境变量:




环境变量



环境变量

以及安装linux虚拟机(安装好VMware,在里面装一个centos7的环境)

在虚拟机中配置环境变量:

vi /etc/profile

# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc

# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.

pathmunge () {
case ":${PATH}:" in
*:"$1":*)
;;
*)
if [ "$2" = "after" ] ; then
PATH=$PATH:$1
else
PATH=$1:$PATH
fi
esac
}


if [ -x /usr/bin/id ]; then
if [ -z "$EUID" ]; then
# ksh workaround
EUID=`/usr/bin/id -u`
UID=`/usr/bin/id -ru`
fi
USER="`/usr/bin/id -un`"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
fi

# Path manipulation
if [ "$EUID" = "0" ]; then
pathmunge /usr/sbin
pathmunge /usr/local/sbin
else
pathmunge /usr/local/sbin after
pathmunge /usr/sbin after
fi

HOSTNAME=`/usr/bin/hostname 2>/dev/null`
HISTSIZE=1000
if [ "$HISTCONTROL" = "ignorespace" ] ; then
export HISTCONTROL=ignoreboth
else
export HISTCONTROL=ignoredups
fi

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
umask 002
else
umask 022
fi

for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
if [ "${-#*i}" != "$-" ]; then
. "$i"
else
. "$i" >/dev/null
fi
fi
done

unset i
unset -f pathmunge
JAVA_HOME=/root/install/jdk1.8.0_161
export JAVA_HOME
HADOOP_HOME=hadoop地址
export HADOOP_HOME
export HADOOP_CLASSPATH=`hadoop classpath`
export HADOOP_CLASSPATH=$CLASSPATH:$HIVE_HOME/lib/*
SCALA_HOME=scala地址
export SCALA_HOME

unset i
unset -f pathmunge
JAVA_HOME=java地址
export JAVA_HOME
#PATH=$PATH:$JAVA_HOME
HADOOP_HOME=hadoop地址
export HADOOP_HOME
export HADOOP_CLASSPATH=`hadoop classpath`
export HADOOP_CLASSPATH=$CLASSPATH:$HIVE_HOME/lib/*
SCALA_HOME=scala地址
export SCALA_HOME
SPARK_HOME=spark地址
FLINK_HOME=flink地址
export HIVE_HOME=hive地址

直接复制是没有效果的喔,请看清楚里面的内容,并按照自己的地址修改。

配置好以后请退出保存

:wq




保存

随后 source /etc/profile激活环境变量

配置好了以后将相关的软件装一个windows版一个linux版,方便后期的代码编译调试。

提示:在配置Linux的主机名映射的时候,需要找到/etc/hosts文件修改

现在让我们尝试使用linux搭建hadoop,使用mac搭建集群请跳过这部分直接点击目录寻找下面部分。

我们先在linux中解压hadoop,准备好我们的jdk文件。

jdk下载地址上面有↑↑↑

将下载好的jdk放在一个方便访问的位置(用的什么系统下载什么版本!这里是linux的版本教程所以请下载linux版。),并添加环境变量(在上面文件里直接改一下就行了)

随后我们打开解压的hadoop文件,在hadoop包里的/etc/hadoop中找到几个核心的配置文件:

hdfs-site.xml core-site.xml yarn-site.xml(其他几个可以按需修改,这几个是比较重要的)

然后查看官方文档:

可以按照这个官网安装好一个基本的单节点集群(离线),建议装单节点,不要装cluster,会增加学习负担!

先构建ssh链接

ssh-keygen -t rsa

一路回车

查看生成私钥和公钥

cd ~/.ssh

然后设置免密登录

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

测试ssh链接

ssh localhost(或者你的虚拟机映射)

几个核心配置文件的重点配置如下:

hadoop-env.sh

找到截图中的这行



随后添加如下代码:

export JAVA_HOME=你自己的java地址

core-site



fs.defaultFS
hdfs://hadoop映射:8020

hadoop映射这块请自行配置一下,在/etc/hosts里面。可以按照自己喜欢的来。

hdfs-site



dfs.replication
1


dfs.namenode.name.dir
你的namenode地址


dfs.datanode.data.dir
你的datanode地址


dfs.webhdfs.enabled
true

更多配置请看下面指引中的官方文档默认参数配置和解释↓↓↓(在Mac安装章节后面)

yarn-site



yarn.resourcemanager.hostname
你的hadoop映射


yarn.nodemanager.aux-services
mapreduce_shuffle

报错日志(log4j.properties)相关配置文件内容在第二章会有提及。

marped-site



mapreduce.framework.name
yarn

对hdfs的解释性文档:

初始化namenode节点:

hadoop namenode -format

如果没有报错则可以继续,报错请检查前面的操作。

启动集群:

start-all.sh

成功启动代表你的安装完成。

jps命令查看效果如下:



如果是使用的Mac系统,请查看以下内容:

Mac安装Hadoop步骤:

打开终端,使用如下指令生成秘钥

ssh-keygen -t rsa

查看生成的私钥和公钥

cd ~/.ssh

将公钥内容写到

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

随后测试ssh链接

ssh localhost

如果测试链接不成功,

请按下列步骤排查:设置->共享->远程登录和远程连接是否打开

成功以后会询问你一段话,随后输入yes(Are you sure you want to continue connecting?)

然后安装hadoop和jdk(注意jdk需要装mac版本,一般推荐1.8或者11)

需要注意的是mac的映射地址一般是localhost。也是在/etc/hosts里面可以查看

hadoop配置和上面linux的方法基本一致,跟着官网走即可。

修改环境变量

mac和linux稍微有点区别的是可以修改用户变量来使用,source /etc/profile会提示没效果。

所以mac步骤为:

vim ~/.bash_profile

如果创建了新文件也不要紧。在里面配置环境变量就可以了。大概格式为:

HADOOP_HOME=/xxxxxx/xxxx/xxx
export HADOOP_HOME(hadoop需要sbin和bin目录)
PATH = $PATH:xxx/bin

修改完成以后wq保存

随后source刷新这个文件夹就可以了

source ~/.bash_profile

初始化namenode节点

如果成功装好了环境变量,则可以使用start-all.sh指令。如果使用不了,请cd到bin目录,使用 chmod u+x *指令添加所有的权限。但是现在的start-all还不能使用。只是测试一下你的环境变量是否配置成功。

如果变量没问题,也添加了权限,则可以开始namenode初始化

然后使用start-all.sh尝试启动集群

然后jsp查看,看到节点启动了就可以成功了。

如果失败请参考下一章中linux失败查看log的方式。

相关软件列表:(不分先后)

mysql,hbase,hadoop,java,hive,kafka,zookeeper,spark,scala,flink,sqoop,redis,druid,clickhouse,Phoenix...(更多的软件可以按需添加)

以上内容如果不知道如何安装请根据左侧目录寻找到对应官网,其中hive,hadoop,kafka等都隶属于Apache,可以在产品列表中找到。

maven(只需要windows安装即可,方便通过maven直接引入需要的依赖包


安装好以后根据官方文档配置相关配置文件(主要是配置Linux中的)

推荐使用finalshell或者xshell来配合VMware使用。


在你安装的hadoop文件中找到配置文件:

(在帮助文档的这个位置开始往下看,帮助文档地址请查看目录)



一般为了方便搭建,推荐只搭建一个离线集群。

可以在官方文档的左下角这个地方找到相关配置信息:



对安装环境有困难和疑问的可以加群讨论:556257229

完成了对hadoop集群搭建以后(再次提醒:尽量不要搭建多集群,一般离线模式在学习阶段就够用了。不然容易添加一些学习负担),就可以开始着手搭建一些基本环境了。(下一章会开始讲解hive相关的环境搭建)

完成了下载和hadoop的搭建以后,恭喜各位,踏出了大数据学习的第一步。(第二章会教大家怎么使用集群)

在搭建环境的过程中请注意版本搭配,各类设置配置内容。


更多内容敬请期待。(这才第一章,第一章!!!!!!!!!!!!)

码字不易,觉得内容对你有帮助可以点个赞加个关注再走~

文章末尾求个三连~(点赞收藏+关注)

后面几章内容传送门:

第二章:

第三章:

相关内容