hadoop安装教程(一次填完所有的坑)

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: hadoop安装教程(一次填完所有的坑)

01 引言


最近安装hadoop-2.7.7 版本的时候遇到了很多坑,本文来详细讲解如何安装和解决遇到的问题。


02 hadoop 安装


2.1 下载与安装


Step1: 下载 安装包


Step2: 上传并解压

 cd /data
 tar -zxvf hadoop-2.7.7.tar.gz


2.2 hadoop配置


Step1: 修改hadoop安装目录/etc/hadoop下的hadoop-env.sh的文件内容

[root@server11 hadoop]# vi hadoop-env.sh
# 指定JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/TencentKona-8.0.1-242


Step2: 修改hadoop安装目录/etc/hadoop下的core-site.xml的文件内容

[root@server19 hadoop]# vi core-site.xml
<configuration>
    <!-- 指定HDFS老大(namenode)的通信地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://服务器的真实ip:9002</value>
    </property>
    <!-- 指定hadoop运行时产生文件的存储路径 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/data/hadoop/tmp</value>
    </property>
</configuration>


注:这里fs.defaultFS的value最好是写本机的静态IP。当然写本机主机名,再配置hosts是最好的,如果用localhost,然后在windows用java操作hdfs的时候,会连接不上主机。


Step3: 修改hadoop安装目录/etc/hadoop下的hdfs-site.xml的文件内容

<configuration>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>/data/hadoop/hadoop/hdfs/nn</value>
        </property>
        <property>
                <name>fs.checkpoint.dir</name>
                <value>/data/hadoop/hdfs/snn</value>
        </property>
        <property>
                <name>fs.checkpoint.edits.dir</name>
                <value>/data/hadoop/hdfs/snn</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>/data/hadoop/hdfs/dn</value>
        </property>
        <property>
            <name>dfs.name.dir</name>
            <value>/data/hadoop/name</value>
        </property>
        <property>
            <name>dfs.data.dir</name>
            <value>/data/hadoop/node</value>
        </property>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
        <property>
            <name>dfs.http.address</name>
            <value>服务器的真实ip:9000</value>
        </property>
        <property>
             <name>ipc.maximum.data.length</name>
             <value>134217728</value>
        </property>
</configuration>


*Step4: 修改hadoop安装目录/etc/hadoop下的yarn-site.xml的文件内容

<configuration>
<!-- Site specific YARN configuration properties -->
<property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
</property>
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<property>
    <name>yarn.application.classpath</name>
    <value>
        /data/hadoop-2.7.7/etc/*,
        /data/hadoop-2.7.7/etc/hadoop/*,
        /data/hadoop-2.7.7/lib/*,
        /data/hadoop-2.7.7/share/hadoop/common/*,
        /data/hadoop-2.7.7/share/hadoop/common/lib/*,
        /data/hadoop-2.7.7/share/hadoop/mapreduce/*,
        /data/hadoop-2.7.7/share/hadoop/mapreduce/lib/*,
        /data/hadoop-2.7.7/share/hadoop/hdfs/*,
        /data/hadoop-2.7.7/share/hadoop/hdfs/lib/*,
        /data/hadoop-2.7.7/share/hadoop/yarn/*,
        /data/hadoop-2.7.7/share/hadoop/yarn/lib/*
    </value>
</property>
</configuration>


2.3 免登陆配置


线上环境已配置,无需配置


2.4 配置环境变量

vi /etc/profile
### 配置内容如下:
export JAVA_HOME=/usr/lib/jvm/TencentKona-8.0.1-242
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/data/hadoop-2.7.7
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_CLASSPATH=`hadoop classpath`
export HADOOP_CONF_DIR=/data/hadoop-2.7.7/etc/hadoop
### 生效配置
source /etc/profile


注意:配置HADOOP_CLASSPATH!


2.5 配置域名


可能会配置到,根据提示错误配置就好了

vi /etc/hosts
127.0.0.1 localhost.localdomain localhost
127.0.0.1 localhost4.localdomain4 localhost4
127.0.0.1 VM-xx-centos gp-master
::1 VM-xx-centos VM-xxx-centos
::1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
服务器的真实ip VM-xxx-centos localhost.localdomain gp-master 


2.6 启动


进入hadoop安装目录/sbin,执行start-all.sh文件:

./start-all.sh


使用jps命令验证是否已经启动成功(这些都启动了才算成功:ResourceManager、DataNode、SecondaryNameNode、NodeManager、TaskManagerRunner、YarnTaskExecutorRunner、NameNode):

jps


c2d3a108277443b284a14ec821b40d18.png


浏览器打开:http://服务器地址:50070/,可以看到hadoop环境搭建好了:

404ea5df38884e6b968887b568091b1f.png


03 相关命令


3.1 yarn相关命令

## 正在运行的任务
yarn application -list
## kill掉yarn正在运行的任务
yarn application -kill application_1654588814418_0003
## 查找yarn已经完成的任务列表
yarn application -appStates finished -list
## 查找yarn所有任务列表
yarn application -appStates ALL -list
## 查看容器日志
curl http://127.0.0.1:8042/node/containerlogs/container_1654588814418_0003_01_000001/root/jobmanager.out/?start=0
## 查看yarn内存使用情况
curl http://127.0.0.1:8042/cluster


3.2 hdfs相关命令

# 因为在 HDFS 上没有为当前用户创建主目录,所以要先创建目录
$ hadoop fs -mkdir -p /user/root
# 目录只能一级级创建 ,不能一下子创建2个
$ hadoop fs -mkdir ./flink 
# 上传
$ hadoop fs -put /资源路径/相关资源 ./flink 
# 下载
$ hadoop fs -get ./flink 
# 查看
$ hadoop fs -ls ./flink 
# 删除整个文件夹
$ hadoop fs -rm -rf flink
# 此处为逐级删除
$ hadoop fs -rm  ./flink/资源
# 备注:上面的 `./bin/hadoop fs`等同于`./bin/hdfs dfs`


04 一次填完所有的坑


1. 程序访问hdfs失败,提示“Failed on local exception: com.google.protobuf.InvalidProtocolBufferException: Protocol message”


  • 解决方案:使用命令hdfs getconf -confKey fs.default.name获取正确的端口号并配置到程序


2. 首次安装hadoop,使用hdfs命令时,会提示“‘.’: No such file or directory”


  • 解决方案: 因为在 hdfs 上没有为当前用户创建主目录,所以要先创建目录$ hadoop fs -mkdir -p /user/root


3. 首次安装hadoop,使用hdfs命令时,可能会提示“‘There are 0 datanode(s) running and no node(s) are excluded in this operation.”


  • 解决方案:可能是格式化两次hadoop,导致没有datanode。首先stop-all.sh停掉所有的服务,然后找到hadoop指定的data目录(线上是:/data/hadoop)删除,接着从新执行一下 hadoop namenode -format,最后使用start-all.sh 重启一下hadoop


4. 使用hdfs命令,提示“Caused by: org.apache.hadoop.ipc.RemoteException: Cannot create directory”


  • 解决方案:是因为安全模式没有自动关闭,使用命令关闭“hdfs dfsadmin -safemode leave”,然后删除出错的block块,命令:“hdfs fsck / -delete”。


5. 启动hadoop时,可能会提示second node connection refuesd,即访问被拒绝


  • 解决方案: 修改hadoop安装目录/etc/hadoop下的hdfs-site.xml的文件内容
<property>
  <name>dfs.http.address</name>
  <value>11.41.140.96:9002</value>
</property>
<property>
  <name>dfs.secondary.http.address</name>
  <value>11.41.140.96:9002</value>
</property>


6.部署的时候可能会失败,提示 Failed on local exception: com.google.protobuf.InvalidProtocolBufferException: Protocol message,指的是端口号配置错了,查询端口号的命令:


  • 解决方案:修改查询端口号并修改
hdfs getconf -confKey fs.default.name


7.hadoop的日志在哪个目录:

  • 在:/data/hadoop-2.7.7/logs


05 Yarn相关配置


本文顺带讲下yarn相关的配置(在/etc/hadoop/yarn-site.xml配置),可以直接跳过。

微信截图_20221012103320.png


06 文末


本文主要讲解了如何安装hadoop、使用hadoop的命令及遇到的问题解决,希望能帮助到大家,谢谢大家的阅读,本文完!


相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
目录
相关文章
|
11月前
|
分布式计算 资源调度 安全
hadoop安装教程(一次填完所有的坑)
hadoop安装教程(一次填完所有的坑)
252 0
|
分布式计算 Ubuntu Hadoop
Hadoop安装教程——单机 / 伪分布式配置
Hadoop安装教程——单机 / 伪分布式配置
798 0
|
分布式计算 监控 大数据
实用贴:hadoop系统下载安装教程
本篇分享hadoop的安装步骤依然是也DKhadoop为例。DKhadoop的安装可以说真的是很简单。五月份的时候跟和大二、大三的几个学生聊hadoop的事情,他们吐槽点都集中在环境的搭建安装。一次性安装成功这种事情是不存在的,折腾到崩溃却是事实。
1504 0
|
分布式计算 监控 大数据
|
分布式计算 大数据 Hadoop
[大数据]Hadoop 2.7.3 和Hbase 1.2.4安装教程
一、机器环境 系统:MAC OS Hadoop:2.7.3 Hbase:1.2.4 JDK: 1.8.0_112 二、配置SSH免密码登录 第一步:打开terminal,进入根目录,运行命令: cd 第二步: 显示隐藏文件,这时还没有.
887 0
|
6天前
|
存储 分布式计算 资源调度
两万字长文向你解密大数据组件 Hadoop
两万字长文向你解密大数据组件 Hadoop
26 11
|
2月前
|
存储 分布式计算 Hadoop
|
2月前
|
图形学 数据可视化 开发者
超实用Unity Shader Graph教程:从零开始打造令人惊叹的游戏视觉特效,让你的作品瞬间高大上,附带示例代码与详细步骤解析!
【8月更文挑战第31天】Unity Shader Graph 是 Unity 引擎中的强大工具,通过可视化编程帮助开发者轻松创建复杂且炫酷的视觉效果。本文将指导你使用 Shader Graph 实现三种效果:彩虹色渐变着色器、动态光效和水波纹效果。首先确保安装最新版 Unity 并启用 Shader Graph。创建新材质和着色器图谱后,利用节点库中的预定义节点,在编辑区连接节点定义着色器行为。
101 0
|
2月前
|
分布式计算 资源调度 Hadoop
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!
|
2月前
|
存储 SQL 分布式计算
Hadoop生态系统概述:构建大数据处理与分析的基石
【8月更文挑战第25天】Hadoop生态系统为大数据处理和分析提供了强大的基础设施和工具集。通过不断扩展和优化其组件和功能,Hadoop将继续在大数据时代发挥重要作用。

相关实验场景

更多
下一篇
无影云桌面