Hadoop 伪分布式搭建(超详细)

Hadoop伪分布式搭建

虚拟机准备阶段操作

本文是基于CentOS 7 系统搭建
相关资源下载
链接:https://pan.baidu.com/s/1FW228OfyURxEgnXW0qqpmA 密码:18uc

安全设置

防火墙相关指令

# 查看防火墙状态
firewall-cmd --state

# 停止防火墙
[root@localhost ~]# systemctl stop firewalld.service

# 禁止防火墙开机自启
[root@localhost ~]# systemctl disable firewalld.service 

关闭关闭selinux

[root@localhost ~]# vi /etc/selinux/config

SELINUX=enforcing改为 SELINUX=disabled

IP设置

查看机器IP

[root@localhost ~]# ifconfig
ip 为192.168.78.100

修改主机名

[root@localhost ~]# vi /etc/hostname 

在这里插入图片描述

修改IP及主机名映射

[root@localhost ~]# vi /etc/hosts
192.168.78.100	CentOS

SSH免密登陆

[root@localhost ~]# ssh-keygen -t rsa # 生产密钥
# 连续三次回车


# 将密钥发送给需要登陆本机的机器,这里只有一台机器 所以发给自己
[root@localhost ~]# ssh-copy-id root@CentOS

# 测试ssh
[root@localhost ~]# ssh root@CentOS

Hadoop伪分布式搭建

  • 创建 install文件夹

    [root@localhost ~]# mkdir /opt/install/

JDK配置

这里选用JDK8

解压

[root@localhost ~]# tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/install/

配置环境变量

[root@localhost jdk1.8.0_144]# vi /etc/profile
# 加入配置 加入位置如下图所示
export JAVA_HOME=/opt/install/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin

# 保存后刷新环境变量
[root@localhost jdk1.8.0_144]# source /etc/profile

在这里插入图片描述

# 刷新完 执行命令验证JDK是否安装成功
[root@localhost jdk1.8.0_144]# java -version

成功界面
在这里插入图片描述

Hadoop配置

解压文件

[root@localhost ~]# tar -zxvf hadoop-2.9.2.tar.gz -C /opt/install/

修改配置文件

[root@localhost ~]# cd /opt/install/hadoop-2.9.2/etc/hadoop
  • hadoop-env.sh

    export JAVA_HOME=/opt/install/jdk1.8.0_144

在这里插入图片描述

  • core-site.xml

       <!--  用于设置namenode并且作为Java程序的访问入口  -->
       <property>
            <name>fs.defaultFS</name>
            <value>hdfs://CentOS:8020</value>
       </property>
       <!--  存储NameNode持久化的数据,DataNode块数据  -->
       <!--  手工创建$HADOOP_HOME/data/tmp  -->
       <property>
             <name>hadoop.tmp.dir</name>
             <value>/opt/install/hadoop-2.9.2/data/tmp</value>
       </property>
    

在这里插入图片描述

  • hdfs-site.xml

        <property>		
            <name>dfs.replication</name>
            <value>3</value>
        </property>
    
         <property>
             <name>dfs.permissions.enabled</name>
             <value>false</value>
          </property>
          <property>
              <name>dfs.namenode.http.address</name>
              <value>CentOS:50070</value>
           </property>
    

在这里插入图片描述

  • mapred-site.xml
    首先拷贝一个mapred-site.xml

    [root@localhost hadoop]# cp mapred-site.xml.template mapred-site.xml

       <property>	 	        		
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
       </property>
    

在这里插入图片描述

  • yarn-site.xml

    yarn.nodemanager.aux-services mapreduce_shuffle

在这里插入图片描述

  • slaves
    这里配置DataNode的主机名 伪分布式情况下这里NameNode也充当DataNode

    CentOS

在这里插入图片描述

配置Hadoop环境变量

[root@localhost hadoop-2.9.2]# vim /etc/profile
# 加入
export HADOOP_HOME=/opt/install/hadoop-2.9.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

在这里插入图片描述

# 刷新环境变量
[root@localhost hadoop-2.9.2]# source /etc/profile

验证环境变量是否配置成功

[root@localhost hadoop-2.9.2]# hadoop version

在这里插入图片描述

格式化NameNode

目的作用:格式化hdfs系统,并且生成存储数据块的目录

[root@localhost hadoop-2.9.2]# hadoop namenode -format 

格式化成功后如图显示
在这里插入图片描述

Hadoop起停命令

   start-all.sh
   stop-all.sh

启动成后 jps查看进程
在这里插入图片描述

查看WebUI界面

http://CentOS:50070 访问 hdfs
http://CentOS:8088 访问 yarn
在这里插入图片描述
在这里插入图片描述

Hadoop 3.0以上看这里

在Hadoop3.0后会有一些身份的配置,如果照上面配置 启动后会抛出以下异常:

Starting namenodes on [namenode]
ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.
Starting datanodes
ERROR: Attempting to operate on hdfs datanode as root
ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation.
Starting secondary namenodes [datanode1]
ERROR: Attempting to operate on hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.
Starting resourcemanager
ERROR: Attempting to operate on yarn resourcemanager as root
ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting operation.
Starting nodemanagers
ERROR: Attempting to operate on yarn nodemanager as root
ERROR: but there is no YARN_NODEMANAGER_USER defined. Aborting operation.

此时需要去hadoop的sbin目录下做一下小改动

在start-dfs.sh 和 stop-dfs.sh 中 新增!!!

HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root 

在start-yarn.sh 和 stop-yarn.sh 中 新增!!!

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

修改完保存重启可解决

  • 8
    点赞
  • 121
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值