Centos7 安装Hadoop3 单机版本(伪分布式版本)

news2024/11/15 14:22:50

环境版本

  • CentOS-7

  • JDK-8

  • Hadoop-3

CentOS-7 服务器设置

  1. 设置静态IP

查看IP配置在/etc/sysconfig/network-scripts/目录下的ifcfg-ens33文件中。

[root@Hadoop3-master sbin]# cd /etc/sysconfig/network-scripts
[root@Hadoop3-master network-scripts]# ll
总用量 232
-rw-r--r--. 1 root root   364 2月  12 2023 ifcfg-ens33
-rw-r--r--. 1 root root   254 5月  22 2020 ifcfg-lo
lrwxrwxrwx. 1 root root    24 2月  12 00:49 ifdown -> ../../../usr/sbin/ifdown
-rwxr-xr-x. 1 root root   654 5月  22 2020 ifdown-bnep
-rwxr-xr-x. 1 root root  6532 5月  22 2020 ifdown-eth
-rwxr-xr-x. 1 root root   781 5月  22 2020 ifdown-ippp
-rwxr-xr-x. 1 root root  4540 5月  22 2020 ifdown-ipv6

编辑 ifcfg-ens33 文件,配置静态IP

[root@Hadoop3-master network-scripts]# vi ifcfg-ens33

打开后,按 i 进入可编辑状态,将下面标红的进行修改或新增操作,

修改完成后,按ctrl+c退出可编辑状态,然后输入:wq保存退出,:q!不保存退出

重置网络

service network restart

查看当前IP地址

[root@Hadoop3-master network-scripts]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:14:9a:83 brd ff:ff:ff:ff:ff:ff
    inet 192.168.43.11/24 brd 192.168.43.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::822:732d:a0e4:134a/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

修改 IP 地址后可能会遇到的问题

(1)物理机能 ping 通虚拟机,但是虚拟机 ping 不通物理机,一般都是因为物理机的防火墙问题,把防火墙关闭就行

(2)虚拟机能 Ping 通物理机,但是虚拟机 Ping 不通外网,一般都是因为 DNS 的设置有问题

(3)虚拟机 Ping www.baidu.com 显示域名未知等信息,一般查看 GATEWAY 和 DNS 设置是否正确

解决网络不通

编辑VMware设置网络,编辑→虚拟网络编辑器

重新启动虚拟机,检查虚拟机与物理主机是否能够ping通。

  1. 修改主机名

查看主机名

[root@Hadoop3-master network-scripts]# hostname
localhost

修改主机名

[root@Hadoop3-master network-scripts]# hostnamectl set-hostname Hadoop3-master
[root@Hadoop3-master network-scripts]# hostname
Hadoop3-master
  1. 关闭防火墙

[root@Hadoop3-master network-scripts]# systemctl start firewalld.service  #开启防火墙
[root@Hadoop3-master network-scripts]# systemctl restart firewalld.service #重启防火墙
[root@Hadoop3-master network-scripts]# systemctl stop firewalld.service #关闭防火墙
[root@Hadoop3-master network-scripts]# systemctl status firewalld.service # 防火墙状态

为了防止防火墙干挠,可以使用如下指令关闭防火墙

[root@Hadoop3-master network-scripts]# systemctl stop firewalld.service #关闭防火墙
[root@Hadoop3-master network-scripts]# systemctl disable firewalld.service # 开机禁用防火墙
  1. 禁用selinux

如果要永久关闭selinux 安全策略,可以修改/etc/selinux/config, 将SELINUX=enforcing 修改为SELINUX=disabled.

[root@Hadoop3-master network-scripts]# vi /etc/selinux/config
[root@Hadoop3-master network-scripts]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
  1. 设置SSH免密登入

Hadoop 各组件之间使用SSH登录,为了免密输入,可以设计SSH免密登录。详细步骤如下:

[root@Hadoop3-master network-scripts]# cd /root/.ssh  #进入秘钥存放目录
[root@Hadoop3-master network-scripts]# rm -rf *  #删除旧秘钥

使用ssh-keygen -t dsa 命令生成秘钥,在这个过程中需要多次回车键选取默认配置。

[root@Hadoop3-master network-scripts]# ssh-keygen -t dsa

将生成的秘钥文件id_dsa.pub 复制到SSH指定的秘钥文件中authorized_keys中。

[root@Hadoop3-master network-scripts]# cat id_dsa.pub >>authorized_keys

测试秘钥是否登入成功

[root@Hadoop3-master network-scripts]# ssh Hadoop3-master
  1. 重启

修改主机名等相关配置,必须重启主机

[root@Hadoop3-master network-scripts]# reboot

JDK 安装

将jdk-8u333-linux-x64.tar.gz,上传到CentOS-7的/usr/local 目录下

  • 解压

使用cd 命令切换至/usr/local 目录,然后使用tar -xvf jdk-8u333-linux-x64.tar.gz 解压。

[root@Hadoop3-master network-scripts]# cd /usr/local
[root@Hadoop3-master network-scripts]# tar -xvf jdk-8u333-linux-x64.tar.gz

使用mv 命令重命名解压后的文件夹jdk1.8.0_152 为jdk

[root@Hadoop3-master local]# mv jdk1.8.0_152/ jdk
  • 配置环境变量

将JDK的安装目录/usr/local/jdk 配置到/etc/profile的PATH环境变量中。


[root@Hadoop3-master network-scripts]# cat /etc/profile
# /etc/profile
export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$JAVA_HOME/bin
  • 使环境变量生效

/etc/profile 文件修改后需要重新用source命令执行一次才能使设置生效。

[root@Hadoop3-master network-scripts]# source /etc/profile
  • 测试

使用java -version 测试JDK版本。

[root@Hadoop3-master network-scripts]# java -version
java version "1.8.0_333"
Java(TM) SE Runtime Environment (build 1.8.0_333-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.333-b02, mixed mode)
[root@Hadoop3-master network-scripts]#

Hadoop3 安装

将hadoop-3.2.4.tar.gz,上传到CentOS-7的/usr/local 目录下.

  • 解压

使用cd 命令切换至/usr/local 目录,然后使用tar -xvf hadoop-3.2.4.tar.gz 解压文件。

[root@Hadoop3-master local]# cd /usr/local
[root@Hadoop3-master local]# tar -xvf hadoop-3.2.4.tar.gz 

使用mv 命令重命名解压后的文件夹hadoop3.2.4 为hadoop

[root@Hadoop3-master local]# mv hadoop3.2.4 hadoop 
  • 配置环境变量

将Hadoop 的安装目录/usr/local/hadoop 配置到/etc/profile 的PATH环境变量中。同时将Hadoop 各进程用户设置为root,并配置到/etc/profile

[root@Hadoop3-master network-scripts]# cat /etc/profile
# /etc/profile
export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export HDFS_NAMENODE=root
export HDFS_DATANODE=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
  • 使环境变量生效

/etc/profile 文件修改后需要重新用source命令执行一次才能使设置生效。

[root@Hadoop3-master network-scripts]# source /etc/profile
  • 配置hadoop-env.sh

切换至Hadoop配置文件所在目录/usr/local/hadoop/etc/hadoop,修改其中的hadoop-env.sh文件。指定JDK安装目录


# Many of the options here are built from the perspective that users
# may want to provide OVERWRITING values on the command line.
# For example:
#
JAVA_HOME=/usr/local/jdk   #JDK安装目录
  • 配置core-site.xml

切换至Hadoop配置文件所在目录/usr/local/hadoop/etc/hadoop,修改其中的core-site.xml文件。

配置HDFS的访问URL和端口

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://Hadoop3-master:9000</value>
                <description>NameNode URI</description>
        </property>
</configuration>
  • 配置hdfs-site.xml

切换至Hadoop配置文件所在目录/usr/local/hadoop/etc/hadoop,修改其中的hdfs-site.xml文件。

配置NameNode和DataNode的元数据存储,以及NameNode和DataNode的访问URL和端口。

<configuration>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:///usr/local/hadoop/data/datanode</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:///usr/local/hadoop/data/namenode</value>
        </property>
        <property>
                <name>dfs.namenode.name.http-address</name>
                <value>Hadoop3-master:50070</value>
        </property>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>Hadoop3-master:50090</value>
        </property>
</configuration>
  • 配置yarn-site.xml

切换至Hadoop配置文件所在目录/usr/local/hadoop/etc/hadoop,修改其中的yarn-site.xml文件。

配置nodemanager和resourcemanager访问URL和端口。

<configuration>

<!-- Site specific YARN configuration properties -->
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
                <value>org.apache.hadoop.mapred.shuffleHandler</value>
        </property>
        <property>
                <name>yarn.resourcemanager.resource-tracker.address</name>
                <value>Hadoop3-master:8025</value>
        </property>
        <property>
                <name>yarn.resourcemanager.scheduler.address</name>
                <value>Hadoop3-master:8030</value>
        </property>
        <property>
                <name>yarn.resourcemanager.address</name>
                <value>Hadoop3-master:8050</value>
        </property>

Hadoop3 验证

  • 格式化

Hadoop 使用之前必须进行格式化,可以使用如下指令进行格式化:

[root@Hadoop3-master network-scripts]# hadoop namenode -format

如果在使用Hadoop的过程中出错,或者Hadoop 无法正常启动,可能需要重新格式化。

重新格式化的流程步骤:

  1. 停止Hadoop

  1. 删除Hadoop 下的data和logs文件夹

  1. 重新格式化

[root@Hadoop3-master network-scripts]# stop-all.sh
[root@Hadoop3-master network-scripts]# cd /usr/local/hadoop
[root@Hadoop3-master hadoop]# rm -rf data/ logs/
[root@Hadoop3-master hadoop]# hadoop namenode -format
  • 启动Hadoop

使用start-all.sh命令启动Hadoop的所有进程。

[root@Hadoop3-master hadoop]# start-all.sh

使用stop-all.sh命令停止Hadoop的所有进程。

[root@Hadoop3-master hadoop]# stop-all.sh
  • 查看Hadoop 相关进程

使用jps 查看Hadoop的相关进程。

[root@Hadoop3-master hadoop]# jps
68706 Jps
33415 DataNode
29803 ResourceManager
29486 SecondaryNameNode
33262 NameNode
  • 浏览文件

使用Hadoop 命令查看HDFS上得文件

[root@Hadoop3-master hadoop]# hadoop fs -ls /
  • 浏览器访问

打开浏览器,输入http://192.168.43.11:5007或者http://Hadoop3-master:50070,即可查看Hadoop 运行相关信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/340226.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

云计算培训靠谱吗?

怎么算靠谱的培训呢&#xff1f; 举个例子&#xff1a; 我想参加云计算培训找个工作&#xff0c;机构满足了我的要求&#xff0c;有工作了&#xff0c;但是不是做云计算相关的。 小强也参加了云计算培训&#xff0c;想学好云计算成为技术大牛&#xff0c;最后专业学得普普通…

java环境配置

java环境配置步骤下载jdk安装jdk配置环境变量通过控制台命令验证配置是否成功大功告成安装教程&#xff1a; https://blog.csdn.net/m0_37220730/article/details/103585266 下载jdk 若不理解JDK/JRE/JVM的关系&#xff0c;可以点此查看初识Java&#xff08;概念、版本迭代、…

DIN解读

传统的Embedding&MLP架构将用户特征编码进一个固定长度的向量。当推出一个商品时&#xff0c;该架构无法捕捉用户丰富的历史行为中的多样性兴趣与该商品的关联。阿里妈妈团队提出了DIN网络进行改进&#xff0c;主要有如下两点创新&#xff1a; 引入注意力机制来捕捉历史行为…

【Linux下代码调试工具】gdb 的基本使用

gdb的基本使用前言准备gdb工具调试须知gdb的基本指令进入调试退出调试显示代码及函数内容运行程序给程序打断点查看断点位置断点使能取消断点逐过程调试逐语句调试运行到下一个断点查看变量的值变量值常显示取消变量值常显示前言 在主页前面的几篇文章已经介绍了Vim编辑器及Ma…

C语言(内联函数(C99)和_Noreturn)

1.内联函数 通常&#xff0c;函数调用都有一定的开销&#xff0c;因为函数的调用过程包含建立调用&#xff0c;传递参数&#xff0c;跳转到函数代码并返回。而使用宏是代码内联&#xff0c;可以避开这样的开销。 内联函数&#xff1a;使用内联diamagnetic代替函数调用。把函数…

【MySQL】 事务

&#x1f60a;&#x1f60a;作者简介&#x1f60a;&#x1f60a; &#xff1a; 大家好&#xff0c;我是南瓜籽&#xff0c;一个在校大二学生&#xff0c;我将会持续分享Java相关知识。 &#x1f389;&#x1f389;个人主页&#x1f389;&#x1f389; &#xff1a; 南瓜籽的主页…

opencv窗口的创建/显示/销毁

大家好&#xff0c;我是csdn的博主&#xff1a;lqj_本人 这是我的个人博客主页&#xff1a; lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…

Docker-harbor私有仓库

一、Harbor概述 1、Harbor的概念 • Harbor是VMware公司开源的企业级Docker Registry项目&#xff0c;其目标是帮助用户迅速搭建一个企业级的Docker Registry服务 • Harbor以 Docker 公司开源的Registry 为基础&#xff0c;提供了图形管理UI、基于角色的访问控制(Role Base…

力扣SQL刷题9

目录1107. 每日新用户统计-勉强579. 查询员工的累计薪水 - 各种绕易错点&#xff1a;range与rows区别615. 平均工资&#xff1a;部门与公司比较with建临时表注意点1107. 每日新用户统计-勉强 题型&#xff1a;每个日期中首次登录人数 解答&#xff1a;从原表中用按用户分组后m…

嵌入式开发----示波器入门

示波器入门前言一、示波器介绍关键指标工作原理二、功能按钮介绍三、一键入门四、 典型应用场景校准捕捉测试总线通讯总结前言 对于嵌入式工程师来说&#xff0c;示波器的使用极为重要&#xff0c;他就像是“电子工程师的眼睛”&#xff0c;把被测信号的实际波形显示在屏幕上&…

Java特性之设计模式【桥接模式】

一、桥接模式 概述 桥接&#xff08;Bridge&#xff09;是用于把抽象化与实现化解耦&#xff0c;使得二者可以独立变化。这种类型的设计模式属于结构型模式&#xff0c;它通过提供抽象化和实现化之间的桥接结构&#xff0c;来实现二者的解耦 这种模式涉及到一个作为桥接的接口…

67. 二进制求和

文章目录题目描述竖式模拟转换为十进制计算题目描述 给你两个二进制字符串 a 和 b &#xff0c;以二进制字符串的形式返回它们的和。 示例 1&#xff1a; 输入:a “11”, b “1” 输出&#xff1a;“100” 示例 2&#xff1a; 输入&#xff1a;a “1010”, b “1011” …

“白学”了十几年?这两年才感悟出的高效学习方法

作者&#xff1a;元青 微信公众号 「技乐书香」 引言 虽然从小学开始算起&#xff0c;一直到我现在硕士快毕业&#xff0c;已经学习了接近十九年了&#xff0c;但是只有最近两年算得上真正的在"学习"&#xff0c;之前的十七年都没有明白也没有认可学习的意义&#…

网络安全实验室7.综合关

7.综合关 1.渗透测试第一期 url&#xff1a;http://lab1.xseclab.com/base14_2d7aae2ae829d1d5f45c59e8046bbc54/ 进入忘记密码页面&#xff0c;右键查看源码&#xff0c;发现一个手机号 解题思路&#xff1a;通过给admin用户绑定13388758688手机号码&#xff0c;然后再进行…

【软件测试】企业测试面试题9道,从自我介绍到项目考察+回答......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 1、自我介绍 您好&a…

leaflet 上传WKT文件,在地图上显示图形(示例代码055)

第055个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中加载WKT文件,将图形显示在地图上。WKT(Well-known text)是一种文本标记语言,可以表示的几何对象包括:点,线,多边形,TIN(不规则三角网)及多面体。可以通过几何集合的方式来表示不同维度的几何对象。 …

centos学习记录

遇到的问题及其解决办法 centos7安装图形化界面 yum groupinstall ‘X Window System’ yum groupinstall -y ‘GNOME Desktop’ 安装完成后输入init 5进入图形化界面 centos7安装vmware-tools 第一步卸载open-vm-tools 输入命令 yum remove open-vm-tools 输入命令 reboot 在…

你必须知道的 clientWidth, offsetWidth, scrollWidth.

前言&#xff1a; 在公司移动端项目中&#xff0c;我需要十分频繁的和 DOM 元素的各种 width、height 打交道。但是这里有这么多关于 width 的属性&#xff0c;它们之间的区别到底体现在哪里&#xff1f;这是我刚刚接触移动端项目十分头疼的一个问题。经过几天的查阅&#xff0…

Django的基础使用

安装Django pip3 install django2.2.5检查是否安装Djangopip3 freeze|grep -i Django创建工程django-admin startproject 名称如&#xff1a;django-admin startproject bookmanager进入bookmanager目录运行django运行python&#xff1a;python manage.py runserver查看django进…

C++基础(5) - 复合类型(上)

文章目录数组1、什么是数组2、数组的声明3、数组的初始化4、数组的访问5、二维数组6、memset —— 给数组中每一个元素赋同样的值字符串&#xff08;字符数组&#xff09;1、string.h 头文件1.1 strlen()1.2 strcmp()1.3 strcpy()1.4 strcat()string 类简介1、C11 字符串初始化…