一、虚拟机安装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. [label][JavaScript] 自动填充内容的JavaScript 库

    一个帮助你针对不同标签自动填入内容的轻量级javascript类库 - fixiejs http://www.gbtags.com/technology/javascript/20120802-fix ...

  2. 初尝2D骨骼动画编辑工具SPINE,并into Unity3D

    一.SPINE使用 研究2D骨骼动画,CYou的朋友介绍我SPINE这个工具,开发自Esoteric Software的一款专门制作2D动画的软件,网络上的资料还很少,我这从半吊子美术技术的角度简单说 ...

  3. 在Github注册账户

    https://github.com/JasonHaoz

  4. 微服务中的健康监测以及其在ASP.NET Core服务中实现运行状况检查

    1 .什么是健康检查? 健康检查几乎就是名称暗示的.它是一种检查您的应用程序是否健康的方法.随着越来越多的应用程序转向微服务式架构,健康检查变得尤其重要(Health Check).虽然微服务架构有很 ...

  5. 国际时区 TimeZone ID列表

    public static void main(String[] args) { Calendar c = new GregorianCalendar(); c.setTime(new Date()) ...

  6. 在没Hadoop 、GP 前提下怎么进行实时数据统计。

    最近着手个项目,整体数据量有5亿多,每个月增量9000w.应用场景是Oltp 根据用户id直接计算各种维度值. 因为是Oltp 场景,直接根据用户id %2000分(方便后续横向扩展),有些喜欢扯分区 ...

  7. Ubuntu 12.04 Openssh 安装过程

    1.输入 apt-get install openssh-server 注意 出现依赖 需要使用 查看依赖是否需要,如果不需要可以直接删除,sudo apt-get remove XXXX 或者sud ...

  8. 用MVC5+EF6+WebApi 做一个小功能(一)开场挖坑,在线答题系统

    从哪开始说呢,这几年微软的技术一直在变,像是牟足了劲要累死所有的NET程序员,从WebForm到MVC到现在MPA.SPA .Razor单页,从net2.0一直走到现在.net4.6.2,后面还有一个 ...

  9. AI下载步骤

    ai下载地址:https://www.adobe.com/cn/creativecloud/catalog/desktop.html?promoid=PTYTQ77P&mv=other 破解器 ...

  10. 【timeisprecious】【JavaScript 】JavaScript对象

    JavaScript 对象 var a=[];console.log(new Boolean(a)); VM1319: Boolean {true} undefined var a=[];consol ...