HDFS 分布式环境搭建

作者:Grey

原文地址:

博客园:HDFS 分布式环境搭建

CSDN:HDFS 分布式环境搭建

准备四个Linux实例

每个实例对应的 host 和 ip 地址如下

node01 192.168.150.128

node02 192.168.150.138

node03 192.168.150.139

node04 192.168.150.140

每个节点的安排如下

host NN SNN DN
node01
node02
node03
node04

首先,需要配置静态 ip,

node01~node04上,分别执行

vi /etc/sysconfig/network-scripts/ifcfg-ens33

内容参考如下内容修改

在 node01 上

修改BOOTPROTO="static"

新增IPADDR="192.168.150.128"

然后执行:

service network restart

在 node02 上

修改BOOTPROTO="static"

新增IPADDR="192.168.150.138"

然后执行

service network restart

在 node03 上

修改BOOTPROTO="static"

新增IPADDR="192.168.150.139"

然后执行

service network restart

在 node04 上

修改BOOTPROTO="static"

新增IPADDR="192.168.150.140"

然后执行

service network restart

接下来,配置 hostname

在 node01 上

执行hostnamectl set-hostname node01

执行

vi /etc/sysconfig/network

设置为

NETWORKING=yes
HOSTNAME=node01

在 node02 上

执行hostnamectl set-hostname node02

执行

vi /etc/sysconfig/network

设置为

NETWORKING=yes
HOSTNAME=node02

在 node03 上

执行hostnamectl set-hostname node03

执行

vi /etc/sysconfig/network

设置为

NETWORKING=yes
HOSTNAME=node03

在 node04 上

执行hostnamectl set-hostname node04

执行

vi /etc/sysconfig/network

设置为

NETWORKING=yes
HOSTNAME=node01

设置本机的ip到主机名的映射关系,在node01~node04上分别执行vi /etc/hosts

并添加如下信息:

192.168.150.128 node01 

192.168.150.138 node02 

192.168.150.139 node03 

192.168.150.140 node04

接下来,需要关闭防火墙

node01~node04上都执行如下命令

systemctl stop firewalld.service

systemctl disable firewalld.service

firewall-cmd --reload

service iptables stop

chkconfig iptables off

关闭 SELINUX

node01~node04上执行vi /etc/selinux/config, 配置如下选项

SELINUX=disabled

做时间同步

node01~node04上分别执行yum install ntp -y

且做如下配置

vi /etc/ntp.conf

添加如下信息

server ntp1.aliyun.com

然后在node01~node04上都执行如下命令

service ntpd start

chkconfig ntpd on

接下来是配置免密登录

node01~node04上分别执行

ssh localhost

输入yes

输入密码

node01~node04上执行如下命令生成本机的密钥和公钥ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

node01的公钥发送到另外三个机器,在node01上执行

scp ~/.ssh/id_dsa.pub root@node02:~/.ssh/node1.id_rsa.pub

scp ~/.ssh/id_dsa.pub root@node03:~/.ssh/node1.id_rsa.pub

scp ~/.ssh/id_dsa.pub root@node04:~/.ssh/node1.id_rsa.pub

node02的公钥发送到另外三个机器,在node02上执行

scp ~/.ssh/id_dsa.pub root@node01:~/.ssh/node2.id_rsa.pub

scp ~/.ssh/id_dsa.pub root@node03:~/.ssh/node2.id_rsa.pub

scp ~/.ssh/id_dsa.pub root@node04:~/.ssh/node2.id_rsa.pub

node03的公钥发送到另外三个机器,在node03上执行

scp ~/.ssh/id_dsa.pub root@node01:~/.ssh/node3.id_rsa.pub

scp ~/.ssh/id_dsa.pub root@node02:~/.ssh/node3.id_rsa.pub

scp ~/.ssh/id_dsa.pub root@node04:~/.ssh/node3.id_rsa.pub

node04的公钥发送到另外三个机器,在node04上执行

scp ~/.ssh/id_dsa.pub root@node01:~/.ssh/node4.id_rsa.pub

scp ~/.ssh/id_dsa.pub root@node02:~/.ssh/node4.id_rsa.pub

scp ~/.ssh/id_dsa.pub root@node03:~/.ssh/node4.id_rsa.pub

node01上执行

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

cat ~/.ssh/node2.id_rsa.pub >> ~/.ssh/authorized_keys

cat ~/.ssh/node3.id_rsa.pub >> ~/.ssh/authorized_keys

cat ~/.ssh/node4.id_rsa.pub >> ~/.ssh/authorized_keys

node02上执行

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

cat ~/.ssh/node1.id_rsa.pub >> ~/.ssh/authorized_keys

cat ~/.ssh/node3.id_rsa.pub >> ~/.ssh/authorized_keys

cat ~/.ssh/node4.id_rsa.pub >> ~/.ssh/authorized_keys

node03上执行

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

cat ~/.ssh/node1.id_rsa.pub >> ~/.ssh/authorized_keys

cat ~/.ssh/node2.id_rsa.pub >> ~/.ssh/authorized_keys

cat ~/.ssh/node4.id_rsa.pub >> ~/.ssh/authorized_keys

node04上执行

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

cat ~/.ssh/node1.id_rsa.pub >> ~/.ssh/authorized_keys

cat ~/.ssh/node2.id_rsa.pub >> ~/.ssh/authorized_keys

cat ~/.ssh/node3.id_rsa.pub >> ~/.ssh/authorized_keys

接下来,需要在node01~node04上都安装Java环境,安装过程略。

node01~node04上都创建好目录

mkdir -p /opt/bigdata

node01~node04上,将hadoop安装包上传到/opt/bigdata下,然后执行:

tar xf hadoop-2.6.5.tar.gz

然后执行:

mv hadoop-2.6.5 hadoop

添加环境变量vi /etc/profile

Hadoop加入环境变量:

export JAVA_HOME=/usr/local/jdk

export HADOOP_HOME=/opt/bigdata/hadoop

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

然后执行source /etc/profile

接下来是 Hadoop 配置,在node01~node04

执行vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh

配置 JAVA_HOME:export JAVA_HOME=/usr/local/jdk

node01~node04上执行vi $HADOOP_HOME/etc/hadoop/core-site.xml

<configuration></configuration>之间,加入如下配置:

<property>
<name>fs.defaultFS</name>
<value>hdfs://node01:9000</value>
</property>

node01~node04上执行vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml

<configuration></configuration>之间,加入如下配置

<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/var/bigdata/hadoop/full/dfs/name</value>
</property> <property>
<name>dfs.datanode.data.dir</name>
<value>/var/bigdata/hadoop/full/dfs/data</value>
</property> <property>
<name>dfs.namenode.secondary.http-address</name>
<value>node02:50090</value>
</property> <property>
<name>dfs.namenode.checkpoint.dir</name>
<value>/var/bigdata/hadoop/full/dfs/secondary</value>
</property>

node01~node04上执行vi $HADOOP_HOME/etc/hadoop/slaves

node02
node03
node04

node01上格式化启动

格式化hdfs namenode -format

启动start-dfs.sh

如果使用 Windows作为客户端,那么可以配置 hosts 条目

进入C:\Windows\System32\drivers\etc

host 文件中增加如下条目:

192.168.150.128 node01 

192.168.150.138 node02 

192.168.150.139 node03 

192.168.150.140 node04

测试一下

node01上,执行如下命令,

hdfs dfs -mkdir /bigdata

hdfs dfs -mkdir -p /user/root

hdfs dfs -put hadoop-2.6.5.tar.gz /user/root

打开浏览器

通过:

http://node01:50070/explorer.html#/user/root

可以看到上传的文件 hadoop-2.6.5.tar.gz

HDFS 分布式环境搭建的更多相关文章

  1. 【转】Hadoop HDFS分布式环境搭建

    原文地址  http://blog.sina.com.cn/s/blog_7060fb5a0101cson.html Hadoop HDFS分布式环境搭建 最近选择给大家介绍Hadoop HDFS系统 ...

  2. Alluxio1.0.1最新版(Tachyon为其前身)介绍,+HDFS分布式环境搭建

    Alluxio(之前名为Tachyon)是世界上第一个以内存为中心的虚拟的分布式存储系统.它统一了数据访问的方式,为上层计算框架和底层存储系统构建了桥梁. 应用只需要连接Alluxio即可访问存储在底 ...

  3. 大数据:Hadoop(JDK安装、HDFS伪分布式环境搭建、HDFS 的shell操作)

    所有的内容都来源与 Hadoop 官方文档 一.Hadoop 伪分布式安装步骤 1)JDK安装 解压:tar -zxvf jdk-7u79-linux-x64.tar.gz -C ~/app 添加到系 ...

  4. HDFS 伪分布式环境搭建

    HDFS 伪分布式环境搭建 作者:Grey 原文地址: 博客园:HDFS 伪分布式环境搭建 CSDN:HDFS 伪分布式环境搭建 相关软件版本 Hadoop 2.6.5 CentOS 7 Oracle ...

  5. HDFS 高可用分布式环境搭建

    HDFS 高可用分布式环境搭建 作者:Grey 原文地址: 博客园:HDFS 高可用分布式环境搭建 CSDN:HDFS 高可用分布式环境搭建 首先,一定要先完成分布式环境搭建 并验证成功 然后在 no ...

  6. 攻城狮在路上(陆)-- hadoop分布式环境搭建(HA模式)

    一.环境说明: 操作系统:Centos6.5 Linux node1 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 ...

  7. Hadoop-04-HBase全然分布式环境搭建

    Hbase分布式具体安装步骤 Hadoop全然分布式环境已经搭建完毕(參见01_Hadoop全然分布式环境搭建). 注意:Hbase和Hadoop的版本号必须相应! 不然会出现各种问题! 这里选用的是 ...

  8. Hadoop-2.4.1完全分布式环境搭建

      Hadoop-2.4.1完全分布式环境搭建   Hadoop-2.4.1完全分布式环境搭建 一.配置步骤如下: 主机环境搭建,这里是使用了5台虚拟机,在ubuntu 13系统上进行搭建hadoop ...

  9. Hadoop2.7.3+Spark2.1.0 完全分布式环境 搭建全过程

    一.修改hosts文件 在主节点,就是第一台主机的命令行下; vim /etc/hosts 我的是三台云主机: 在原文件的基础上加上; ip1 master worker0 namenode ip2 ...

随机推荐

  1. PotPlayer播放百度云盘视频

    需要的工具 PotPlayer.油猴tampermonkey.坚果(这个不用下载,有个账号就行) 下载地址:百度网盘 步骤 安装油猴tampermonkey 拖拽Tampermonkey_4.14.c ...

  2. Java数组和Arrays 类

    1.创建数组的三种方式: ①动态初始化:数组的初始化和数组元素的赋值操作分开进行 dataType[ ] arrayRefVar = new dataType [ arraySize ] ; Emp ...

  3. 编程思想转换&体验Lambda的更优写法和Lambda标准格式

    编程思想转换做什么,而不是怎么做 我们真的希望创建一个匿名内部类对象吗?不,我们只是为了做这件事情而不得不创建一个对象. 我们真正希望做的事情是:将run方法体内的代码传递给Thread类知晓. 传递 ...

  4. MySQL--用通配符进行过滤(LIKE操作符)

    1.LIKE操作符 怎样搜索产品名中包含文本anvil的所有产品?用简单的比较操作符肯定不行,必须使用通配符.利用通配符可创建比较特定数据的搜索模式.在这个例子中,如果你想找出名称包含anvil的所有 ...

  5. SpringWeb 拦截器

    前言 spring拦截器能帮我们实现验证是否登陆.验签校验请求是否合法.预先设置数据等功能,那么该如何设置拦截器以及它的原理如何呢,下面将进行简单的介绍 1.设置 HandlerInterceptor ...

  6. Jmix- 业务系统高效开发的新方式

    企业在数字化转型的过程中,都面临将现有的业务流程进行"软件化"的过程.然而,在我们的印象中,通常会觉得针对业务系统的软件开发不是特别高效.这背后有很多原因,从开发角度看,有一个主要 ...

  7. springboot的@ConditionalOnClass注解

    大家好,我是"良工说技术". 今天给大家带来的是springboot中的@ConditionalOnClass注解的用法.上次的@ConditionalOnBean注解还记得吗? ...

  8. Java学习 (七)基础篇 变量

    变量 变量顾名思义,就是可以变化的量 Java是一种强类型语言,每个变量都必须声明其类型 Java变量是程序中最基本的存储单位,其要素包括变量名.变量类型和作用域 type varName [=val ...

  9. Spring的简单使用(1)

    一:IOC(控制反转):它是由spring容器进行对象的创建和依赖注入,程序员使用时直接取出即可 正转:例如: Student stu=new Student(): stu.setname(" ...

  10. 长篇图解java反射机制及其应用场景

    一.什么是java反射? 在java的面向对象编程过程中,通常我们需要先知道一个Class类,然后new 类名()方式来获取该类的对象.也就是说我们需要在写代码的时候(编译期或者编译期之前)就知道我们 ...