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 ...
随机推荐
- leetcode二叉树题目总结
leetcode二叉树题目总结 题目链接:https://leetcode-cn.com/leetbook/detail/data-structure-binary-tree/ 前序遍历(NLR) p ...
- Docker 与 K8S学习笔记(二十五)—— Pod的各种调度策略(上)
上一篇,我们学习了各种工作负载的使用,工作负载它会自动帮我们完成Pod的调度和部署,但有时我们需要自己定义Pod的调度策略,这个时候该怎么办呢?今天我们就来看一下如何定义Pod调度策略. 一.Node ...
- 解决github.com 的响应时间过长以及hosts配置不能保存的问题
github.com 的响应时间过长 1 获取github可以使用的DNS域名 DNS查询 选择TTL值最小的 2 修改hosts配置 打开之后在最后加上如下内容,保存即可 3 出现hosts不能保存 ...
- identityserver4 (ids4)中如何获取refresh_token刷新令牌token 使用offline_access作用域
ids4默认自带的api接口/api/connect/token 调用这个接口的时候,需要在body里面的 x-www-form-urlencoded模式下写 { grant_type: &q ...
- go-zero微服务实战系列(九、极致优化秒杀性能)
上一篇文章中引入了消息队列对秒杀流量做削峰的处理,我们使用的是Kafka,看起来似乎工作的不错,但其实还是有很多隐患存在,如果这些隐患不优化处理掉,那么秒杀抢购活动开始后可能会出现消息堆积.消费延迟. ...
- Spring框架系列(13) - SpringMVC实现原理之DispatcherServlet的初始化过程
前文我们有了IOC的源码基础以及SpringMVC的基础,我们便可以进一步深入理解SpringMVC主要实现原理,包含DispatcherServlet的初始化过程和DispatcherServlet ...
- 写出个灵活的系统竟然可以如此简单!小白也能写出高级的Java业务!
一 最近正好公司里有个需求,一个短信业务接了多个第三方供应商,某些业务需要查询第三方供应商剩余的短信包数量去选择剩余量最多的渠道去批量发送.有些业务是指定了某个短信供应商,有些场景需要根据业务的值去动 ...
- Ros的通信第一课
//////////////////////////Ros创建发布者talker//////////////////////////////////////////////////////////// ...
- JUC源码学习笔记1——AQS和ReentrantLock
笔记主要参考<Java并发编程的艺术>并且基于JDK1.8的源码进行的刨析,此篇只分析独占模式,后续在ReentrantReadWriteLock和 CountDownLatch中 会重点 ...
- Dubbo源码(四) - 服务引用(消费者)
前言 本文基于Dubbo2.6.x版本,中文注释版源码已上传github:xiaoguyu/dubbo 上一篇文章,讲了Dubbo的服务导出: Dubbo源码(三) - 服务导出(生产者) 本文,咱们 ...