Hadoop单机伪分布安装

本文详细介绍了如何在单机上设置Hadoop的伪分布式安装,包括关闭防火墙、配置主机名和hosts文件、配置SSH免密码登录、安装配置JDK,以及Hadoop环境变量设置、核心、HDFS、MapReduce和YARN相关配置文件的修改,最后进行namenode的格式化和Hadoop服务的启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hadoop

下载地址http://hadoop.apache.org/releases.html

单击伪分布安装

3.3.2 伪分布式安装
单机的伪分布式模式
搭建步骤:

  1. 准备虚拟机,最低的工作内存1G,通过xshell来管理
  2. 关闭防火墙
  3. 配置主机名
  4. 配置hosts文件
  5. 配置免密码登录
  6. 安装和配置jdk
  7. 上传和安装hadoop
  8. 配置hadoop配置文件

具体搭建步骤:
0.关闭防火墙
执行:
service iptables stop
这个指令关闭完防火墙后,如果重启,防火墙会重新建立,所以,如果想重启后防火墙还关闭,
需额外执行:
chkconfig iptables off

  1. 配置主机名
    执行:vim /etc/sysconfig/network
    编辑主机名
    注意:主机名里不能有下划线,或者特殊字符 #$,不然会找不到主机导致无法启动
    这种方式更改主机名需要重启才能永久生效,因为主机名属于内核参数。
    如果不想重启,可以执行:hostname hadoop01。但是这种更改是临时的,重启后会恢复原主机名。
    所以可以结合使用。先修改配置文件,然后执行:hostname hadoop01 。可以达到不重启或重启都是主机名都是同一个的目的

  2. 配置hosts文件
    执行:vim /etc/hosts

  3. 配置免密码登录
    在hadoop01节点执行:
    执行:ssh-keygen
    然后一直回车
    生成节点的公钥和私钥,生成的文件会自动放在/root/.ssh目录下
    然后把公钥发往远程机器,比如hadoop01向hadoop02发送
    执行: ssh-copy-id -i ~/.ssh/id_rsa.pub root@hadoop02
    在hadoop02节点执行上述上述步骤,让hadoop02节点连接hadoop01免密码登录

  4. 配置自己节点登录的免密码登录

    如果是单机的伪分布式环境,节点需要登录自己节点,即hadoop01要登录 hadoop01,但是此时是需要输入密码的,所以要在hadoop01节点上
    执行:ssh-copy-id –i ~/.ssh/id_rsa.pub root@hadoop01

  5. 安装和配置jdk

    1. tar –zxvf jdk-8u65-linux-x64.tar.gz

    执行: vim /etc/profile
    2) 在尾行添加

     export JAVA_HOME=/usr/soft/jdk1.8.0_65
     export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
     export PATH=$JAVA_HOME/bin:$PATH
    

    保存退出
    3) source /etc/profile 使更改的配置立即生效
    4) java -version 查看JDK版本信息。如显示1.8.0_65证明成功。

  6. 上传和解压hadoop安装包
    执行:tar -zxvf hadoop……
    目录说明:
    bin目录:命令脚本
    !!!etc/hadoop:存放hadoop的配置文件
    lib目录:hadoop运行的依赖jar包
    sbin目录:启动和关闭hadoop等命令都在这里
    libexec目录:存放的也是hadoop命令,但一般不常用
    最常用的就是sbin,bin和etc目录

  7. 配置hadoop-env.sh

    这个文件里写的是hadoop的环境变量,主要修改hadoop的JAVA_HOME路径
    切换到 /usr/soft/hadoop-2.7.1/etc/hadoop目录
    执行:vim hadoop-env.sh
    修改java_home路径和hadoop_conf_dir 路径

    然后执行:source hadoop-env.sh 让配置立即生效
    如果export JAVA_HOME=${JAVA_HOME}不改,将来出现:
    localhost: Error: JAVA_HOME is not set and could not be found.

  8. 修改core-site.xml
    在etc/hadoop目录下
    执行:vim core-site.xml
    配置如下:

    fs.defaultFS hdfs://hadoop01:9000 hadoop.tmp.dir /usr/soft/hadoop-2.7.1/tmp
  9. 修改 hdfs-site.xml
    配置如下:

    dfs.replication 1 dfs.permissions false
  10. 修改 mapred-site.xml
    这个文件初始时是没有的,有的是模板文件,mapred-site.xml.template
    所以需要拷贝一份,并重命名为mapred-site.xml
    执行:cp mapred-site.xml.template mapred-site.xml
    配置如下:

    mapreduce.framework.name yarn yarn是资源协调工具
  11. 修改yarn-site.xml
    配置如下:

    yarn.resourcemanager.hostname hadoop01 yarn.nodemanager.aux-services mapreduce_shuffle
  12. 配置slaves文件
    集群里所有DataNode的主机名。
    [root@hadoop1 hadoop]# vim slaves

  13. 配置hadoop的环境变量
    配置代码:/etc/profile
    export JAVA_HOME=/usr/soft/jdk1.8.0_65
    export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
    export HADOOP_HOME=/usr/soft/hadoop-2.7.1
    export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:HADOOP_HOME/bin: H A D O O P H O M E / s b i n : HADOOP_HOME/sbin: HADOOPHOME/sbin:PATH

  14. 格式化namenode
    为什么要格式化
    执行:hadoop namenode -format
    如果不好使,可以重启linx
    或者将/usr/soft/hadoop-2.7.1/tmp的tmp目录删掉,重新格式化namenode
    当出现:successfully,证明格式化成功

    注意,不能在生产环境中这么做。在生产环境里,做法是一般是:第一执行完格式化之后,在配置文件,配置禁止格式化。
    启动hadoop
    在sbin目录下 执行 ./start-all.sh,即可启动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值