Hadoop伪分布集群配置(我用的是VMwareWorkstation)

2024-01-11 07:59

本文主要是介绍Hadoop伪分布集群配置(我用的是VMwareWorkstation),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.虚拟机环境准备:

        1.0)首先准备好一台已经安装好了的虚拟机(我这里用的是Centos)

        2.0)安装 vim 编辑器 使用 yum -y install vim,也可以直接用vi

注意:安装好了vim,一定要执行yum -y update来更新数据源,之后重启reboot虚拟机。

        3.0)配置静态 IP 前,先关闭虚拟机,在编辑里找到虚拟网络编辑器并点击。

46eaf9b768d24e268ce5b67a66bfdf94.png

 ab268caa50d1415b953045cc49afd2c6.png

        需要记住这两个值,后面可以要用。

        4.0)开机进入终端查看ip,①可以通过ip addr查看,②用ifconfig,但前提你要先执行载 yum -y   install net-tools,否则会出现这个情况

006e302a65fa47248067154aec8de31e.png

      905b5d2d04a247399807aeb123d95970.png

        这里看到了ip,但是却是动态的,接下来我们开始配置它。

        在终端进入cd /etc/sysconfig/network-scripts/,用ls查看我们要配置的文件名字.(一般是第一个且后面带有很多数字)

ae9c24bd67a643af80a16f9b95217210.png

接着输入vim  ifcfg-eno16777736, 可以输入ifcfg-e用旁边的Tab键补齐。 

           d27ec4f8a2af4aa2bf2e19f1b7613ee2.png

         这个dhcp是动态ip,即每次进去都可能会不一样,我们把它改成static静态的。  接着添加下面代码: 

BOOTPROTO="static"

 #之前记住的ip,后面是128,设置为主机 IP在128至254之间即可

IPADDR=192.168.150.130 

#此处与 netmask=255.255.255.0 等效
PREFIX=24

#网关设置
GATEWAY=192.168.150.2   

#域名解析器 默认与网关相同
DNS1=192.168.150.2

如果ping不通外网(即www.baidu.com)

有些时候就需要改成DNS1=114.114.114.114

3a7542031c474520b779338936b2d946.png

编辑完后,先点击电脑的Esc键后使用Shift和:组合键,再输入wq!保存并退出编辑vim。然后输入source  ifcfg-eno16777736后并输入reboot达到重启虚拟机。

        5.0)这里为了方便后面上传文件和编辑用Xshell和Xftp进行。这里我把这两个文件和jdk,hadoop都放在这里,有需要的小伙伴可以下载。

链接:https://pan.baidu.com/s/1Zw72OdkNej6cdOVU6GRo2A?pwd=gabw 

提取码:gabw

用Xshell连接先在终端关闭防火墙,指令systemctl stop firewalld,然后在进入Xshell创建一个

会话。

73ee10fe10544d1e8c2b872cc2309ce6.png

主机就是你刚刚设置的ip,然后直接点击连接。 7ed9843cb8a944e7bab6eed73074d62d.png

双击新建的会话并选择接受并保存(这里箭头错了)

8faa35599d6d4c0e925ffad848463391.png

 aa615006bd034081aaa21a32f0667bca.png

 0a740402e5c84393ac134e5906583adf.png

这里用户名统一是root,密码则是你自己设置的开机进入登录密码,最好两个都选择记住,为了下次登录方便。

        6.0)安装好了Xshell和Xftp才可以点击这个绿色的图标

bcf9d106ef4944fbb32016a1340d80b0.png

 8ed2b8c1c55143f4a6951f7c8a10ff43.png

这个也应该是点击接受并保存,其实这两种都差不多。 

 aea8973c1c9d4ff38cf8c07237bf3cff.png

2 .开始安装jdk和hadoop:

        1.0)首先新建两个空目录来放置它们,这里我进入在/opt 目录下创建 software、module

4cf00944fe004b1584129bbcb96e4b42.png

        2.0)把软件把上传到 software 目录下 

6f16d2b27e8a417b88eb450b8941a286.png

0f9fa2e1fc7c4037974d1ce302ff62f6.png ee6b97ff2b89404cb366a771371eed3b.png

         3.0)检测是否安装jdk及其配置

        #解压 JDK并检验jdk,这里解压到/opt/module下

tar  -zxvf  jdk-8u301-linux-x64.tar.gz   -C  /opt/module/

08765d871d414f53aafe7d1835e506f4.png

 48e5613ff0bf4021a925f66449b356eb.png

#配置环境变量,使其生效并检查 。新建 my_path.sh 文件,因为后期我们的环境比较多,所以单独放在一个文件中

# vim  /etc/profile.d/my_path.sh

#JAVA_HOME    

export

JAVA_HOME=/opt/module/jdk1.8.0_301
export

PATH=$PATH:$JAVA_HOME/bin

1ebdfebe6c004bcfb22cbb13bfb24f28.png

 acdff5015d3b4c79b4d6a325325c61c6.png

编辑完后,先点击电脑的Esc键后使用Shift和:组合键,再输入wq!保存并退出编辑vim        

        #使配置生效,并检查

        使用source /etc/profile后输入java  -version来检验其版本

#使配置生效,并检查

source  /etc/profile

java   -version

7eb1d12d28bf46fab365f42dcb86a2d6.png

        4.0)安装hadoop并配置

        进入 Hadoop 安装包所在路径   cd /opt/software/       

         解压安装,并检查(建议小伙伴记一下解压命令,这是经常要用的)

tar  -zxvf  hadoop-3.1.3.tar.gz   -C  /opt/module/

0d8a20efc4b44506ad7c416b4bce737b.png

ce60e69fc7c14ff7ad894bef0dae7e70.png

 添加到环境变量,使配置生效并测试

#vim  /etc/profile.d/my_path.sh

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

946f56c511f94f55a87840ce2b5fe307.png

 #使配置生效,并测试是否安装成功

source  /etc/profile和hadoop  version来检验其版本

#使配置生效,并检查

source  /etc/profile

hadoop    version

5d66bbb976b24de1b1a6e6f3cd156645.png

3.0伪分布 运行模式配置:伪分布式只需要修改 2 个配置文件即可运 行,core-site.xml 和 hdfs-site.xml

        1.0)SSH 免密登录

 #yum -y install   openssh-server

#vim /etc/hosts

192.168.150.130      master   #前面是自己本机ip,后面是你的hostname

743234a6c9194ccfac6550d9013881c6.png

[root@master hadoop]#ssh master  #其中 master 是主机名 此时 localhost 与其等效 #第一次登录会询问是否继续连接,输入 yes 即可,然后输入密码

[root@master ~]#exit      #退出

33dca93afa894179ac01329c76d21f09.png

 然后在,用户家目录下会生成一个.ssh目录,进入.ssh目录下

[root@master ~]#cd /root/.ssh

#生成密钥对(公钥和私钥)

[root@master .ssh]#ssh-keygen -t rsa #按 3 下回车 

6f9f7013b6924f9c912bf08bdf1d702d.png

 #把公钥拷贝到需要免密登录的机器上

[root@master .ssh]#ssh-copy-id master           

2b19c2a800f24cada9e3a35e30012cb9.png

         2.0) 修改配置文件

[root@master .ssh]#cd  /opt/module/hadoop-3.1.3/etc/hadoop/

[root@master hadoop]#vim  core-site.xml

#修改 core-site.xml 为以下内容

147c6d37f4ae40e585167fdd54132793.png

1ddd831e76394a179363eab540cc3978.png

<!--指定 NameNode的地址 -->
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:8020</value>
</property>
<!--指定hadoop数据的存储目录-->
<property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-3.1.3/data</value>
</property>
<!--配置HDFS网页登录使用的静态用户为root-->
<property>
        <name>hadoop.http.staticuser.user</name>
        <value>root</value>
</property>

         [root@master hadoop]#vim  hdfs-site.xml

        #修改 hdfs-site.xml 为以下内容

b12907aa75bd4f3a9596de571100f9fd.png

5ba8d0dcdbc44310aeaa479e5329a02f.png

<!-- NameNode web 端访问地址 -->
<property>
        <name>dfs.namenode.http-address</name>
        <value>master:9870</value>
</property>
<!--文件数据副本数 -->
<property>
        <name>dfs.replication</name>
        <value>1</value>
</property>

         3.0)Hadoop 配置文件说明: Hadoop 的运行方式是由配置文件决定的,运行 hadoop 时会读取配置文件,因此如果需 要从伪分布式切换回单机模式,则需要删除配置文件中的配置项

首先把hadoop环境变量加入/etc/profile

1da2feb5a3ec48509c70e3a7aa135372.png

export     HADOOP_HOME=/opt/module/hadoop-3.1.3

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

source  /etc/profile

NameNode 格式化

[root@master hadoop]#hdfs namenode -format

5769d724957e46bf9de7dab57ffd79e8.png

vim /opt/module/hadoop-3.1.3/etc/hadoop/hadoop-env.sh 

#在 hadoop-env.sh 文件末尾加入以下内容  :

export HDFS_NAMENODE_USER=root

export HDFS_DATANODE_USER=root

export HDFS_SECONDARYNAMENODE_USER=root

使用Shif+G可以直接跳至最后一行第一个

e3f170d4ffb645a79f249a9745787617.png

启动 NameNode 和 DataNode

[root@master hadoop]#start-dfs.sh

2236e218e57e48ed87a4e68d40a9709b.png

        4.0)在浏览器地址栏输入http://192.168.150.130:9870/ 其中 192.168.150.130 为 主机 IP 地址,9870 为端口号

注意:在这一步之前必须关闭防火墙systemctl stop firewalld

812cfe29d55a43c7a598f06396c7b44e.png

f253c62cf04949b68586a4c3771d5d57.png

        5.0)配置 Yarn 有些人可能注意到了,怎么没有 ResourceManager 和 NodeManager 即 Yarn,Yarn 是 Hadoop2.X 才有的,从 1.X 的 MapReduce 中分离出来的,负责资源管理与任务调度, Yarn 运行于 MapReduce 之上,提供了高可用性、高扩展性。 因为 Yarn 主要是为集群提供更好的资源管理和资源调度,在单个机器上体现不出价 值,而且 Yarn 很吃内存,所以伪分布式是否开启 Yarn 看个人兴趣 操作如下:修改 yarn-site.xml

[root@master hadoop-3.1.3]#vim etc/hadoop/yarn-site.xml

#添加以下内容

<!-- Site specific YARN configuration properties -->
<!--指定 mapreduce 走 shuffle -->
<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
</property>
<!-- 指定 ResourceManager的地址 -->
<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>                                  #这里的hostname就是master
</property>

修改 mapred-site.xml

[root@master hadoop-3.1.3]#vim etc/hadoop/mapred-site.xml

<!-- 指定MapReduce程序运行在Yarn上 -->
<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
</property>

在这里还需要指定用户,要不然会出错

#vim  /opt/module/hadoop-3.1.3/etc/hadoop/yarn-env.sh ,在这里添加下面代码:

export YARN_RESOURCEMANAGER_USER=root

export YARN_NODEMANAGER_USER=root

 启动Yarn

[root@master hadoop-3.1.3]#start-yarn.sh

5c61fd09e3c04568a196a6127e4ca1fc.png

 检查进程

[root@master hadoop-3.1.3]#jps

423cf6a4d7c54c90bc2889406976e7fd.png

 不过可以在 ResourceManager 的 Web 端看到任务运行情况 http://192.168.150.130:8088/  主机 IP+8088 端口号

注意:这里我们之前是关闭了防护墙,如果没关闭是打不开的,当然我们这里是可以直接看到的

19fe8e2dcdcb4f95b684146c596069db.png

配置好 Yarn 后运行实例时,需要在 yarn-site.xml 加入以下内容:

<!-- 环境变量的继承 -->

<property>

<name>yarn.nodemanager.env-whitelist</name>

<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CO NF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOM E</value>

</property>

 不配置会报错找不到或无法加载主类,还可以用第二种方法解决。在命令行输入 hadoop classpath ,把输出的值添加到 yarn-site.xml 文件对应属 性 yarn.application.classpath 下面:

<property>

        <name>yarn.application.classpath</name>

<value>/opt/module/hadoop-3.1.3/etc/hadoop:/opt/module/hadoop-3.1.3/share/hadoop/c ommon/lib/*:/opt/module/hadoop-3.1.3/share/hadoop/common/*:/opt/module/hadoop-3 1.3/share/hadoop/hdfs:/opt/module/hadoop-3.1.3/share/hadoop/hdfs/lib/*:/opt/module/ hadoop-3.1.3/share/hadoop/hdfs/*:/opt/module/hadoop-3.1.3/share/hadoop/mapreduce/ lib/*:/opt/module/hadoop-3.1.3/share/hadoop/mapreduce/*:/opt/module/hadoop-3.1.3/s hare/hadoop/yarn:/opt/module/hadoop-3.1.3/share/hadoop/yarn/lib/*:/opt/module/hado op-3.1.3/share/hadoop/yarn/*</value>

</property>

 两种配置等效,第二种有点冗余,自由选择。 

修改配置后需要重启 Yarn

[root@master hadoop-3.1.3]#stop-yarn.sh

[root@master hadoop-3.1.3]#start-yarn

        6.0)配置历史服务器

               但是一旦重新启动 YARN 就无法看到之前运行过的程序的运行情况(输出结果依然 在),配置历史服务器就可以解决这一问题 ,操作如下 :

修改 mapred-site.xml

[root@master hadoop-3.1.3]#vim etc/hadoop/mapred-site.xml

<!-- 历史服务器端地址 -->
<property>
        <name>mapreduce.jobhistory.address</name>
        <value>master:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>master:19888</value>
</property>

 启动历史服务器:

[root@master hadoop-3.1.3]#mapred --daemon start historyserver

a4f33fa1ba134dbb9fb317a6949b0680.png

访问 http://192.168.150.130:19888/ 即主机 IP+19888 端 ,可以看到历史任务情况。

d5ec6c10a48d4adc83a1068bb98984bf.png

 至此 hadoop伪分布就完成了,当然这个只是个开端,真正的集群是不会只在一台虚拟机上的,应该是多台虚拟机共同完成,提高了效率和可修复性。

这篇关于Hadoop伪分布集群配置(我用的是VMwareWorkstation)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/593673

相关文章

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

HDFS—集群扩容及缩容

白名单:表示在白名单的主机IP地址可以,用来存储数据。 配置白名单步骤如下: 1)在NameNode节点的/opt/module/hadoop-3.1.4/etc/hadoop目录下分别创建whitelist 和blacklist文件 (1)创建白名单 [lytfly@hadoop102 hadoop]$ vim whitelist 在whitelist中添加如下主机名称,假如集群正常工作的节

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于