一、虚拟机安装centos7需要显示IPv4地址时设置

修改ip addr 中显示ipv4

  1. 修改 ONBOOT=no 为 ONBOOT=yes,
  2. 同时需要添加HWADDR=00:0c:29:c8:b6:a7,其中后缀mac地址需要填写ip addr中ech33的ip6的mac 00:0c:29:3a:18:15
  3. systemctl stop NetworkManager systemctl disable NetworkManager
  4. service network restart 启动OK

二、安装jdk,这里安装版本jdk1.8.0_192.

# 文件解压
tar zxvf jdk-8u192-linux-x64.tar.gz
# 移动文件到指定目录下
mv jdk1.8.0_192 /opt/
# 编辑文件在最后插入三条信息
vim /etc/profile export JAVA_HOME=/opt/jdk1.8.0_192
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME:$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
# 重启配置文件
source /etc/profile

三、安装hadoop3

有两台设备安装hadoop3主机配置:

名称 地址 描述
mpi-1 192.168.2.138 centos7配置,为主节点
mpi-2 192.168.2.20 子节点
解压文件并编辑环境变量
tar zxvf hadoop-3.1.1.tar.gz
mkdir /opt/hadoop-3.1.1/app
mkdir /opt/hadoop-3.1.1/data
mkdir /opt/hadoop-3.1.1/log
mv hadoop-3.1.1/* /opt/hadoop-3.1.1/app/
# 设置权限
sudo chmod -R 777 /opt/hadoop-3.1.1/data
# 配置环境变量
vim /etc/profile
//在文件最后添加
export HADOOP_HOME=/opt/hadoop-3.1.1/app
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile //刷新配置

1. 防火墙设置:虚拟机必须都关闭防火墙才能启动集群

Systemctl status firewalld.service 检查状态
Systemctl stop firewalld.service 关闭
Systemctl disable firewalld.service 防止开机自启

2. 然后修改hosts文件:

sudo vim /etc/hosts

根据以上查得的IP地址,在两台机器的hosts文件中均输入以下内容并保存:

192.168.2.138 mpi-1

192.168.2.20 mpi-2

测试: 在mpi-1服务上ping mpi-2

3. ssh 免密登录

3.1 两台设备都需要修改/etc/ssh/ssh_config文件的配置

最后面添加:

StrictHostKeyChecking no
UserKnownHostsFile /dev/null

3.2 在各个文件中执行

(1)ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa (每台设备都执行)

(2)cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys //认证(主节点上执行该步后可以保证本机免密登录,使用ssh mpi-1进行测试)

(3)把各子节点的 id_rsa.pub 传到主节点

scp id_rsa.pub root@mpi-1:~/.ssh/id_rsa.pub.mpi-2(这里我们把mpi-1看作主节点,将mpi-2节点的钥匙文件传到node1上)

(4)在主节点上操作

cat ~/.ssh/id_rsa.pub.mpi-2 >> ~/.ssh/authorized_keys//认证

scp authorized_keys ubuntu@mpi-2:~/.ssh/authorized_keys//将认证文件传回每个子节点

(5)验证无密码登录

在mpi-1节点上执行:ssh mpi-2

4. 创建文件目录

mkdir /opt/hadoop-3.1.1/data/tmp
mkdir /opt/hadoop-3.1.1/data/dfs
mkdir /opt/hadoop-3.1.1/data/dfs/data
mkdir /opt/hadoop-3.1.1/data/dfs/name

5. 配置Hadoop

进入hadoop-3.0.0的配置目录:cd /home/ubuntu/hadoop/hadoop-3.0.0/etc/hadoop,依次修改hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml以及workers文件。

5.1 配置 hadoop-env.sh

vim hadoop-env.sh

export JAVA_HOME=/opt/jdk1.8.0_192 //在hadoop-env.sh中找到 JAVA_HOME,配置成对应安装路径

5.2 配置 core-site.xml (根据自己节点进行简单修改即可)

vim core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://mpi-1:9000</value>
<description>HDFS的URI,文件系统://namenode标识:端口号</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-3.1.1/data/tmp</value>
<description>namenode上本地的hadoop临时文件夹</description>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
<description>Size of read/write buffer used in SequenceFiles</description>
</property>
</configuration>

5.3 配置 hdfs-site.xml

vim hdfs-site.xml

<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
<description>Hadoop的备份系数是指每个block在hadoop集群中有几份,系数越高,冗余性越好,占用存储也越多</description>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///opt/hadoop-3.1.1/data/dfs/name</value>
<description>namenode上存储hdfs名字空间元数据 </description>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///opt/hadoop-3.1.1/data/dfs/data</value>
<description>datanode上数据块的物理存储位置</description>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>mpi-1:50090</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions</name>
<value>true</value>
<description>dfs.permissions配置为false后,可以允许不要检查权限就生成dfs上的文件,方便倒是方便了,但是你需要防止误删除,请将它设置为true,或者直接将该property节点删除,因为默认就是true</description>
</property>
</configuration>

5.4 配置 mapred-site.xml

vim mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<description>The runtime framework for executing MapReduce jobs. Can be one of local, classic or yarn.</description>
<final>true</final>
</property>
<property>
<name>mapreduce.jobtracker.http.address</name>
<value>mpi-1:50030</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>mpi-1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>mpi-1:19888</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>http://mpi-1:9001</value>
</property>
</configuration>

5.5 配置 yarn-site.xml

vim yarn-site.xml

<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>mpi-1</value>
<description>The hostname of the RM.</description>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>mpi-1:8032</value>
<description>${yarn.resourcemanager.hostname}:8032</description>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>mpi-1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>mpi-1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>mpi-1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>mpi-1:8088</value>
</property>
</configuration>

5.6 配置 workers 文件(之前版本是slaves,注意查看)

vim workers

添加

mpi-1

mpi-2

5.7 将配置文件复制到子节点中

scp -r hadoop-3.1.1 root@192.168.2.20:/opt/

复制到其他节点后,需要配置hadoop的环境变量

5.8 将start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数

#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

还有,start-yarn.sh,stop-yarn.sh顶部也需添加以下:

#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

6. 运行Hadoop集群

6.1 格式化namenode(主节点)

hdfs namenode -format //第一次使用hdfs,必须对其格式化(只需格式化一次)

6.2 启动Hadoop

start-dfs.sh

start-yarn.sh

6.3 查看集群是否成功启动

jps命令查看

在浏览器输入192.168.2.138:9870,结果如下:

测试YARN

在浏览器输入192.168.2.138:8088,结果如下:

注:将绑定IP或mpi-1改为0.0.0.0,而不是本地回环IP,这样,就能够实现外网访问本机的8088端口了。比如这里需要将yarn-site.xml中的

        <property>
<name>yarn.resourcemanager.webapp.address</name>
<value>mpi-1:8088</value>
</property>
修改为:
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>0.0.0.0:8088</value>
</property>

hadoop 分布式安装的更多相关文章

  1. hadoop分布式安装教程(转)

    from:http://www.cnblogs.com/xia520pi/archive/2012/05/16/2503949.html 1.集群部署介绍 1.1 Hadoop简介 Hadoop是Ap ...

  2. hadoop分布式安装过程

    一.安装准备及环境说明 1.下载hadoop-1.2.1,地址:http://apache.spinellicreations.com/hadoop/common/stable/hadoop-1.2. ...

  3. Hadoop分布式安装

    一.安装准备         1.下载hadoop,地址:http://hadoop.apache.org/,下载相应版本         2.下载JDK版本:Hadoop只支持1.6以上,地址:ht ...

  4. hadoop分布式安装部署详细视频教程(网盘附配好环境的CentOS虚拟机文件/hadoop配置文件)

    参考资源下载:http://pan.baidu.com/s/1ntwUij3视频安装教程:hadoop安装.flvVirtualBox虚拟机:hadoop.part1-part5.rarhadoop文 ...

  5. hadoop分布式安装及其集群配置笔记

    各机器及角色信息: 共10台机器,hostname与ip地址映射在此不做赘述.此为模拟开发环境安装,所以不考虑将NameNode和SecondaryNameNode安装在同一台机器. 节点 角色 na ...

  6. hadoop分布式安装部署具体视频教程(网盘附配好环境的CentOS虚拟机文件/hadoop配置文件)

    參考资源下载:http://pan.baidu.com/s/1ntwUij3视频安装教程:hadoop安装.flvVirtualBox虚拟机:hadoop.part1-part5.rarhadoop文 ...

  7. CentOS7 分布式安装 Hadoop 2.8

    1. 基本环境 1.1 操作系统 操作系统:CentOS7.3 1.2 三台虚拟机 172.20.20.100 master 172.20.20.101 slave1 172.20.20.102 sl ...

  8. hadoop 完全分布式安装

    一个完全的hadoop分布式安装至少需要3个zookeeper,3个journalnode,3个datanode,2个namenode组成. 也就是说需要11个节点,但是我云主机有限,只有3个,所以把 ...

  9. hadoop生态圈安装详解(hadoop+zookeeper+hbase+pig+hive)

    -------------------------------------------------------------------* 目录 * I   hadoop分布式安装   * II zoo ...

随机推荐

  1. Objective-C 学习笔记(三) Numbers/数字

    Objective-C Numbers/数字 Objective-C中提供了一系列的NSNumber和重要的工作方法: + (NSNumber *)numberWithBool:(BOOL)value ...

  2. 使用python登录CNZZ访问量统计网站,然后获取相应的数据

    思路: 第一步:使用pypeteer.launcher打开浏览器, 第二步:向CNZZ的登录(通过使用iframe嵌入的阿里巴巴单点登录页面),向iframe页面中自动输入用户名和密码,然后点击登录按 ...

  3. eayui js动态加载Datagrid,自适应宽度,高度

    HTML: <div class="easyui-layout" style="min-height:100%;min-width:100%;"> ...

  4. Visual Studio Code 基本操作 - Windows 版

    1.Install the .NET SDK 2.Create app: dotnet new console -o myApp cd myApp 3.Run your app:dotnet run

  5. swagger 在本地正常调试 发布后出现500 : {"Message":"出现错误。"}

    点击项目属性 勾上xml 解决

  6. ASP.NET WebApi总结之自定义权限验证

    在.NET中有两个AuthorizeAttribute类, 一个定义在System.Web.Http命名空间下 #region 程序集 System.Web.Http, Version=5.2.3.0 ...

  7. API接口安全加强设计方法

    前面两篇相关文章: <Web Api 内部数据思考 和 利用http缓存优化 Api> <Web Api 端点设计 与 Oauth> 1.开放的接口 这样的接口我们天天都在接触 ...

  8. 深入了解java虚拟机(JVM) 第十一章 类的加载

    一.类加载机制概述 虚拟机把描述类的数据从class文件加载到内存并对数据进行效验,解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制. 二.类加载的机制 类加载的过程 ...

  9. LOJ#2070. 「SDOI2016」平凡的骰子(计算几何)

    题面 传送门 做一道题学一堆东西不管什么时候都是美好的体验呢-- 前置芝士 混合积 对于三个三维向量\(a,b,c\),定义它们的混合积为\((a\times b)\cdot c\),其中$\time ...

  10. oracle常用cmd命令

    登陆 sqlplus username/password; 切换: conn username/password; 显示当前登陆用户: show user; 查看用户列表 select usernam ...