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,出现下面界面则代表启动成功


相关推荐
小二·15 分钟前
MyBatis基础入门《十五》分布式事务实战:Seata + MyBatis 实现跨服务数据一致性
分布式·wpf·mybatis
AI逐月2 小时前
Git 彻底清除历史记录
大数据·git·elasticsearch
天远API2 小时前
Java后端进阶:处理多数据源聚合API —— 以天远小微企业报告为例
大数据·api
feathered-feathered2 小时前
Redis基础知识+RDB+AOF(面试)
java·数据库·redis·分布式·后端·中间件·面试
lang201509282 小时前
深入解析Kafka Broker核心读写机制
分布式·kafka
希艾席帝恩3 小时前
数字孪生如何重塑现代制造体系?
大数据·人工智能·数字孪生·数据可视化·数字化转型
武汉海翎光电3 小时前
从数据采集到智能决策:船舶传感器的技术跃迁之路
大数据·人工智能
lang201509283 小时前
Kafka高水位与日志末端偏移量解析
分布式·kafka
千寻技术帮4 小时前
10393_基于SSM的杂志订阅网站管理系统
mysql·毕业设计·ssm·安装·文档·杂志订阅
Tadas-Gao4 小时前
GraphQL:下一代API架构的设计哲学与实践创新
java·分布式·后端·微服务·架构·graphql