Hadoop - 安装

文章目录


关于 Hadoop

The Apache™ Hadoop® project develops open-source software for reliable, scalable, distributed computing.

The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models.

It is designed to scale up from single servers to thousands of machines, each offering local computation and storage. Rather than rely on hardware to deliver high-availability, the library itself is designed to detect and handle failures at the application layer, so delivering a highly-available service on top of a cluster of computers, each of which may be prone to failures.


发行版本


架构变迁 1.0 --> 2.0 --> 3.0


安装配置

官方安装配置:
https://hadoop.apache.org/docs/r1.0.4/cn/quickstart.html


安装

macOS 安装 Hadoop:使用 brew

brew 安装、使用方法可见:https://blog.csdn.net/lovechris00/article/details/121613647

shell 复制代码
brew install hadoop

如果出现报错:

Error: Cannot install hadoop because conflicting formulae are installed.

yarn: because both install yarn binaries

Please brew unlink yarn before continuing.

根据提示执行命令即可:

shell 复制代码
brew unlink yarn

安装成功,查看版本

shell 复制代码
# 查看 hadoop 安装目录
brew info hadoop 

配置环境变量

根据你的环境变量文件,编辑

shell 复制代码
vim ~/.zshrc
# vim ~/.bash_profile
shell 复制代码
# Hadoop
export HADOOP_HOME=/usr/local/Cellar/hadoop/3.3.4/libexec
export PATH=$PATH:HADOOP_HOME

使环境变量在当前窗口生效。

你也可以使用 ctrl + tab 新开一个终端窗口。

shell 复制代码
source ~/.zshrc
# source ~/.bash_profile

配置

shell 复制代码
cd /usr/local/Cellar/hadoop/3.3.3/libexec/etc/hadoop
ls

修改配置文件


core-site.xml
shell 复制代码
vim  core-site.xml

进入文件后加入:

xml 复制代码
<configuration>
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:8020</value>
  </property>
 
  <!--用来指定hadoop运行时产生文件的存放目录  自己创建-->
  <property>
    <name>hadoop.tmp.dir</name>
    <value>file:/usr/local/Cellar/hadoop/tmp</value>
  </property>
</configuration>

hdfs-site.xml

配置副本数

shell 复制代码
vim  hdfs-site.xml
xml 复制代码
<configuration>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
        <!--不是root用户也可以写文件到hdfs-->
        <property>
                <name>dfs.permissions</name>
                <value>false</value>    <!--关闭防火墙-->
        </property>
        <!--把路径换成本地的name坐在位置-->
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/usr/local/Cellar/hadoop/tmp/dfs/name</value>
        </property>
        <!--在本地新建一个存放hadoop数据的文件夹,然后将路径在这里配置一下-->
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/usr/local/Cellar/hadoop/tmp/dfs/data</value>
        </property>
</configuration> 

mapped-site.xml
shell 复制代码
vim  mapped-site.xml
xml 复制代码
 <configuration>
  <property>
    <!--指定mapreduce运行在yarn上-->
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
  <property>
     <name>mapred.job.tracker</name>
     <value>localhost:9010</value>
  </property>
  <!-- 新添加 -->
  <!-- 下面的路径就是你hadoop distribution directory -->
  <property>
     <name>yarn.app.mapreduce.am.env</name>
     <value>HADOOP_MAPRED_HOME=/usr/local/Cellar/hadoop/3.3.3/libexec</value>
  </property>
  <property>
     <name>mapreduce.map.env</name>
     <value>HADOOP_MAPRED_HOME=/usr/local/Cellar/hadoop/3.3.3/libexec</value>
  </property>
  <property>
     <name>mapreduce.reduce.env</name>
     <value>HADOOP_MAPRED_HOME=/usr/local/Cellar/hadoop/3.3.3/libexec</value>
</property>
 
</configuration> 

yarn-site.xml
shell 复制代码
vim   yarn-site.xml
xml 复制代码
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
      </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>localhost:9000</value>
    </property> 
    <property>
      <name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
      <value>100</value>
    </property>
</configuration> 

配置 hadoop-env

$HADOOOP_HOME/etc/hadoop/hadoop-env.sh 中配置 JAVA_HOME


shell 复制代码
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_331.jdk/Contents/Home


启动/停止 Hadoop 服务

初始化 HDFS NameNode

shell 复制代码
hdfs namenode -format

1、启动

shell 复制代码
cd  $HADOOP_HOME
./start-dfs.sh 

2、在浏览器中输入url:
http://localhost:9870/dfshealth.html#tab-overview
http://localhost:9870

看到以下界面启动成功

如果打不开这个页面,而且又启动了,需要在hadoop下/etc/hadoop/hadoop-env.sh文件下第52行后面添加下方配置:

shell 复制代码
cd /usr/local/Cellar/hadoop/3.3.1/libexec/etc
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native"

3、停止hadoop服务

shell 复制代码
./stop-yarn.sh

4、启动yarn服务

shell 复制代码
cd /usr/local/Cellar/hadoop/3.3.1/libexec/sbin
./start-yarn.sh 

在浏览器中输入 http://localhost:8088/cluster 看到一下界面则启动成功


5、停止yarn服务

shell 复制代码
./stop-yarn.sh 

查看 hdfs report
shell 复制代码
hdfs dfsadmin -report

启动 yarn

shell 复制代码
cd $HADOOP_HOME
../sbin/start-yarn.sh 

浏览器输入 http://localhost:8088,出现下面界面则代表启动成功


相关推荐
珠海西格电力4 小时前
零碳园区有哪些政策支持?
大数据·数据库·人工智能·物联网·能源
LJ97951114 小时前
AI如何重构媒介宣发:从资源博弈到智能匹配的技术跃迁
大数据
数据皮皮侠AI5 小时前
上市公司股票名称相似度(1990-2025)
大数据·人工智能·笔记·区块链·能源·1024程序员节
Zoey的笔记本6 小时前
金融行业数据可视化平台:破解数据割裂与决策迟滞的系统性方案
大数据·信息可视化·数据分析
2501_933670796 小时前
大数据与财务管理专业就业岗位方向
大数据
小龙6 小时前
【Git 报错解决】本地分支与远程分支名称/提交历史不匹配
大数据·git·elasticsearch·github
Deepoch7 小时前
Deepoc具身模型:破解居家机器人“需求理解”难题
大数据·人工智能·机器人·具身模型·deepoc
代码方舟7 小时前
Java企业级实战:对接天远名下车辆数量查询API构建自动化风控中台
java·大数据·开发语言·自动化
AC赳赳老秦7 小时前
Python 爬虫进阶:DeepSeek 优化反爬策略与动态数据解析逻辑
开发语言·hadoop·spring boot·爬虫·python·postgresql·deepseek
roman_日积跬步-终至千里7 小时前
【大数据架构-数据中台(2)】数据中台建设与架构:从战略到落地的完整方法论
大数据·架构