先准备三台或者五台虚拟机(我这里写三台,实际我用的五台)

在安装centos时可以在选择(最小安装还是图形化界面处)有配置网络的,把网络先配置好,这样就不需要在重新配置了

先配置一台主机,后两台克隆即可,我这里搭建的主机用的图形化界面,从节点用的最小安装

ip和主机名
ip 主机名
192.168.228.138 chun1
192.168.228.139 chun2
192.168.228.140 chun3
把 ip 主机名 写到/etc/hosts里,这里是映射,用来关联你的另外的机器。

ip与主机名根据自己情况定义,下面会讲ip地址怎么

echo '192.168.228.138 chun1' >>/etc/hosts
echo '192.168.228.139 chun2' >>/etc/hosts
echo '192.168.228.140 chun2' >>/etc/hosts


把每台对应的ip和主机名改掉

1- 改ip 进入

[root@chun1 /]# cd /etc/sysconfig/network-scripts/

1.1 ls查看目录

可以看到 ifcig-ens33文件,centos6与7不同,有的是ifcfig-etho,配置是一样的。vi编译此文件,来修改主机ip地址
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.228.138      //这是你的主机ip
NETMASK=255.255.255.0      //这是你的子网掩码
GATEWAY=192.168.228.3     //这是你的网关
DNS1=192.168.228.3             //第一个DNS1与网关相同
DNS2=114.114.114.114           //第二个用114.114.114
然后讲怎么配置ip,子网掩码,网关。

到VMware界面




到此网络基本配置好了

1.2-更改主机名

分别在对应IP的主机中修改主机名:vi /etc/hostname 把localhost改成你的主机名


2配置ssh免密登录:

原理很简单,先在每台机器上生成秘钥,ssh-keygen -t rsa,三次回车即可。然后把从节点/root/.ssh/id_rsa.pub发给主机,并改名,要不然会被覆盖

在chun2上执行:scp /root/.ssh/id_rsa.pub root@chun1:/root/.ssh/id_rsa.pub002
在chun3上执行:scp /root/.ssh/id rsa.pub root@chun1:/root/.ssh/id_rsa.pub003

然后在chun1中把三个id_rsa.pub加入到authorized_keys里

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
cat /root/.ssh/id_rsa.pub002 >> /root/.ssh/authorized_keys
cat /root/.ssh/id_rsa.pub003 >> /root/.ssh/authorized_keys

然后把authorized_keys发给chun2,chun3,就可以实现三台互通

scp /root/.ssh/authorized_keys root@chun2:/root/.ssh/authorized_keys
scp /root/.ssh/authorized_keys root@chun3:/root/.ssh/authorized_keys

测试 --退出用exit

以下安装都是在master(chun1)上安装之后在发送

3.安装JDK

下载jdk1.8.0,官网下载即可,下载后解压,配置环境变量就行。(下载解压就不讲了)
我这里放在了/usr/local/java下java目录自己创建的

mkdir /usr/local/java

配置环境变量

vi /etc/profile
#在最后加上#JAVA
JAVA_HOME=/usr/local/java/jdk1.8.0_221   #解压后的jdk目录名称
JRE_JOME=/usr/local/java/jdk1.8.0_221/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_JOME CLASS_PATH PATH

刷新环境变量

source /etc/profile

测试输入java -version,java,javac分别查看,出来很多内容即是成功

[root@chun1 ~]# java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

4.安装hadoop 这里用的2.7.7 ,暂时别用3和2.8.5,后面配置hbase会出现不兼容问题。详情见我的hbase搭建。

我这里官方下载的2.7.7下载bin类型。下载后解压到/usr/loacl/hadoophadoop为自己创建的文件夹

tar -zxf hadoop-2.7.7.tar.gz -C /usr/local/hadoop/

配置环境变量

#HADOOP
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.7
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
#zookeeper
export ZOOKEEPER_PREFIX=/usr/local/zookeeper/zookeeper-3.4.6
export PATH=$PATH:$ZOOKEEPER_PREFIX/bin

刷新环境变量

source /etc/profile

进行测试是否成功

[root@chun1 ~]# hadoop version
Hadoop 2.7.7
Subversion Unknown -r c1aad84bd27cd79c3d1a7dd58202a8c3ee1ed3ac
Compiled by stevel on 2018-07-18T22:47Z
Compiled with protoc 2.5.0
From source with checksum 792e15d20b12c74bd6f19a1fb886490
This command was run using /usr/local/hadoop/hadoop-2.7.7/share/hadoop/common/hadoop-common-2.7.7.jar

5.配置Hadoop

创建目录

#在/usr/local/hadoop目录下创建目录
cd /usr/local/hadoop/
mkdir tmp
mkdir var
mkdir dfs
mkdir dfs/name
mkdir dfs/data
修改配置文件

进入hadoop-2.7.7/etc/hadoop下

cd /usr/local/hadoop/hadoop-3.7.7/etc/hadoop

(1) hadoop-env.sh

在#  JAVA_HOME=/usr/java/testing hdfs dfs -ls一行下面添加如下代码
export JAVA_HOME=/usr/local/java/jdk1.8.0_221
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.7
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

(2)修改slaves,把从节点名字写进去,删除localhost,hadoop3是修改workers。

chun2
chun3

下面在各个文件的< configuration> < /configuration>中添加

(3)修改core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.228.138:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>

(4)hdfs-site.xml

<property><name>dfs.name.dir</name><value>/usr/local/hadoop/dfs/name</value><description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>
</property>
<property><name>dfs.data.dir</name><value>/usr/local/hadoop/dfs/data</value><description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>192.168.228.138:50070</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>192.168.228.138:50090</value>
</property>
<property><name>dfs.replication</name><value>4</value>
</property>
<property><name>dfs.permissions</name><value>false</value><description>need not permissions</description>
</property>

(5)mapred-site.xml

<property><name>mapred.job.tracker</name><value>chun1:49001</value>
</property>
<property><name>mapred.local.dir</name><value>/usr/local/hadoop/var</value>
</property>
<property><name>mapreduce.framework.name</name><value>yarn</value>
</property>

(6) yarn-site.xml

在命令行输入 hadoop classpath,把得到的内容复制到下面

[root@chun1 ~]# hadoop classpath
/usr/local/hadoop/hadoop-2.7.7/etc/hadoop:/usr/local/hadoop/hadoop-2.7.7/share/hadoop/common/lib/*:/usr/local/hadoop/hadoop-2.7.7/share/hadoop/common/*:/usr/local/hadoop/hadoop-2.7.7/share/hadoop/hdfs:/usr/local/hadoop/hadoop-2.7.7/share/hadoop/hdfs/lib/*:/usr/local/hadoop/hadoop-2.7.7/share/hadoop/hdfs/*:/usr/local/hadoop/hadoop-2.7.7/share/hadoop/yarn/lib/*:/usr/local/hadoop/hadoop-2.7.7/share/hadoop/yarn/*:/usr/local/hadoop/hadoop-2.7.7/share/hadoop/mapreduce/lib/*:/usr/local/hadoop/hadoop-2.7.7/share/hadoop/mapreduce/*:/usr/local/hadoop/hadoop-2.7.7/contrib/capacity-scheduler/*.jar
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.application.classpath</name>
<value>输入刚才返回的Hadoop classpath路径</value>     //这里借鉴了别人的
</property>

到此配置基本结束,然后同步给另外两台虚拟机

scp -r /usr/local/java chun2:/usr/local/java
scp -r /usr/local/hadoop chun2:/usr/local/hadoop
scp -r /etc/profile chun2:/etc/scp -r /usr/local/java chun3:/usr/local/java
scp -r /usr/local/hadoop chun3:/usr/local/hadoop
scp -r /etc/profile chun3:/etc/
这里有个问题就是如果你的另外虚拟机local下有hadoop文件夹和java文件夹,他会放到你的java或者hadoop下,导致你的目录会又多了一层。可以这样解决,或者简单粗暴直接删除原来的文件夹:
进入到local下 使用命令scp hadoop/ chun2:$PWD 这样进行传输,会覆盖掉。PWD表示当前你所进入的目录

然后刷新两个从节点环境变量

ssh chun2
source /etc/profilessh chun3
source /etc/profile

格式化节点

在主节点上执行

hdfs namenode -format

运行之后不报错,并在倒数第五六行有successfully即为格式化节点成功

启动hadoop集群的服务

start-all.sh

输入jps可以查看进程

chun1上会有namenode

chun2、chun3上有datanode

在浏览器上访问192.168.228.138:50070 查看hdfs的web界面(前面是主节点的ip后面是端口)

查看yarn的web端

hadoop分布式集群搭建,包含网络配置-hadoop3环境相关推荐

  1. Hadoop分布式集群搭建以及案例运行-fs操作

    Hadoop分布式集群搭建案例步骤(也可以叫分布式文件系统) 一:创建分布式集群环境 二:设置静态ip以及主机名与映射关系 三:创建用户.配置SSH无密登录 四:子机dn操作 五:配置主机jdk.ha ...

  2. hadoop分布式集群搭建

    hadoop集群搭建前的准备(一定要读):https://blog.51cto.com/14048416/2341450 hadoop分布式集群搭建: 1. 集群规划: 2.具体步骤: (1)上传安装 ...

  3. Hadoop分布式集群搭建完全详细教程

    Hadoop分布式集群环境搭建步骤如下 实验环境: 系统:win7 内存:8G(因要开虚拟机,内存建议不低于8G) 硬盘:建议固态 虚拟机:VMware 12 Linux:Centos 7 jdk1. ...

  4. Hadoop分布式集群搭建完全教程

    Hadoop分布式集群环境搭建步骤如下 实验环境: 系统:win7 内存:8G(因要开虚拟机,内存建议不低于8G) 硬盘:建议固态 虚拟机:VMware 12 Linux:Centos 7 jdk1. ...

  5. 【转】Hadoop分布式集群搭建hadoop2.6+Ubuntu16.04

    https://www.cnblogs.com/caiyisen/p/7373512.html 前段时间搭建Hadoop分布式集群,踩了不少坑,网上很多资料都写得不够详细,对于新手来说搭建起来会遇到很 ...

  6. Hadoop分布式集群搭建hadoop2.6+Ubuntu16.04

    前段时间搭建Hadoop分布式集群,踩了不少坑,网上很多资料都写得不够详细,对于新手来说搭建起来会遇到很多问题.以下是自己根据搭建Hadoop分布式集群的经验希望给新手一些帮助.当然,建议先把HDFS ...

  7. Hadoop分布式集群搭建(完整版)

    一.前期准备工作 VMware和Centos7下载安装教程: https://blog.csdn.net/m0_59209350/article/details/117793482 XShell和Xf ...

  8. Hadoop分布式集群搭建详细过程

    1. 首先用五台机器搭建分布式,一个为master,剩下四个分别为slave01.slave02.slave03, slave04. 2. 修改机器名 五台机器分别都执行sudo vim /etc/h ...

  9. Hadoop 分布式集群搭建步骤

    实现各个节点间的免密登录 将hadoop安装包拷贝到其他节点 删除00节点hadoop的运行数据(若有运行) 在00节点的slaves文件中配置其他节点信息 此时在00节点启动hdfs 会在各个节点中 ...

最新文章

  1. 彻底理解js中this的指向
  2. 如何准备数学建模竞赛!
  3. 【算法入门漫画】:“排序算法” 大总结
  4. one thread one loop
  5. MySQL8 重置改root密码及开放远程访问
  6. oracle 如何筛选重复,求sql--筛选A字段相同,B字段不同且不重复的记录
  7. 【CodeForces - 892C 】Pride (数学,思维构造,gcd)
  8. opencv 人脸识别_python基于openCV人脸识别18行代码实现
  9. Windows PsExec 0day 漏洞获免费微补丁,但仅适用于最新版本
  10. 电脑wifi热点软件_手机WiFi信号太差怎么办?掌握这些方法,轻松解决这个问题...
  11. ArcGIS设置默认金字塔弹出框
  12. 年金计算机在线,年金终值复利计算器在线(企业年金计算方法)
  13. windows7配置java环境变量
  14. windows反馈中心服务器,Windows 管理中心入门
  15. Python数据分析与机器学习27-拼写纠正实例
  16. java基于t-io框架实现区块链中的p2p网络构建模拟区块信息同步
  17. 《Python编程-从入门到实践》
  18. Linux下线程池概念详解以及代码演示
  19. 我就喜欢那种认认真真和我吵架的
  20. 2019年下半年软件设计师考试上午题的英语部分原文。

热门文章

  1. [剑指offer]面试题第[2]题[JAVA][替换空格][函数][字符串]
  2. 计算机服务哪些不能关闭,Win7系统下哪些系统服务不能关闭
  3. linux虚拟服务器新增磁盘怎么挂载,如何在vmware虚拟机Linux中增加硬盘的方法(教程)...
  4. Codeforces Round #734 (Div. 3) (A-D1)
  5. 如何设置打印的时候不加上页面链接_excel表格的这10个打印小技巧,办公室财务人员记得收藏...
  6. 网站显示不正常服务器怎么弄,你真的知道网站出现收录不正常的原因是什么吗...
  7. idea maven创建java项目_新版本IntelliJ IDEA 构建maven,并用Maven创建一个web项目(图文教程)...
  8. mysql事务所_mysql事务
  9. 解决asterisk sip呼叫 488 no acceptable here
  10. Asterisk 1.4.42将成绝唱