文章目录
Hadoop简介
Hadoop是由Apache基金会开源的具有可靠、可扩展、分布式计算的大数据框架。Hadoop可以简单的从单个服务器扩展到数千台机器,提供分布式的计算和存储服务。Hadoop通过检测和处理应用程序层的故障来为服务器集群提供高可用性服务。
Java环境安装
Hadoop作为大数据框架,更多的是作为集群面向服务器使用,所以本系列的内容以Linux服务器为主。为更好的学习使用Hadoop,在低成本的条件下,推荐可以通过docker、podman之类的容器手段启动容器开启集群的方式来更好的学习Hadoop(有条件的可以选择虚拟机或上云)。
Hadoop是一个用Java语言开发的大数据框架,Hadoop的使用依赖于Jre,所以在正式安装配置Hadoop前,我们需要先安装配置好Java环境。
目前最新版的Hadoop官方文档显示,Hadoop支持Java8和Java11(运行时)。为了更好的兼容Hadoop的使用,本系统采用OpenJDK SE 8版本。
OpenJDK SE 8下载
wget https://download.java.net/openjdk/jdk8u43/ri/openjdk-8u43-linux-x64.tar.gz
解压到指定目录
大数据的学习和使用都是集群化的,为更好的进行集群设置,请尽量保证相同的操作系统和应用层配置。如,将软件和配置文件写在指定路径下,不要随意修改。
mkdir -p ${Software}/jdk
tar -xzvf openjdk-8u43-linux-x64.tar.gz --strip-components 1 -C ${Software}/jdk
- 直接解压会生成父目录,Java的版本不同会造成父目录的不同,所以在此处使用指定路径的方式,方便后期更好的升级环境
- 在这里和之后中通过
${}
表明根据自己的环境自定义值 - 指定路径解压前,通过
mkdir -p
命令确保指定路径存在 - –strip-components Number:解压时清除Number个引导目录,一般情况下,Number为1表示不包含打包前原目录
- -C:指定解压路径
Java安装与环境变量配置
Linux的环境变量设置一般为在相应的文件中添加环境变量信息。根据使用权限的不同,可以配置不同的环境变量。
- 当前用户环境变量:
~/.bash_profile
~
:当前用户的工作路径
- 全局环境变量:
/etc/profile
在这里我们以全局环境变量为例,配置Java环境变量。Java环境变量主要为配置JAVA_HOME
,PATH
。Java环境变量可以通过如vim
手动打开写入方式,也可通过标准流输出追加文件内容方式写入,为更好的方便后期集群中环境脚本的开发,这里采用标准流输出追加文件内容方式配置环境变量。
echo "# >>> jdk initialize >>>" >> /etc/profile
echo "export JAVA\_HOME=${Software}/jdk" >> /etc/profile
echo "export PATH=${JAVA\_HOME}/bin:${PATH}" >> /etc/profile
echo "# <<< jdk initialize <<<" >> /etc/profile
- 开头和结尾的主要是为了标识Java安装位置,为注释内容,不生效
- Linux中
>>
表示为文档后追加文件内容 - 若无法写入,检查是否是权限的问题,可以切换为
root
账号执行操作。或写入自己环境中的配置文件
重载环境变量配置文件
将环境变量写入配置文件后,环境变量不会立即生效,需要重新加载配置文件,Linux中使用source
命令重新加载配置文件。
source /etc/profile
环境配置测试
执行java -version
和javac -version
有正确的输出即表示Java环境配置成功。
$ java -version
openjdk version "1.8.0\_43"
OpenJDK Runtime Environment (build 1.8.0_43-b03)
OpenJDK 64-Bit Server VM (build 25.40-b25, mixed mode)
$ javac -version
javac 1.8.0_43
Hadoop安装与环境变量配置
固定IP
在集群中,最重要的就是主机与主机之间能够相互访问到。所以需要通过相应的标识来识别到对应的节点。在计算机中,可以通过域名和IP地址的方式识别到相应的服务器,在Hadoop集群的配置中也是如此。在同一网段下,进行IP设置,可以考虑采用静态IP的方式而不是DHCP动态IP,防止节点IP发生变化无法访问。
- 在使用云系统的情况下,请先自己购买云服务器的平台先设置VPC(Virtual Private Cloud)云虚拟局域网,然后在购买主机,保证购买的主机在同一个局域网,能够相互访问
- 本系统采用容器的方式组集群,借助容器的
VIP
虚拟IP的概念,可以不用考虑固定容器内部IP,而是通过容器名(类似于域名)的方式访问节点 - 虚拟机组集群用户可网上自行搜索资料,固定自己的IP
为方便访问子节点(IP不好记),可以考虑为自己的集群节点配置一个本地的host,这样可以直接用类似域名的方式直接访问集群节点。
Linux中将host主机名映射配置写在/etc/hosts
文件中,这样之后直接访问`
H
o
s
t
M
a
p
N
a
m
e
{HostMapName}
HostMapName就可以访问相应的节点。
sudo echo "${StaticIP} ${HostMapName}" >> /etc/hosts
设置SSH免密登录
Hadoop在启动时,只需要在主节点执行Hadoop执行脚本,Hadoop会自动根据配置启动主从节点的服务。但是Hadoop在启动服务时,主节点需要访问所有节点,然后从相应节点中启动守护进程,所以配置主节点到所有节点之间的免密登录(包括主节点到主节点自身之间的免密登录)。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
[外链图片转存中…(img-gz3oJGdB-1712967484556)]
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!