云服务器搭建Hadoop集群

article/2025/9/15 21:00:38

云服务器搭建Hadoop集群

  • 一、配置服务器
    • 1. 创建普通用户
    • 2. 安装 Java 环境
    • 3.安装hadoop
    • 4.网络配置
    • 5.hadoop配置
    • 6.执行分布式实例

一、配置服务器

1. 创建普通用户

  • 说明:由于 root 环境下操作比较危险,所以这里新建一个普通用户来进行 hadoop 的搭建。
    创建一个普通用户 hadoop
sudo useradd -m hadoop -s /bin/bash

设置密码并重复一次

sudo passwd hadoop

给 hadoop 用户增加 sudo 管理员权限

sudo adduser hadoop sudo

关闭终端,重新登录,将用户名更改为 hadoop ,并输入密码登录
切换到hadoop用户

su hadoop

2. 安装 Java 环境

进入 /usr/lib 文件夹下

cd /usr/lib

创建 jvm 文件夹

sudo mkdir jvm
  • Windows 上下载 jdk1.8 安装包下载链接——提取码:6fat
  • 解压缩到 jvm 文件夹中
sudo tar -zxvf jdk-8u291-linux-x64.tar.gz -C /usr/lib/jvm
  • 编辑环境变量文件
vim ~/.bashrc
  • 在文件头添加如下内容:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_291
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
  • 保存后退出,并让 bashrc 文件重新生效
source ~/.bashrc
  • 输入命令查看 Java 是否配置成功,显示如下即表示成功了
java -version

3.安装hadoop

  • Hadoop 下载地址
  • 解压缩文件到 /usr/local 中
sudo tar -zxf hadoop-3.3.1.tar.gz -C /usr/local
  • 进入到 /usr/local 文件夹下,更改 hadoop-3.3.1 的文件名为 hadoop
cd /usr/local
sudo mv ./hadoop-3.3.1/ ./hadoop
  • 修改文件权限,让用户 hadoop 可以使用 hadoop 文件夹
sudo chown -R hadoop ./hadoop
  • 进入到 hadoop 文件夹中,运行 hadoop,显示版本号即表示配置成功
    在这里插入图片描述

4.网络配置

  • 配置hostname
    为了更好的在Shell中区分三台主机,修改其显示的主机名,执行如下命令
    在3台机器上分别执行
sudo vim /etc/hostname

在master的/etc/hostname中添加如下配置:

master

slave1的/etc/hostname中添加如下配置:

slave1

同理slave2

slave2
  • 在三台机器的/etc/hosts文件中,添加如下配置
ip1 master
ip2 slave1
ip3 slave2

其中每台服务器自己的IP是内网IP,别人的是外网IP

  • 配置ssh免密登陆
    开始配置ssh之前,先确保三台机器都装了ssh。输入以下命令测试能否连接到本地,验证是否安装ssh。
ssh localhost

若不能,则安装open-server

sudo apt-get openssh-server

并生成ssh公钥。

ssh-keygen -t rsa -P ""

将公钥加入到已认证的key中

cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

在保证了三台主机电脑都能连接到本地localhost后,还需要让master主机免密码登录slave1和slave2主机。在master执行如下命令,将master的id_rsa.pub传送给两台slave主机。

scp ~/.ssh/id_rsa.pub hadoop@slave1:/home/hadoop/
scp ~/.ssh/id_rsa.pub hadoop@slave2:/home/hadoop/

接着在slave1、slave2主机上将master的公钥加入各自的节点上,在slave1和slave2执行如下命令:

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
rm ~/id_rsa.pub

在master主机上直接执行如下测试命令,即可让master主机免密码登录slave1、slave2主机。

ssh slave1
ssh slave2

5.hadoop配置

在配置集群/分布式模式时,需要修改“/usr/local/hadoop/etc/hadoop”目录下的配置文件,这里仅设置正常启动所必须的设置项,包括workers 、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml共5个

  • 修改文件workers
    本教程让Master节点仅作为名称节点使用,因此将workers文件中原来的localhost删除,只添加如下两行内容:
slave1
slave2
  • 配置文件配置
cd /etc
vim hadoop-env.sh
将JAVA_HOME修改为本机的JAVA_HOME
JAVA_HOME=/usr/lib/jvm/java-openjdk

修改core-site.xml

  <configuration><property><name>hadoop.tmp.dir</name><value>file:/usr/local/hadoop/tmp</value><description>Abase for other temporary directories.</description></property><property><name>fs.defaultFS</name><value>hdfs://master:9000</value></property></configuration>

修改hdfs-site.xml:

	<configuration><property><name>dfs.replication</name><value>3</value></property></configuration>

修改mapred-site.xml

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

修改yarn-site.xml

 <configuration><!-- Site specific YARN configuration properties --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.resourcemanager.hostname</name><value>master</value></property></configuration>

配置好后,将 master 上的 /usr/local/Hadoop 文件夹复制到各个节点上。速度较慢,也可直接在slave上重新配置

cd /usr/local/
tar -zcf ~/hadoop.master.tar.gz ./hadoop
cd ~
scp ./hadoop.master.tar.gz slave1:/home/hadoop
scp ./hadoop.master.tar.gz slave2:/home/hadoop

在slave1,slave2节点上执行:

sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local
sudo chown -R hadoop /usr/local/hadoop
  • 启动Hadoop集群
    在master主机上执行如下命令:
cd /usr/local/hadoop
bin/hdfs namenode -format
sbin/start-all.sh

运行后,在master,slave1,slave2运行jps命令,查看:

jps

首次启动Hadoop集群时,需要先在Master节点执行名称节点的格式化(只需要执行这一次,后面再启动Hadoop时,不要再次格式化名称节点),命令如下

hdfs namenode -format

6.执行分布式实例

首先创建HDFS上的用户目录,命令如下:

hdfs dfs -mkdir -p /user/hadoop

然后,在HDFS中创建一个input目录,并把“/usr/local/hadoop/etc/hadoop”目录中的配置文件作为输入文件复制到input目录中,命令如下:

hdfs dfs -mkdir input
hdfs dfs -put /usr/local/hadoop/etc/hadoop/*.xml input

接着就可以运行 MapReduce 作业了,命令如下:

 hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar grep input output 'dfs[a-z.]+'

3.0之后hadoop登录端口9870


http://chatgpt.dhexx.cn/article/30mkc7qL.shtml

相关文章

ZooKeeper集群搭建

目录 1 搭建要求 2 准备工作 3 配置集群 4 启动集群 5 模拟集群异常 1 搭建要求 真实的集群是需要部署在不同的服务器上的&#xff0c;但是在我们测试时同时启动很多个虚拟机内存会吃不消&#xff0c;所以我们通常会搭建伪集群&#xff0c;也就是把所有的服务都搭建在一台…

(七)centos7案例实战——nginx+keepalived高可用服务器集群搭建

前言 本节内容延续之前的内容&#xff0c;往期博客已经介绍了如何安装nginx服务器以及将nginx安装成为一个系统服务&#xff0c;本节内容是在前期内容的基础上&#xff0c;搭建一个高可用的nginx服务器集群&#xff0c;主要使用Keepalived组件&#xff0c;实现高可用的nginx集…

多台云服务器的 Kubernetes 集群搭建

环境 两台或多台腾讯云服务器&#xff08;本人搭建用了两台&#xff09;&#xff0c;都是 CentOs 7.6&#xff0c; master 节点&#xff1a;服务器为 4C8G&#xff0c;公网 IP&#xff1a;124.222.61.xxx node1节点&#xff1a;服务器为 4C4G&#xff0c;公网 IP&#xff1a…

基于slurm框架的GPU服务器集群搭建方法

基于slurm框架的GPU服务器集群搭建操作文档 1. 环境基础 2. 环境配置 2.1 hostname配置 2.2 关闭SELinux &#xff08;master, slave&#xff09; 2.3 关闭Firewall &#xff08;master, slave&#xff09; 2.4 配置ip与hostname映射关系 (master, slave1) 3. 创建munge和…

Tomcat服务器集群搭建

Tomcat服务器集群与负载均衡 一、前言 在单一的服务器上执行WEB应用程序有一些重大的问题&#xff0c;当网站成功建成并开始接受大量请求时&#xff0c;单一服务器终究无法满足需要处理的负荷量&#xff0c;所以就有点显得有 点力不从心了。另外一个常见的问题是会产生单点故障…

Hadoop分布式集群搭建完整版(持续更新中)

1.前期准备工作 各类软件以及工具包下载 2.网络环境配置 2.1 打开 VMware 找到编辑&#xff0c;点击虚拟网络配置 2.2 点击第二行&#xff0c;然后更改设置 2.3 点击第三行VMnet8&#xff0c;把本地DHC服务将IP地址分配给虚拟机取消&#xff0c;配置子网&#xff0c;子网掩码&a…

保姆级教学——集群环境搭建及创建集群

保姆级教学——集群环境搭建及创建集群 新建虚拟机 一些默认&#xff0c;加载镜像开启虚拟机&#xff0c;在安装位置选择自己目录&#xff0c;然后建立分区&#xff0c;首先添加 挂载点&#xff0c;类型标准分区&#xff0c;文件系统ext4 加载分区&#xff0c;期望给2G, 类…

集群搭建完整版

集群搭建完整版 1.集群搭建的准备工作 1.克隆虚拟机 &#xff08;要三台&#xff0c;创建一台 JDK、Hadoop 都安装完成的虚拟机&#xff0c;看 1.1 和 1.2&#xff09; 2. 修改克隆虚拟机的静态 IP vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICEeth0 TYPEEthernet ON…

搭建服務器集群【3大注意事項】

简述 服务器集群是现时很多企业选用的建站科案选用技术, 为企业提供更稳定可靠的运作, 服务器出现超载或宕机也不会导致整个业务无法运作, 是企业服务器热备的不二之选, 我们为你一一说明一下 什么是服务器集群&#xff1f; 服务器集群指多台服务器集合及共同管理一个业务, …

通过vnc自动连接linux,通过VNC连接Linux远程桌面

因为特殊的需求关系&#xff0c;琢磨了一下如何在本地连接远程Linux主机的桌面环境。翻了不少网上的相关文章&#xff0c;大部分都只讲了步骤没有说为什么这么做&#xff0c;我就简单再复述一遍吧&#xff0c;加深一下印象。 环境如下&#xff1a; 本地&#xff1a;OS X 10.8.2…

Linux和Windows间的远程桌面访问

在Windows上面&#xff0c;我们都用过系统自带的远程桌面连接或者TeamViewer这样的工具&#xff0c;可以方便的让我们用图形化方式远程操作其他计算机。但是在Linux上&#xff0c;我们一般都是使用SSH来操作终端。那么在Linux上有没有一些工具可以让我们像Windows那样用图形化的…

Linux远程桌面初体验——todesk、向日葵终极对决

文章目录 前言一、使用环境及软件介绍二、使用步骤总结 前言 大家都知道&#xff0c;Linux桌面的功能很少被人使用&#xff0c;但目前包括但不限于红帽系的发行版本慢慢开始重视桌面环境&#xff0c;尤其是国产操作系统。今天我就来大家看一下国产操作系统下远程桌面的使用体验…

linux远程桌面连接

rdesktop这个软件 sudo apt-get install rdesktoprdesktop -g 1366*768 -P -z -x l -r sound:off -u username 192.168.123.5参数意义-g后面代表要使用的分辨率-P启用位图缓存-z启用RDP数据流压缩-x l使用局域网级别的图像质量-r sound:off关闭声音-u windowuser指定要使用的用…

Linux 远程桌面实现

硬件环境&#xff1a;树莓派3B 操作系统&#xff1a; Raspberry Jessie 安装xrdp服务&#xff08;属于tightVNC服务的一部分&#xff09; sudo apt-get install xrdp 安装完成后&#xff0c;输入如下命令&#xff1a; sudo /etc/init.d/xrdp start sudo update-rc.d xrdp de…

Linux配置VNC远程桌面

环境&#xff1a;CentOS7 VNC需要系统安装的有桌面&#xff0c;如果是生产环境服务器&#xff0c;安装时使用的最小化安装&#xff0c;那么进行下面操作按章GNOME 桌面。 # 列出的组列表里有GNOME Desktop。 yum grouplist #安装之 yum groupinstall -y "GNOME Desktop&…

如何远程linux服务器桌面,LINUX操作系统如何远程登录桌面

相比window来说linux远程桌面登陆需要第三方软件来实现&#xff0c;之前用ssh登陆的都是字符界面;昨天试了试远程桌面也是可以的&#xff0c;方法很多&#xff0c;这儿只阐述比较好用的一种;使用时&#xff0c;关闭windows防火墙&#xff0c;或者开启相应的防火墙端口;这里使用…

linux远程桌面rdesktop,Linux下通过rdesktop连接Windows远程桌面

rdesktop是linux下支持Windows远程桌面连接的客户端程序,在linux系统下可通过它远程访问Windows桌面,支持多种版本。rdesktop是sourceforge下支持GPL协议的一个开源项目,采用RDP(Remote Desktop Protocol,远程桌面协议),几乎可以连接windows的所有版本,诸如NT 4 Terminal …

red hat linux 远程,Red Hat Linux 远程桌面 – 如何设置

远程访问 RHEL 计算机。运行 RHEL 7.3-8.1 的 Linux 计算机的远程桌面。从任何计算机、平板电脑或移动设备进行访问。立即免费试用&#xff01; 如果您是在家中或在旅途中工作&#xff0c;则可能需要一段时间才能在办公室或在家中访问台式计算机。如果该桌面恰巧在 Linux 操作系…

linux系统开远程桌面,Linux 系统开启远程桌面的方法

Linux操作系统开启远程桌面的方法 一、组网需求: 我司iMC不仅支持Windows系统环境下的安装部署,还支持Linux系统环境下的安装部署,在定位网上问题或者远程安装部署时,远程桌面是一种快捷的方法,Windows操作系统下开启远程桌面的方法众所周知,下面介绍开启Linux操作系统远…

vnc连接linux远程桌面

文章目录 1, centos6安装vnc服务端vnc常用命令设置vnc随机登录密码设置ssh 密钥文件登录&#xff1a;禁止密码登录 2, ubuntu安装vnc服务端3, windows 安装vncviewer客户端 1, centos6安装vnc服务端 # 1, install vncserver yum -y install epel-release yum -y install vnc-s…