任务描述:

作为某公司运维工程师,需在单机安装 hadoop 环境(Hadoop伪分布式安装)。本环节需要使用 root用户完成相关配置,具体部署要求如下:

1. 关闭虚拟机防火墙
2. 修改“/etc/hosts”文件,配置IP与主机名映射关系
3. 配置SSH免密登录
4. 解压JDK安装包到“/opt/”路径,并配置环境变量
5. 解压Hadoop安装包到“/opt/”路径,并配置环境变量
6. 修改Hadoop配置文件,并初始化Hadoop
7. 启动Hadoop,并用相关命令查看Hadoop进程启动情况。


答案:

步骤一:关闭防火墙

查看当前CentOS 7的防火墙状态:
显示为running时表示防火墙正在运行,可以通过下面的指令来关闭防火墙,便于之后程序
使用:
然后再次查看防火墙的状态:

步骤二:配置hosts文件

在配置Hadoop等软件的时候,我们需要频繁的指定当前虚拟机的IP地址到配置文件中,为
了方便,可以将虚拟机IP地址映射为自定义的名称(类似于网络中的DNS域名),在之后的
使用中,只需要使用自定义映射名称就可以代表虚拟机的IP地址了。
配置文件的路径为: /etc/hosts
在本次实验中,将当前的虚拟机IP地址映射为 hadoop,之后使用 hadoop 来替代虚拟机IP
地址。
查看当前虚拟机的IP地址:

ifconfig

[root@hadoop ~]# ifconfig (查看主机ip 及相关信息)

查看防火墙状态

[root@hadoop ~]# firewall-cmd --state
running

关闭防火墙

[root@hadoop ~]# systemctl stop firewalld.service

禁止防火墙开机自启动

[root@hadoop ~]# systemctl disable firewalld.service
Removed symlink /etc/systemd/system/multiuser.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbusorg.fedoraproject.FirewallD1.service.
[root@hadoop ~]# firewall-cmd --state
not running

步骤三:配置免密登录

Hadoop以分布式方式(包括伪分布式和完全分布式)运行时,一般我们习惯使用 startdfs.sh 或 start-yarn 来启动HDFS和YARN,这些命令的实现:实在当前主机上启动对应
的进程,然后通过 ssh 远程登录的方式登录到其他主机上启动其他进程,在使用 ssh 登录
时,需要指定用户名和密码。如果不配置,会导致在运行程序的时候,频繁的跳出输出密码

打开 /etc/hosts 文件

vim /etc/hosts
的界面,甚至报错。所以需要进行配置免密登录,使得通过 ssh 远程登录时不需要指定密
码。
免密登录实现原理:假设有两台电脑A和电脑B,如果想让电脑A通过 ssh 免密登录到电脑B
上,此时需要 电脑A 先生成 公钥和私钥文件,然后将 私钥文件保存在自己电脑中,将公钥
文件拷贝到电脑B的指定文件中,下次电脑A就可以免密登录到电脑B上了。
生成公钥和私钥文件:
进入到 /root/.ssh/ 目录中,查看生成的公钥和私钥文件:
其中 id_rsa 为私钥文件,id_rsa.pub 为公钥文件。通过下面的指令实现 ssh 免密登录配
置(将公钥文件拷贝到指定的目录中):
ssh-keygen -t rsa
[root@hadoop ~]# cd /root/.ssh/
[root@hadoop .ssh]# ls
id_rsa id_rsa.pub
ssh-copy-id hadoop
第一次访问时,会出现询问信息,直接输入 yes 即可。公钥拷贝时,需要输入 目标主机
hadoop 的登录密码。
测试免密登录是否配置成功:
步骤四:解压JDK、配置环境变量
上传JDK安装包(Linux安装版)到Linux的 /opt 目录中。
使用下面的指令,解压JDK安装包:
[root@hadoop .ssh]# ssh hadoop
Last login: Mon Jun 6 07:23:46 2022 from 192.168.137.99
[root@hadoop ~]# exit
登出
Connection to hadoop closed.
[root@hadoop .ssh]#

进入 /opt 目录

[root@hadoop ~]# cd /opt/
[root@hadoop opt]# ls
jdk-8u11-linux-x64.tar.gz

解压jdk安装文件到 /opt

[root@hadoop opt]# tar -zxf jdk-8u11-linux-x64.tar.gz -C /opt/

解压完成之后,在 /opt/ 目录下有一个 jdk1.8.0_11的目录

[root@hadoop opt]# ls
jdk1.8.0_11
环境变量文件是 /etc/profile文件和/etc/profile.d目录下以.sh结尾的文件。所以,在
/etc/profile.d 目录下创建 mv_env.sh 文件,并添加如下所示的内容
保存退出。然后执行 source /etc/profile 指令,是的配置理解生效。
检查JDK环境变量配置是否生效:
至此环境变量配置成功。
步骤五:解压Hadoop、配置环境变量
上传Hadoop安装包(Hadoop-2.7.3.tar.gz)到Linux的 /opt 目录下。
使用下面的指令解压Hadoop安装包:**/etc/profile.d 目录下创建并打开 `mv_env.sh` 文件**
[root@hadoop ~]# vim /etc/profile.d/mv_env.sh

配置jdk环境变量

export JAVA_HOME=/opt/jdk1.8.0_11

拼接系统 PATH 路径

export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
[root@hadoop ~]# java -version
java version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)
[root@hadoop ~]# tar -zxvf /opt/hadoop-2.7.3.tar.gz -C /opt/

解压完成之后,在/opt 目录下可以看到 hadoop-2.7.3 目录

[root@hadoop ~]# ls /opt
hadoop-2.7.3 jdk1.8.0_11

配置Hadoop环境变量

在 /etc/profile.d 目录中的 mv_env.sh 文件中将文件内容修改为如下所示的内容:
保存退出。然后执行 source /etc/profile 指令,是的配置理解生效。
检查hadoop环境变量配置是否生效:
步骤六:修改Hadoop配置文件,并初始化
Hadoop的配置文件存储在{HADOOP_HOME}/etc/hadoop/目录中,实际目录为
/opt/hadoop-2.7.3/etc/hadoop/
首先进入配置文件目录路径:
1. 配置 hadoop-env.sh
export JAVA_HOME=/opt/jdk1.8.0_11
export HADOOP_HOME=/opt/hadoop-2.7.3
export
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$PATH:$HOME/b
in
source /etc/profile
[root@hadoop ~]# hadoop version
Hadoop 2.7.3
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r
baa91f7c6bc9cb92be5982de4719c1c8af91ccff
Compiled by root on 2016-08-18T01:41Z
Compiled with protoc 2.5.0
From source with checksum 2e4ce5f957ea4db193bce3734ff29ff4
This command was run using /opt/hadoop2.7.3/share/hadoop/common/hadoop-common-2.7.3.jar
[root@hadoop ~]# cd /opt/hadoop-2.7.3/etc/hadoop/
[root@hadoop hadoop]#
保存退出。
2. 配置core-site.xml
保存退出。
3. 配置hdfs-site.xml
#打开hadoop-env.sh文件:
[root@hadoop hadoop]# vim hadoop-env.sh
#在文件的第25行处,编辑文件内容:
export JAVA_HOME=/opt/jdk1.8.0_11 #第25行处

打开core-site.xml文件:

[root@hadoop hadoop]# vim core-site.xml
<!-- 将<Configuration>标签中的内容修改如下所示:-->
<configuration>
<!-- 指定Hadoop使用的文件系统为HDFS,并指定NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop:9000</value>
</property>
<!-- 指定Hadoop运行时产生的文件存储路径 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-2.7.3/tmp/</value>
</property>
</configuration>

打开hdfs-site.xml文件:

[root@hadoop hadoop]# vim hdfs-site.xml
<!-- 将<Configuration>标签中的内容修改如下所示:-->
<configuration>
<!-- 指定文件副本数量 -->
<property>

esc+:wq保存退出。

4. 配置mapred-site.xml

mapred-site.xml文件在配置目录中没有,只有mapred-site.xml.template文件,所以需要拷
贝一份:
保存退出。
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- 关闭权限检查 -->
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
</configuration>
[root@hadoop hadoop]# cp mapred-site.xml.template mapred-site.xml

打开mapred-site.xml文件:

[root@hadoop hadoop]# vim mapred-site.xml
<!-- 将<Configuration>标签中的内容修改如下所示:-->
<configuration>
<!-- 指定MapReduce程序使用yarn组件协调 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
5. 配置yarn-site.xml
保存退出。
6. 初始化HDFS
刚安装好Hadoop之后(或者安装完HDFS),想要使用,在第一次启动Hadoop之前必须要
进行格式化操作,用于生成HDFS文件系统的系统文件。
首先检查在格式化过程中,有没有报错信息。如果没有报错信息,然后检查如下三个地方:

打开yarn-site.xml文件:

[root@hadoop hadoop]# vim yarn-site.xml
<!-- 将<Configuration>标签中的内容修改如下所示:-->
<configuration>
<!-- 指定ResourceManager的主机名 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop</value>
</property>
<!-- 指定map和reduce阶段数据传输使用shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

格式化NameNode:

[root@hadoop ~]# hdfs namenode -format
步骤七:启动Hadoop,查询进程
1. 启动、暂停Hadoop
启动、暂停Hadoop中的所有进程(相当于单独启动HDFS+YARN):
第一次启动Hadoop时,会出现询问信息,直接输入yes即可。
启动、暂停HDFS文件系统:
启动、暂停YARN进程:
2. 查询Hadoop进程
使用 jps 指令可以查询Hadoop进程的启动情况。(只有在安装JDK之后,才可以使用该指
令)

启动测试

启动
[root@hadoop ~]# start-all.sh
暂停
[root@hadoop ~]# stop-all.sh
启动
[root@hadoop ~]# start-dfs.sh
暂停
[root@hadoop ~]# stop-dfs.sh
启动
[root@hadoop ~]# start-yarn.sh
暂停
[root@hadoop ~]# stop-yarn.sh

其中Jps表示Java的进程,只要在系统中安装了JDK,该进程就会显示;NameNode、
DataNode、SecondaryNameNode是HDFS的进程;ResourceManager、NodeManager是
YARN的进程。
出现以上6个进程,表示Hadoop安装、配置成功,如下:

[root@hadoop ~] # jps
Jps
NameNode
DataNode
SecondaryNameNode
ResourceManager
NodeManager

单机安装 hadoop 环境(Hadoop伪分布式安装)相关推荐

  1. hbase 伪分布安装 java_HBase基础和伪分布式安装配置

    一.HBase(NoSQL)的数据模型 1.1 表(table),是存储管理数据的. 1.2 行键(row key),类似于MySQL中的主键,行键是HBase表天然自带的,创建表时不需要指定 1.3 ...

  2. Hadoop单机伪分布式安装(完整版)

    在学习Hadoop时,我发现网上的各种安装的资料要不不全,要不前后不匹配(比如有的是伪分布式,有的是完全分布式).此篇文章,我总结了身边的同学在安装Hadoop时遇到的毛病,在前面安装配置环节,尽可能 ...

  3. hadoop ubantu环境搭建_Ubuntu16.04 下 hadoop的安装与配置(伪分布式环境)

    一.准备 1.1创建hadoop用户 $ sudo useradd -m hadoop -s /bin/bash #创建hadoop用户,并使用/bin/bash作为shell $ sudo pass ...

  4. hadoop伪分布式安装

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq1010885678/article/details/43447733 首先需要有一台linux的 ...

  5. hadoop的安装与配置(伪分布式模式安装)

    最近偶然在研究hadoop看完网络上的配置文章居然在linux下安装成功的hadoop就把别人的文章进行说明一下,提供给需要的读者. hadoop 的安装分为本地模式.伪分布模式.集群模式.本地模式是 ...

  6. centos 7下Hadoop 2.7.2 伪分布式安装

    centos 7 下Hadoop 2.7.2 伪分布式安装,安装jdk,免密匙登录,配置mapreduce,配置YARN.详细步骤如下: 1.0 安装JDK 1.1 查看是否安装了openjdk [l ...

  7. hadoop hbase java_Hadoop、Hbase伪分布式安装

    环境 本文介绍Hadoop.Hbase的伪分布式安装. 操作系统: Centos7 Hadoop: 2.7.3 Hbase: 1.2.3 Hadoop安装 JAVA_HOME环境变量配置 由于Hbas ...

  8. Hadoop集群之HDFS伪分布式安装 HA(二)

    1.首先看看HA的对象是谁? 主要解决的是NameNode的HA 2.Datanode不需要HA吗? DataNode的HA是NameNode的checksize机制(主动复制)来解决的 3.Name ...

  9. Linux伪分布式安装Hadoop

    Linux伪分布式安装Hadoop 1. 更新软件列表 hadoop@jeff:~$ sudo apt update 2. 安装vim编辑器 hadoop@jeff:/home/jeff$ sudo ...

最新文章

  1. 使用openpyxl处理表格数据
  2. Redhat 7 yum源换成centos的YUM 源
  3. 题目1483:求最大最小数
  4. Apache Spark学习:利用Scala语言开发Spark应用程序
  5. mysql启动集群报连接本地失败_启动本地安装的pxc集群失败,前面的步骤都检查没错了...
  6. bat文件先杀掉端口号,然后启动jar包
  7. 解决git@github.com: Permission denied (publickey). Could not read from remote repository
  8. java|jsp类成品展示_jsp学生诚信素质评价系统
  9. 基于springboot网上书城系统
  10. python pyhook_python使用pyHook.HookManager()返回来的event中,event.Time肿么转换成为datetime形式?...
  11. Android实现百度离线地图+gps定位
  12. 数据结构PTA 进阶实验5-3.2 新浪微博热门话题(分离链接法 )
  13. English Study
  14. 随机梯度下降算法 入门介绍(最通俗易懂)
  15. 联想服务器安装系统蓝屏怎么办,联想电脑装系统出现蓝屏怎么办
  16. OpenCV边缘检测(一)——Roberts边缘检测
  17. Magicka 局域网 联机
  18. 遇上爱发牢骚的同事怎么办?
  19. CSS精灵图及字体图标
  20. HTB Arctic[ATTCK模型]writeup系列7

热门文章

  1. 安卓虚拟键盘_这是第一台安卓手机,当年谷歌和 HTC 靠它正面刚苹果
  2. 统计学方法机器学习实战(二) K近邻算法
  3. java math tan_Java Math tan() 使用方法及示例
  4. “21天好习惯“ 第十六期 — 16之黑马面面移动端布局(二)
  5. D55_BMS_IntefaceBoard_RevA接口板电路设计图
  6. 使用树莓派PICO点灯
  7. 【BZOJ3205_洛谷3638】[APIO2013]机器人(动态规划)
  8. Java最常用的两种随机数生成方法
  9. 微信开发简单入门01
  10. 【028】仿猫眼、淘票票的电影后台管理和售票系统系统(含后台管理)(含源码、数据库、运行教程)