Hadoop分布式配置小白篇(附加各阶段问题解决方式)

news2024/12/24 21:38:32

 看的黑马的课,记录一下配置步骤


目录

1.VMware安装:

方法1:

方法2:

2.创建虚拟机

1.ISO镜像文件获取(CentOS):

2.创建(简略步骤)

3.克隆虚拟机(克隆伪分布式需要的三个节点)

        创建node1

        修改物理配置

        网络配置

3.关闭防火墙、SELinux(三台机器都要执行)

4.主机名、ip修改,ssh免密登录

 1.修改主机名

  2.修改ip

ping 检查!

3.ssh免密

4.创建hadoop用户

5.jdk、hadoop环境部署

1.jdk环境配置

 2.Hadoop环境配置

1.上传、解压到/export/server,配置软链接

2.配置4份文件

3.设置环境变量

4.给hadoop授权

 5.启动集群、查看WEB UI

5.出现的问题

1.finalshell连接不上

2.finalshell连接很卡

        方法1

        方法2


1.VMware安装:

方法1:

        按照微信公众号软件管家配置,里面有详细步骤且无试用期(推荐)

方法2:

        官网:Windows 虚拟机 | Workstation Pro | VMware | CN

        记得选择合适的安装路径即可

2.创建虚拟机

1.ISO镜像文件获取(CentOS):

        链接:https://pan.baidu.com/s/1mykapkmv7fW3OdWJpNRODw?pwd=1234
        提取码:1234

2.创建(简略步骤)

        选择镜像存放地址

3.克隆虚拟机(克隆伪分布式需要的三个节点)

        创建node1

        右击上文创建的虚拟机,进行克隆

        同理创建node2、node3(改名字、选择创建自己的路径)

        修改物理配置

        按下图进行配置、node1有主节点、从节点、主节点辅助、所以需要的配置更高

        同理对node2、node3进行配置(2G)

        网络配置

        点击NAT设置

        进入windows该页面

      

  

打开三台虚拟机、点击否

3.关闭防火墙、SELinux(三台机器都要执行)

关闭防火墙:

        systemctl stop firewalld

        systemctl disable firewalld

  关闭SELinux:

        vim /etc/sysconfig/selinux

        将#SELINUX=enforcing改为

        SELINUX=disabled

重启虚拟机即可

4.主机名、ip修改,ssh免密登录

 1.修改主机名

#node1进行以下操作
su
hostnamectl set-hostname node1

#node2进行以下操作
su
hostnamectl set-hostname node2

#node3进行以下操作
su
hostnamectl set-hostname node3

  2.修改ip

#对三个节点都进行以下操作
vim /etc/sysconfig/network-scripts/ifcfg-ens33

IPADDR="192.168.88.201"  #node2为202,node3为203
GATEWAY="192.168.88.2"
NETMASK="255.255.255.8"
DNS1="192.168.88.2"

#重启网卡
service network restart

Vim /etc/hosts

#在最后添加

192.168.88.201  node1
192.168.88.202  node2
192.168.88.203  node3

ping 检查!

对网络进行,在node1中输入

ifconfig

看是否正确

在windows中看是否能ping通

在windows中输入

ipconfig

 在linux中看是否能ping通

3.ssh免密

        后续在多个服务器之间传文件更加方便

三个节点均进行以下操作:

#切换到root用户
su

ssh-keygen -t rsa -b  4096(一路回车)

ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3

         vi  ~/.ssh/known_hosts   可以看到

         实现免密登录

4.创建hadoop用户

        当前用户root,拥有root权限,后面进行操作时不安全

每个节点执行:
useradd hadoop
passwd hadoop

su hadoop

ssh-keygen -t rsa -b  4096(一路回车)

ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3

5.jdk、hadoop环境部署

        因为Hadoop是基于Java开发的,所以在安装Hadoop之前要先安装Java

1.jdk环境配置

        #三台机器创建文件夹

        mkdir -p /export/server

使用Finalshell或者Xshell将jdk传到三个主机的/export/server下

对三个主机进行以下操作
 

#转到root用户下
su

cd /export/server 

#解压

tar -zxvf jdk-8u351-linux-x64.tar.gz

#创建软连接(名字太长不好操作、相当于创建一个他的快捷方式)

ln -s /export/server/jdk1.8.0_351 /export/server/jdk

#编辑/etc/profile文件

vim /etc/profile

#加入
export JAVA_HOME=/export/server/jdk
export PATH=$PATH:$JAVA_HOME/bin

#查看java版本
java -version

改版本为系统自带的,删除系统自带的java程序

        rm -f /usr/bin/java

软链接自己安装的java程序

        ln -s /export/server/jdk/bin/java /usr/bin/java

        java -version

 2.Hadoop环境配置

        在node1节点下以root权限进行操作

1.上传、解压到/export/server,配置软链接

上传到/export/server

#解压

tar -zxvf hadoop-3.3.0.tar.gz

#创建软连接(名字太长不好操作、相当于创建一个他的快捷方式)

ln -s /export/server/hadoop-3.3.0 /export/server/hadoop

2.配置4份文件

cd  /export/server/hadoop//etc/hadoop

修改workers文件

vim workers

# 删除localhost,填入如下内容

node1
node2
node3
修改hadoop-env.sh文件

vim hadoop-env.sh

# 添加内容

export JAVA_HOME=/export/server/jdk
export HADOOP_HOME=/export/server/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HADOOP_LOG_DIR=$HADOOP_HOME/logs
修改core-site.xml文件

vim core-site.xml

# 在最后添加内容

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://node1:8020</value>
  </property>

  <property>
    <name>io.file.buffer.size</name>
    <value>131072</value>
  </property>
</configuration>
修改hdfs-site.xml文件

vim hdfs-site.xml

# 在最后添加内容

<configuration>
  <property>
    <name>dfs.datanode.data.dir.perm</name>
    <value>700</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/data/nn</value>           
  </property>
  <property>
    <name>dfs.namenode.hosts</name>
    <value>node1,node2,node3</value>
  </property>
  <property>
    <name>dfs.blocksize</name>
    <value>268435456</value>
  </property>
  <property>
    <name>dfs.namenode.handler.count</name>
    <value>100</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/data/dn</value>
  </property>
</configuration>

注意(node1及作为主节点NameNode又作为从节点DataNode,node2、node3为从节点):

 3.分发到node2、 node3,并设置环境变量

        此时node1节点中的Hadoop中的文件配置好了,如果同样的对node2、node3进行同样的操作过于麻烦,可以直接将node1中配置好的文件分发到node2、node3中

cd /export/server

scp -r hadoop-3.3.0 node2:`pwd`/

scp -r hadoop-3.3.0 node3:`pwd`/


# 在node2下建立软连接

ln -s /export/server/hadoop-3.3.4 /export/server/hadoop


# 在node2下建立软连接

ln -s /export/server/hadoop-3.3.4 /export/server/hadoop

        设置环境变量

        对三个节点分别进行以下操作

# 在/etc/profile文件底部追加如下内容

vim /etc/profile

export HADOOP_HOME=/export/server/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source /etc/profile
#查看hadoop版本
hadoop version

4.给hadoop授权

当前文件夹所有权为root、使用时hadoop用户无法进行操作

# 以root身份,在三台服务器上均执行
chown -R hadoop:hadoop /data
chown -R hadoop:hadoop /export

 5.启动集群、查看WEB UI

# 以hadoop用户执行
su - hadoop

# 格式化namenode
hadoop namenode -format

# 一键启动hdfs集群
start-dfs.sh


在浏览器输入:http://node1:9870

5.出现的问题

1.finalshell连接不上

检查步骤4中的ping检查!部分

2.finalshell连接很卡

        方法1

        linux中输入

        systemctl restart systemd-logind

        方法2

        ssh连接时

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

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

相关文章

Flutter在Android Studio上创建项目与构建模式

一、安装插件 1、前提条件&#xff0c;安装配置好Android Studio环境 2、安装Flutter和Dart插件 Linux或者Windows平台&#xff1a; 1&#xff09;、打开File > Settings。 2&#xff09;、在左侧列表中&#xff0c;选择"Plugins"右侧上方面板选中 "Market…

向华为学习:基于BLM模型的战略规划研讨会实操的详细说明,含研讨表单(二)

上一篇文章&#xff0c;华研荟结合自己的经验和实践&#xff0c;详细介绍了基于BLM模型的战略规划研讨会的设计和组织流程&#xff0c;提高效率的做法。有朋友和我私信沟通说&#xff0c;其实这个流程不单单适合于BLM模型的战略规划研讨会&#xff0c;实际上&#xff0c;使用其…

【C++11特性篇】C++11中新增的initializer_list——初始化的小利器(2)

前言 大家好吖&#xff0c;欢迎来到 YY 滴C11系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; 目录 一.探究std::initializer_list是什么…

【MyBatis-Plus】MyBatis进阶使用

目录 一、MyBatis-Plus简介 1.1 介绍 1.2 优点 1.3 结构 二、MyBatis-Plus基本使用 2.1 配置 2.2 代码生成 2.3 CRUD接口测试 三、MyBatis-Plus策略详解 3.1 主键生成策略 3.2 雪花ID生成器 3.3 字段自动填充策略 3.4 逻辑删除 四、MyBatis-Plus插件使用 4.1 乐…

【笔试强化】Day 4

文章目录 一、单选1.2.3.4.5.6.7. 二、不定项选择1.2.3. 三、编程1. 计算糖果题解&#xff1a;代码&#xff1a; 2. 进制转换题解&#xff1a;代码&#xff1a; 一、单选 1. 正确答案&#xff1a;D队列先进先出 A&#xff1a;栈有关 B&#xff1a;错 C&#xff1a;错 2. 正确…

Linux centos7安装redis 6.2.14 gz并且使用systemctl为开机自启动 / 彻底删除 redis

1.下载 && 减压 wget http://download.redis.io/releases/redis-6.2.14.tar.gz tar -zvxf redis-6.2.14.tar.gz 2.编译&#xff08;分开运行&#xff09; cd redis-6.2.14 make cd src make install 安装目录展示 3.redis.conf 配置更改 daemonize yes supervised s…

轻量封装WebGPU渲染系统示例<48>- 多种光源的多种组合(源码)

实现方式: 1. 全局的灯光和阴影。 2. 球体和矩形平面使用了相同的材质对象。 3. 通过材质自动关联和组装对应的渲染材质功能节点。 当前示例源码github地址: https://github.com/vilyLei/voxwebgpu/blob/feature/material/src/voxgpu/sample/MultiLightsShading2.ts 当前…

python 连接SQL server 请用pymssql连接,千万别用pyodbc

pymssql官方介绍文档 python 使用 pymssql连接 SQL server 代码示例&#xff1a; 安装pymssql包&#xff1a; pip install pymssql代码&#xff1a; import pymssqldef conn_sqlserver_demo():# 连接字符串示例&#xff08;根据您的配置进行修改&#xff09;conn Nonetry:co…

【C++】 C++11 新特性探索:decltype 和 auto

▒ 目录 ▒ &#x1f6eb; 问题描述环境 1️⃣ decltype推导变量类型推导函数返回类型 2️⃣ auto自动推导变量类型迭代器和范围循环 3️⃣ decltype 和 auto 同时使用&#x1f6ec; 结论&#x1f4d6; 参考资料 &#x1f6eb; 问题 描述 C11 引入了一些强大的新特性&#xff…

探索 HBase GUI 工具,助您轻松驾驭大数据世界!

你是否曾为 HBase 数据管理而苦恼&#xff1f;别担心&#xff0c;这一款超级好用的 HBase GUI &#xff08;HBase Assistant&#xff09;工具&#xff0c;让您在大数据世界中游刃有余。不再需要繁琐的命令行操作&#xff0c;也不再为复杂的配置感到头疼。 主要功能 直观和设计…

AttributeError: module ‘edge_tts‘ has no attribute ‘Communicate‘解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

插入排序:直接插入排序 希尔排序

插入排序&#xff1a; 假设红竖线前的元素全部排好序&#xff0c;红线后面的数即为要插入的数据&#xff0c;红线依次往后移&#xff0c;假设end为排好序的最后一个数字&#xff0c;end1即为要插入的数字&#xff0c;一次插入时&#xff0c;end与要插入的数字依次比较&#xf…

自定义时间选择器

自定义时间选择器 文章目录 自定义时间选择器第一章 效果演示第01节 效果图第02节 主要文件 第二章 案例代码第01节 核心文件 WheelPicker第02节 实体类 WheelBean第03节 接口类 IWheelPicker第04节 原子时间类 DateTimePickerView第05节 原子时间类 PickerYear第06节 原子时间…

比特币价格创新高:加密货币的崛起与未来

一、引言 近年来&#xff0c;比特币的价格一路上涨&#xff0c;引起了全球投资者和市场的广泛关注。作为最早一批区块链技术应用案例之一&#xff0c;比特币的成功带动了整个加密货币市场的兴起。本文将探讨比特币价格创新高的原因、加密货币的崛起以及未来发展趋势。 二、比特…

CV炼丹心得总结

1&#xff0c;ResNet的思想 yF(x)x 这个经验可帮助模型更快的收敛 class Block(nn.Module): # Encoder Blockdef __init__(self,dim, # 每个token的维度drop_rate0.1,switch_flagFalse,num_heads8):super(Block, self).__init__()self.switch_flag switch_flagself.…

驾龄不足三年如何注册网约车?刘师傅的反击之途!

刘师傅是个勤奋的司机。他想注册成为一名网约车司机&#xff0c;但由于驾龄不够三年&#xff0c;他一直被平台回绝。在多次尝试注册失败后&#xff0c;刘师傅慢慢四处求助。他咨询了多个渠道&#xff0c;但都没有得到有效的解决方案。当他在准备放弃的时候&#xff0c;他得知了…

从0创建并部署一个网页到服务器

创建一个页面 1 下载node.js 下载VScode 2 在Windows下找一个路径新建一个文件夹 例如&#xff1a;D:\study_project\PersonalWeb 3 VSCodee中打开文件夹 4 Windows下 管理员身份打开命令提示符&#xff0c;执行npm install -g vue/cli 5 VSCode下打开终端&#xff0c;执…

使用Audition录制电脑内部声音

在电脑上播放的媒体文件&#xff0c;包括视频和声音&#xff0c;很多是可以播放却无法保存的。例如一些网页播放的视频&#xff0c;或者在线播放的音乐。 视频的话&#xff0c;可以使用工具来截图&#xff0c;抓取GIF或录屏。 声音的话&#xff0c;也可以使用工具进行录制。这里…

【️Java是值传递还是引用传递?】

✅Java是值传递还是引用传递&#xff1f; ✅Java是值传递还是引用传递&#xff1f;✅典型理解 ✅增加知识仓✅Java的求值策略✅Java中的对象传递✅值传递和共享对象传递的现象冲突吗? ✅总结 ✅Java是值传递还是引用传递&#xff1f; ✅典型理解 编程语言中需要进行方法间的…

实战演示 H5 性能分析

W3C标准是浏览器标准&#xff0c;一般浏览器都支持W3C标准&#xff0c;它规定使用者可以通过api查询性能信息&#xff0c;可借用W3C协议完成自动化H5性能测试。 W3C官网&#xff1a;www.w3.org/TR/navigati… 使用chrome浏览器对webview进行手工查看&#xff0c;伴随着业务增多…