安装Hadoop集群(超详细!)

article/2025/10/18 10:01:08

提示:安装前请准备好三台装有jdk的虚拟机 我这里名为hd01、hd02、hd03

hd01最好有hadoop和zookeeper的压缩包

文章目录

  • 前言
  • 一、准备环境
  • 二、安装Hadoop
  • 总结


前言

前面我写了一篇单机版的Hadoop安装,这里终于要装集群版,装集群版的步骤比较繁琐,需要同学们多加练习,因为我们不可能只装一次,经常出了问题就要重装,所以必须要练熟练。

一、准备环境

先准备好三台虚拟机 都设置了各自的固态ip和hostname 并且下载了相应的工具包(wget、vim等)有需要一键安装脚本的可以先点个关注然后联系作者 然后就可以正式开始我们搭集群了!

先把hadoop解压,然后把它移动到opt下的soft文件夹下 并重命名为hadoop260

1. mv hadoop-2.6.0-cdh5.14.2 soft/hadoop260

2.用xshell设置为一起输入(这样就可以同步输入三台虚拟机的命令并执行)

具体在xshell上方 工具->发送输入到->所有会话 

3.很重要的一步!需要将每一个的hosts设置成这样!!!    vim /etc/hosts

4.然后三个一起设置无密登录:   ssh-keygen -t rsa -P ''           <-- 这是两个单引号(不是双引号)

出现如下三个这样子的矩形即可 

5.然后每台都执行

ssh-copy-id root@hd01

然后都执行ssh-copy-id root@hd02

然后都执行ssh-copy-id root@hd03

途中我报错了 因为比如我的hd02一直找不到我的hd01?!就很奇怪,试了n多办法也没用

就把etc/hosts中的内容调了个顺序 就可以互相通过主机名ping通了 真的amazing吧...希望读者没有

可以互相ssh hd01    ssh hd02这样试试  exit退出

6.每一个都执行:  yum -y install chrony   下载这个让集群时间同步

7.修改配置   vi /etc/chrony.conf

把上面的注释掉 并用这个代替:

server ntp1.aliyun.com

server ntp2.aliyun.com

server ntp3.aliyun.com

然后 systemctl start chronyd

8.安装各种工具包

yum install -y wget

yum install -y psmisc  

二、安装Hadoop

1.(下面是操作hd01)

解压zookeeper并移动到文件夹

tar -zxvf zookeeper-3.4.5-cdh5.14.2.tar.gz

mv zookeeper-3.4.5-cdh5.14.2 soft/zk345

2.进入到目录 复制zoo_sampe.cfg重命名为一个zoo.cfg  

3.编辑zoo.cfg:(看到没,我下面就是都写hd01了 找错找了半天!!!引以为戒)

把dataDir改一下:

dataDir=/opt/soft/zk345/data

然后复制这个到最后一段:

server.1=hd01:2888:3888

server.2=hd02:2888:3888

server.3=hd03:2888:3888

4.然后回到zk345目录下

mkdir data

cd data/

echo "1"> myid

5.回到soft目录下:复制发送给另外两台 然后修改对应的id

scp -r /opt/soft/zk345 root@hd02:/opt/soft/

scp -r /opt/soft/zk345 root@hd03:/opt/soft/

然后两台机器都各自:vim /opt/soft/zk345/data/myid     改成2和3

6.三台机器都进入/etc/profile 在最后加环境变量

export ZOOKEEPER_HOME=/opt/soft/zk345
export PATH=$PATH:$ZOOKEEPER_HOME/bin

7.(然后只操作hd01)解压hadoop 然后改名移动到文件夹

tar -zxf hadoop-2.6.0-cdh5.14.2.tar.gz

mv hadoop-2.6.0-cdh5.14.2 soft/hadoop260

8.创建文件夹:

mkdir -p /opt/soft/hadoop260/tmp

mkdir -p /opt/soft/hadoop260/dfs/journalnode_data

mkdir -p /opt/soft/hadoop260/dfs/edits

mkdir -p /opt/soft/hadoop260/dfs/datanode_data

mkdir -p /opt/soft/hadoop260/dfs/namenode_data

9.进入hadoop260配置env.sh:

vim etc/hadoop/hadoop-env.sh

 10.还是etc的hadoop目录下 配置core-site.xml

<configuration><property><name>fs.defaultFS</name><value>hdfs://hacluster</value></property><property><name>hadoop.tmp.dir</name><value>file:///opt/soft/hadoop260/tmp</value></property><property><name>io.file.buffer.size</name><value>4096</value></property><property><name>ha.zookeeper.quorum</name><value>hd01:2181,hd02:2181,hd03:2181</value></property><property><name>hadoop.proxyuser.root.hosts</name><value>*</value></property><property><name>hadoop.proxyuser.root.groups</name><value>*</value></property>
</configuration>

11.配置hdfs-site.xml

<configuration><property><name>dfs.block.size</name><value>134217728</value></property><property><name>dfs.replication</name><value>3</value></property><property><name>dfs.name.dir</name><value>file:///opt/soft/hadoop260/dfs/namenode_data</value></property><property><name>dfs.data.dir</name><value>file:///opt/soft/hadoop260/dfs/datanode_data</value></property><property><name>dfs.webhdfs.enabled</name><value>true</value></property><property><name>dfs.datanode.max.transfer.threads</name><value>4096</value></property><property><name>dfs.nameservices</name><value>hacluster</value></property><property><name>dfs.ha.namenodes.hacluster</name><value>nn1,nn2</value></property><property> <name>dfs.namenode.rpc-address.hacluster.nn1</name><value>hd01:9000</value></property><property><name>dfs.namenode.servicepc-address.hacluster.nn1</name><value>hd01:53310</value></property><property><name>dfs.namenode.http-address.hacluster.nn1</name><value>hd01:50070</value></property><!--nn2的rpc、servicepc和http通讯地址 --><property> <name>dfs.namenode.rpc-address.hacluster.nn2</name><value>hd02:9000</value></property><property><name>dfs.namenode.servicepc-address.hacluster.nn2</name><value>hd02:53310</value></property><property><name>dfs.namenode.http-address.hacluster.nn2</name><value>hd02:50070</value></property><property><name>dfs.namenode.shared.edits.dir</name><value>qjournal://hd01:8485;hd02:8485;hd03:8485/hacluster</value></property><property><name>dfs.journalnode.edits.dir</name><value>/opt/soft/hadoop260/dfs/journalnode_data</value></property><property><name>dfs.namenode.edits.dir</name><value>/opt/soft/hadoop260/dfs/edits</value></property><property><name>dfs.ha.automatic-failover.enabled</name><value>true</value></property><property><name>dfs.client.failover.proxy.provider.hacluster</name><value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value></property><property><name>dfs.ha.fencing.methods</name><value>sshfence</value></property><property><name>dfs.ha.fencing.ssh.private-key-files</name><value>/root/.ssh/id_rsa</value></property><property><name>dfs.premissions</name><value>false</value></property>
</configuration>

12.编辑 mapred-site.xml.template 

<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapreduce.jobhistory.address</name><value>hd01:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>hd01:19888</value></property><property><name>mapreduce.job.ubertask.enable</name><value>true</value></property>
</configuration>

13.配置yarn-site.xml

<configuration><property><name>yarn.resourcemanager.ha.enabled</name><value>true</value></property><property><name>yarn.resourcemanager.cluster-id</name><value>hayarn</value></property><property><name>yarn.resourcemanager.ha.rm-ids</name><value>rm1,rm2</value></property><property><name>yarn.resourcemanager.hostname.rm1</name><value>hd02</value></property><property><name>yarn.resourcemanager.hostname.rm2</name><value>hd03</value></property><property><name>yarn.resourcemanager.zk-address</name><value>hd01:2181,hd02:2181,hd03:2181</value></property><property><name>yarn.resourcemanager.recovery.enabled</name><value>true</value></property><property><name>yarn.resourcemanager.store.class</name><value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value></property><property><name>yarn.resourcemanager.hostname</name><value>hd03</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.log-aggregation-enable</name><value>true</value></property><property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value></property>
</configuration>

14.hadoop下继续   vim etc/hadoop/slaves

把localhost删掉 改成

hd01

hd02

hd03

15.然后开始复制hadoop到另外两台机器:

scp -r /opt/soft/hadoop260 root@hd02:/opt/soft/

scp -r /opt/soft/hadoop260 root@hd03:/opt/soft/

16.然后把

#hadoop
export HADOOP_HOME=/opt/soft/hadoop260
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME

粘贴到每台机器的etc的profile内 别忘了source /etc/profile 哦!!!

3.启动集群

1.每台机器上启动zookeeper

zkServer.sh start

2.每台机器都启动:

hadoop-daemon.sh start journalnode

3.只在hd01上格式化:

hdfs namenode -format

4.将hd01上的Namenode的元数据复制到hd02相同位置

下面是一行!

scp -r /opt/soft/hadoop260/dfs/namenode_data/current/ root@hd02:/opt/soft/hadoop260/dfs/namenode_data

5.hd01或者hd02上:

hdfs zkfc -formatZK

6.hd01上:   start-dfs.sh

7.hd03上:   start-yarn.sh

8.hd01上:   mr-jobhistory-daemon.sh start historyserver

9.hd02上:   yarn-daemon.sh start resourcemanager

  没问题就大功告成啦!!!

总结

我本人第一次装的时候也装了很久,找小错误找了一天,算是比较深刻的印象。以后还是有很多机会重装的,所以就当巩固了!


http://chatgpt.dhexx.cn/article/4keABHoY.shtml

相关文章

hadoop的安装过程

Hadoop安装过程 Hadoop基础环境配置 1.1 使用户获得管理员权限 1.2网络环境配置 1.3免密登录 1.4JDK安装Hadoop安装Hadoop配置 3.1在$HADOOP_HOME/etc/hadoop/目录下需要配置以下文件 3.2格式化并启动hadoop 1.HADOOP基础环境配置 1.1 使用户获得管理员权限 1&#xff09;切…

hadoop保姆级安装教程

hadoop保姆级安装教程 文章目录 一、准备步骤&#xff1a;虚拟机安装二、配置网络三、免密登录四、安装hadoop 实现分布式集群安装&#xff0c;不再从入门到放弃&#xff01;&#xff01; 这是一篇超详细的Hadoop安装教程&#xff0c;历时两个星期&#xff0c;重装了三次&…

Hadoop安装及使用

1.简介&#xff1a; &#xff08;1&#xff09;Hadoop项目为可靠、可扩展的分布式计算开发开源软件。 &#xff08;2&#xff09;Hadoop 软件库是一个框架&#xff0c;它允许使用简单的编程模型跨计算机集群分布式处理大型数据 集。它旨在从单个服务器扩展到数千台机器&#xf…

史上最详细的hadoop安装教程(含坑点)

0.前言 最近因为需要所以要安装hadoop&#xff0c;但是网上怎么说呢&#xff0c;就是很混乱&#xff0c;各种资料&#xff0c;各种安装方法&#xff0c;总体来说都不是很有效果&#xff0c;经过了3天的挣扎&#xff0c;收集资料&#xff0c;才完成了部署。 1.从官网上获得对应…

史上最详细的hadoop安装教程

一、引言 首先说明一下&#xff0c;本文的安装教程仅是针对个人的操作经验所写的。可能有些同学安装的时候觉得跟他的不一样&#xff0c;那可能是由于版本不一样所导致的。另外本次分享是基于已经安装了java及配置好了环境。 本机的配置环境如下&#xff1a; Hadoop(3.1.1) Ubu…

hadoop安装(超详细)

本文用到的软件 设置固定IP &#xff08;1&#xff09; &#xff08;2&#xff09;修改配置文件“/etc/sysconfig/network-scripts/ifcfg-ens33” #修改&#xff1a; ONBOOTyes NM_CONTROLLEDyes BOOTPROTOstatic \#添加以下内容 IPADDR192.168.128.130(根据自身情况) NE…

Charles安卓8手机抓包

目的 通过PC端的Charles&#xff0c;对安卓系统8的手机APP进行抓包。 先说明&#xff0c;只能对Android10以下进行抓包&#xff0c;高版本的不行。 步骤 1、PC端安装Charles并破解 可以去Charles官网下载应用&#xff0c;下载好之后直接安装到本地。 下载链接&#xff1a;h…

fiddler安卓模拟器与ios手机抓包

一.安卓模拟器(雷电模拟器)抓包 1.1fiddler基本配置 1.2导出Fiddler证书 Tools -> Options -> HTTPS -> Actions -> Export Root Certificate to Desktop 在桌面上看到导出的FiddlerRoot.cer证书文件 1.3下载和安装openssl openssl下载地址 git终端输入 open…

charles抓包工具使用及手机抓包教程

目录 1.前言 2.操作环境条件 3.操作步骤 3.1.电脑配置 3.2.手机配置 4.抓包实战 5.网络代理 6.参考文章 1.前言 不知道怎么抓包手机&#xff08;移动端&#xff09; 如何抓取手机HTTPS的包 2.操作环境条件 电脑系统&#xff1a;Mac OS 手机系统&#xff1a;Android …

使用fiddler对android手机抓包

前言 以往在PC或Linux服务后台定位问题的时候&#xff0c;wireshark等抓包工具是必不可少要具备的&#xff0c;最近搞android播放器开发&#xff0c;为了定位问题方便&#xff0c;也装了fiddler等抓包工具。 以下是在win上使用fiddler抓包工具的详细教程。 一、下载fiddler抓包…

Charles4.6.2版本手机抓包设置,抓包失败的解决方法详解

一、Charles手机抓包设置 第一步&#xff1a;设置Charles为允许状态&#xff0c;并设置好接入的接口 在Charles的菜单栏选择“Proxy”->“Proxy Settings”&#xff0c;填入代理端口8888&#xff08;⚠️这个端口不一定填写8888&#xff0c;也可以写别的端口&#xff09;&…

wireshark手机抓包分析(一)

一、先给你的电脑开个共享WiFi win10怎么设置wifi热点 这里注意一定要选择2.4hz&#xff0c;否则根本搜不到电脑开的wifi。 然后就连wifi就行了。 这里需要注意的点就是&#xff0c;你的wifi开启了可能连不上&#xff0c;可以试试&#xff1a; 网络共享中心---->以太网—&…

charles手机抓包配置

Charles手机抓包 静静地就好关注 2020.07.26 22:12:27字数 393阅读 873 一、Charles设置 1、让电脑和手机处于同一个局域网下&#xff0c;即电脑和手机连接同一个WiFi【电脑开WiFi给手机连接也可以】&#xff1b; 2、打开Charles&#xff0c;点击菜单栏中Proxy –> Prox…

postman手机抓包(http协议)——比fiddler简单直观

针对http协议的浏览器网页抓包。见 之前写过一篇用fiddler抓包。今天来说一个更好的&#xff0c;postman抓包。 以下是针对http协议的手机抓包&#xff0c;https开头的用如下方式是不能的&#xff0c;http是超文本传输协议&#xff0c;信息是明文传输&#xff0c;https则是具…

使用whistle进行手机抓包并调试

whistle是一个基于Node实现的跨平台web调试代理工具&#xff0c;类似Windows上的Fiddler&#xff0c;Mac上的Charles&#xff0c;主要用于查看、修改HTTP、HTTPS、Websocket的请求、响应&#xff0c;也可以作为HTTP代理服务器使用&#xff0c;不同于Fiddler通过断点修改请求响应…

手机端抓包分析

1前提&#xff1a; wireshark是针对网络端口进行抓包的一款工具&#xff0c;由于环境限制&#xff0c;一些通过wifi热点进行抓包的方式并不适用&#xff0c;所以涉及到对手机流量进行分析的时候&#xff0c;可以通过在手机上进行tcpdump&#xff0c;将抓取的pcap包通过wireshar…

fiddler手机抓包

1&#xff1a;打开fiddler&#xff0c;点击菜单栏的Tools->Options,进行设置。设置时&#xff0c;保证端口号不会被占用&#xff1b;设置完成&#xff0c;点击【ok】。 2&#xff1a;点击HTTPS&#xff0c;开始设置&#xff0c;必须勾选所选框中内容&#xff0c;设置完成点击…

手机抓包图文教程

手机抓包图文教程 给大家介绍下如何使用Fiddler进行手机抓包。 运行环境为Windows 10&#xff0c;使用手机为iPhone 7&#xff0c;iOS11系统。 0. 准备工作 首先需要确保手机及电脑在同一个局域网内&#xff0c;如连接了同一个无线路由器。 Fiddler配置 运行Fiddler后打开配置…

charles手机抓包教程

charles手机抓包教程 一、设置系统代理 二、电脑端安装证书 安装的时候就注意证书放在“受信任的证书委发机构”就行&#xff0c;其他的都是点下一步 三、设置代理 四、设置手机上的代理 让手机和电脑保持连接同一个wifi 先查看电脑端的地址 再设置手机代理&#xff08…

台式机fiddler手机抓包

台式机fiddler手机抓包 因为兴趣,最近研究了一下,如何对手机抓包,自己做个笔记,方便以后查看,现在简单说一下操作流程及操作中遇到的问题。 一、设备 1.无线USB网卡,电脑、手机。 因为手机用fiddler抓包的时候,需要电脑和手机要在同一个局域网,我自己的电脑是台式机,…