HDFS 分布式环境搭建
HDFS 分布式环境搭建
作者:Grey
原文地址:
准备四个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 分布式环境搭建的更多相关文章
- 【转】Hadoop HDFS分布式环境搭建
原文地址 http://blog.sina.com.cn/s/blog_7060fb5a0101cson.html Hadoop HDFS分布式环境搭建 最近选择给大家介绍Hadoop HDFS系统 ...
- Alluxio1.0.1最新版(Tachyon为其前身)介绍,+HDFS分布式环境搭建
Alluxio(之前名为Tachyon)是世界上第一个以内存为中心的虚拟的分布式存储系统.它统一了数据访问的方式,为上层计算框架和底层存储系统构建了桥梁. 应用只需要连接Alluxio即可访问存储在底 ...
- 大数据:Hadoop(JDK安装、HDFS伪分布式环境搭建、HDFS 的shell操作)
所有的内容都来源与 Hadoop 官方文档 一.Hadoop 伪分布式安装步骤 1)JDK安装 解压:tar -zxvf jdk-7u79-linux-x64.tar.gz -C ~/app 添加到系 ...
- HDFS 伪分布式环境搭建
HDFS 伪分布式环境搭建 作者:Grey 原文地址: 博客园:HDFS 伪分布式环境搭建 CSDN:HDFS 伪分布式环境搭建 相关软件版本 Hadoop 2.6.5 CentOS 7 Oracle ...
- HDFS 高可用分布式环境搭建
HDFS 高可用分布式环境搭建 作者:Grey 原文地址: 博客园:HDFS 高可用分布式环境搭建 CSDN:HDFS 高可用分布式环境搭建 首先,一定要先完成分布式环境搭建 并验证成功 然后在 no ...
- 攻城狮在路上(陆)-- 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 ...
- Hadoop-04-HBase全然分布式环境搭建
Hbase分布式具体安装步骤 Hadoop全然分布式环境已经搭建完毕(參见01_Hadoop全然分布式环境搭建). 注意:Hbase和Hadoop的版本号必须相应! 不然会出现各种问题! 这里选用的是 ...
- Hadoop-2.4.1完全分布式环境搭建
Hadoop-2.4.1完全分布式环境搭建 Hadoop-2.4.1完全分布式环境搭建 一.配置步骤如下: 主机环境搭建,这里是使用了5台虚拟机,在ubuntu 13系统上进行搭建hadoop ...
- Hadoop2.7.3+Spark2.1.0 完全分布式环境 搭建全过程
一.修改hosts文件 在主节点,就是第一台主机的命令行下; vim /etc/hosts 我的是三台云主机: 在原文件的基础上加上; ip1 master worker0 namenode ip2 ...
随机推荐
- PotPlayer播放百度云盘视频
需要的工具 PotPlayer.油猴tampermonkey.坚果(这个不用下载,有个账号就行) 下载地址:百度网盘 步骤 安装油猴tampermonkey 拖拽Tampermonkey_4.14.c ...
- Java数组和Arrays 类
1.创建数组的三种方式: ①动态初始化:数组的初始化和数组元素的赋值操作分开进行 dataType[ ] arrayRefVar = new dataType [ arraySize ] ; Emp ...
- 编程思想转换&体验Lambda的更优写法和Lambda标准格式
编程思想转换做什么,而不是怎么做 我们真的希望创建一个匿名内部类对象吗?不,我们只是为了做这件事情而不得不创建一个对象. 我们真正希望做的事情是:将run方法体内的代码传递给Thread类知晓. 传递 ...
- MySQL--用通配符进行过滤(LIKE操作符)
1.LIKE操作符 怎样搜索产品名中包含文本anvil的所有产品?用简单的比较操作符肯定不行,必须使用通配符.利用通配符可创建比较特定数据的搜索模式.在这个例子中,如果你想找出名称包含anvil的所有 ...
- SpringWeb 拦截器
前言 spring拦截器能帮我们实现验证是否登陆.验签校验请求是否合法.预先设置数据等功能,那么该如何设置拦截器以及它的原理如何呢,下面将进行简单的介绍 1.设置 HandlerInterceptor ...
- Jmix- 业务系统高效开发的新方式
企业在数字化转型的过程中,都面临将现有的业务流程进行"软件化"的过程.然而,在我们的印象中,通常会觉得针对业务系统的软件开发不是特别高效.这背后有很多原因,从开发角度看,有一个主要 ...
- springboot的@ConditionalOnClass注解
大家好,我是"良工说技术". 今天给大家带来的是springboot中的@ConditionalOnClass注解的用法.上次的@ConditionalOnBean注解还记得吗? ...
- Java学习 (七)基础篇 变量
变量 变量顾名思义,就是可以变化的量 Java是一种强类型语言,每个变量都必须声明其类型 Java变量是程序中最基本的存储单位,其要素包括变量名.变量类型和作用域 type varName [=val ...
- Spring的简单使用(1)
一:IOC(控制反转):它是由spring容器进行对象的创建和依赖注入,程序员使用时直接取出即可 正转:例如: Student stu=new Student(): stu.setname(" ...
- 长篇图解java反射机制及其应用场景
一.什么是java反射? 在java的面向对象编程过程中,通常我们需要先知道一个Class类,然后new 类名()方式来获取该类的对象.也就是说我们需要在写代码的时候(编译期或者编译期之前)就知道我们 ...