【愚公系列】2024年02月 大数据教学课程 020
🚀前言在安装Hadoop之前,需要进行以下准备工作:
确认操作系统:Hadoop可以运行在多种操作系统上,包括Linux、Windows和Mac OS等。选择适合你的操作系统,并确保操作系统版本符合Hadoop的要求。
安装Java环境:Hadoop是基于Java开发的,因此需要先安装和配置Java环境。确保已经安装了符合Hadoop版本要求的Java Development Kit (JDK),并设置好JAVA_HOME环境变量。
确认硬件要求:Hadoop是一个分布式系统,因此需要多台计算机组成集群。每台计算机至少需要具备一定的处理能力(如多核处理器)、足够的内存和硬盘空间等。根据Hadoop版本和集群规模,确认硬件要求并准备相应的计算机。
确认网络连接:Hadoop集群中的各个节点需要能够互相通信,因此需要保证网络连接正常。确保集群中的计算机之间可以通过局域网或云服务商的虚拟网络互相访问。
下载Hadoop软件包:从Hadoop官方网站下载适合你的操作系统和Hadoop版本的软件包。也可以考虑使用一些Hadoop发行版(如Cloudera、Hortonworks和Apache Bigtop等),它们提供了预配置的Hadoop环境和管理工具,简化安装和配置的过程。
配置Hadoop:在安装Hadoop之前,需要对Hadoop的相关配置文件进行调整和设置,包括Hadoop的核心配置文件(如hadoop-env.sh、core-site.xml等)和HDFS配置文件(如hdfs-site.xml)等。根据自己的需求和集群规模,进行相应的配置。
准备工作完成后,可以按照官方文档或相关教程的指引,进行Hadoop的安装和配置。安装完成后,可以启动Hadoop集群并验证其正常运行。
本文主要讲解Hadoop的安装
🚀一、appache版本hadoop重新编译🔎1.appache版本hadoop重新编译🦋1.1 为什么要编译hadoop由于appache给出的hadoop的安装包没有提供带C程序访问的接口,所以我们在使用本地库(本地库可以用来做压缩,以及支持C程序等等)的时候就会出问题,需要对Hadoop源码包进行重新编译.
🦋1.2 编译环境的准备☀️1.2.1 准备linux环境准备一台linux环境,内存4G或以上,硬盘40G或以上,我这里使用的是Centos6.9 64位的操作系统(注意:一定要使用64位的操作系统)
☀️1.2.2 虚拟机联网,关闭防火墙,关闭selinux关闭防火墙命令:
代码语言:javascript代码运行次数:0运行复制service iptables stop
chkconfig iptables off 关闭selinux
vim /etc/selinux/config
☀️1.2.3 安装jdk1.7注意hadoop-2.7.5 这个版本的编译,只能使用jdk1.7,如果使用jdk1.8那么就会报错
查看centos6.9自带的openjdk
rpm -qa | grep java
将所有这些openjdk全部卸载掉
rpm -e java-1.6.0-openjdk-1.6.0.41-1.13.13.1.el6_8.x86_64 tzdata-java-2016j-1.el6.noarch java-1.7.0-openjdk-1.7.0.131-2.6.9.0.el6_8.x86_64
注意:这里一定不要使用jdk1.8,亲测jdk1.8会出现错误
将我们jdk的安装包上传到/export/softwares(我这里使用的是jdk1.7.0_71这个版本)
解压我们的jdk压缩包
统一两个路径
代码语言:javascript代码运行次数:0运行复制mkdir -p /export/servers
mkdir -p /export/softwares
cd /export/softwares
tar -zxvf jdk-7u71-linux-x64.tar.gz -C ../servers/配置环境变量
vim /etc/profile
代码语言:javascript代码运行次数:0运行复制export JAVA_HOME=/export/servers/jdk1.7.0_71
export PATH=:$JAVA_HOME/bin:$PATH让修改立即生效
source /etc/profile
☀️1.2.4 安装maven这里使用maven3.x以上的版本应该都可以,不建议使用太高的版本,强烈建议使用3.0.5的版本即可
将maven的安装包上传到/export/softwares
然后解压maven的安装包到/export/servers
代码语言:javascript代码运行次数:0运行复制cd /export/softwares/
tar -zxvf apache-maven-3.0.5-bin.tar.gz -C ../servers/配置maven的环境变量
vim /etc/profile
代码语言:javascript代码运行次数:0运行复制export MAVEN_HOME=/export/servers/apache-maven-3.0.5
export MAVEN_OPTS="-Xms4096m -Xmx4096m"
export PATH=:$MAVEN_HOME/bin:$PATH让修改立即生效
source /etc/profile
解压maven的仓库
tar -zxvf mvnrepository.tar.gz -C /export/servers/
修改maven的配置文件
代码语言:javascript代码运行次数:0运行复制cd /export/servers/apache-maven-3.0.5/conf
vim settings.xml指定我们本地仓库存放的路径
添加一个我们阿里云的镜像地址,会让我们下载jar包更快
代码语言:javascript代码运行次数:0运行复制
☀️1.2.5 安装findbugs解压findbugs
tar -zxvf findbugs-1.3.9.tar.gz -C ../servers/
配置findbugs的环境变量
vim /etc/profile
代码语言:javascript代码运行次数:0运行复制export JAVA_HOME=/export/servers/jdk1.7.0_75
export PATH=:$JAVA_HOME/bin:$PATH
export MAVEN_HOME=/export/servers/apache-maven-3.0.5
export PATH=:$MAVEN_HOME/bin:$PATH
export FINDBUGS_HOME=/export/servers/findbugs-1.3.9
export PATH=:$FINDBUGS_HOME/bin:$PATH让修改立即生效
source /etc/profile
☀️1.2.6 在线安装一些依赖包代码语言:javascript代码运行次数:0运行复制yum install autoconf automake libtool cmake
yum install ncurses-devel
yum install openssl-devel
yum install lzo-devel zlib-devel gcc gcc-c++bzip2压缩需要的依赖包
代码语言:javascript代码运行次数:0运行复制yum install -y bzip2-devel☀️1.2.7 安装protobuf解压protobuf并进行编译
代码语言:javascript代码运行次数:0运行复制cd /export/softwares
tar -zxvf protobuf-2.5.0.tar.gz -C ../servers/
cd /export/servers/protobuf-2.5.0
./configure
make && make install☀️1.2.8 安装snappy代码语言:javascript代码运行次数:0运行复制cd /export/softwares/
tar -zxf snappy-1.1.1.tar.gz -C ../servers/
cd ../servers/snappy-1.1.1/
./configure
make && make install☀️1.2.9 编译hadoop源码对源码进行编译
代码语言:javascript代码运行次数:0运行复制cd /export/softwares
tar -zxvf hadoop-2.7.5-src.tar.gz -C ../servers/
cd /export/servers/hadoop-2.7.5编译支持snappy压缩:
mvn package -DskipTests -Pdist,native -Dtar -Drequire.snappy -e -X
编译完成之后我们需要的压缩包就在下面这个路径里面
代码语言:javascript代码运行次数:0运行复制/export/servers/hadoop-2.7.5/hadoop-dist/target🚀二、Hadoop的安装集群规划
服务器IP
192.168.174.100
192.168.174.110
192.168.174.120
主机名
node01
node02
node03
NameNode
是
否
否
SecondaryNameNode
是
否
否
dataNode
是
是
是
ResourceManager
是
否
否
NodeManager
是
是
是
🔎1.上传apache hadoop包并解压解压命令
代码语言:javascript代码运行次数:0运行复制cd /export/softwares
tar -zxvf hadoop-2.7.5.tar.gz -C ../servers/🔎2.修改配置文件🦋2.1 修改core-site.xml第一台机器执行以下命令
代码语言:javascript代码运行次数:0运行复制cd /export/servers/hadoop-2.7.5/etc/hadoop
vim core-site.xml代码语言:javascript代码运行次数:0运行复制
🦋2.2 修改hdfs-site.xml第一台机器执行以下命令
代码语言:javascript代码运行次数:0运行复制cd /export/servers/hadoop-2.7.5/etc/hadoop
vim hdfs-site.xml代码语言:javascript代码运行次数:0运行复制
🦋2.3 修改hadoop-env.sh第一台机器执行以下命令
代码语言:javascript代码运行次数:0运行复制cd /export/servers/hadoop-2.7.5/etc/hadoop
vim hadoop-env.sh代码语言:javascript代码运行次数:0运行复制export JAVA_HOME=/export/servers/jdk1.8.0_141🦋2.4 修改mapred-site.xml第一台机器执行以下命令
代码语言:javascript代码运行次数:0运行复制cd /export/servers/hadoop-2.7.5/etc/hadoop
vim mapred-site.xml代码语言:javascript代码运行次数:0运行复制
🦋2.5 修改yarn-site.xml第一台机器执行以下命令
代码语言:javascript代码运行次数:0运行复制cd /export/servers/hadoop-2.7.5/etc/hadoop
vim yarn-site.xml代码语言:javascript代码运行次数:0运行复制
🦋2.6 修改mapred-env.sh第一台机器执行以下命令
代码语言:javascript代码运行次数:0运行复制cd /export/servers/hadoop-2.7.5/etc/hadoop
vim mapred-env.sh代码语言:javascript代码运行次数:0运行复制export JAVA_HOME=/export/servers/jdk1.8.0_141🦋2.7 修改slaves修改slaves文件,然后将安装包发送到其他机器,重新启动集群即可
第一台机器执行以下命令
代码语言:javascript代码运行次数:0运行复制cd /export/servers/hadoop-2.7.5/etc/hadoop
vim slaves代码语言:javascript代码运行次数:0运行复制node01
node02
node03第一台机器执行以下命令
代码语言:javascript代码运行次数:0运行复制mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/tempDatas
mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas
mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas2
mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas
mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas2
mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/nn/edits
mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/snn/name
mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/dfs/snn/edits安装包的分发
第一台机器执行以下命令
代码语言:javascript代码运行次数:0运行复制cd /export/servers/
scp -r hadoop-2.7.5 node02:$PWD
scp -r hadoop-2.7.5 node03:$PWD🔎3.配置hadoop的环境变量三台机器都要进行配置hadoop的环境变量
三台机器执行以下命令
代码语言:javascript代码运行次数:0运行复制vim /etc/profile代码语言:javascript代码运行次数:0运行复制export HADOOP_HOME=/export/servers/hadoop-2.7.5
export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH配置完成之后生效
代码语言:javascript代码运行次数:0运行复制source /etc/profile🔎4.启动集群要启动 Hadoop 集群,需要启动 HDFS 和 YARN 两个模块。
注意: 首次启动 HDFS 时,必须对其进行格式化操作。 本质上是一些清理和
准备工作,因为此时的 HDFS 在物理上还是不存在的。
hdfs namenode -format 或者 hadoop namenode –format
准备启动
第一台机器执行以下命令
代码语言:javascript代码运行次数:0运行复制cd /export/servers/hadoop-2.7.5/
bin/hdfs namenode -format
sbin/start-dfs.sh
sbin/start-yarn.sh
sbin/mr-jobhistory-daemon.sh start historyserver三个端口查看界面
http://node01:50070/explorer.html#/ 查看hdfs
http://node01:8088/cluster 查看yarn集群
http://node01:19888/jobhistory 查看历史完成的任务