hadoop完全分布式的搭建
2020-07-13 05:53
239 查看
完全分布式就是克隆三台虚拟机,用来近似模拟生产环境下各进程的分布与机器运行情况。
集群部署规划:
准备:
三台可以联网的虚拟机(ping www.baidu.com 可以通),为了便于阅读以下内容, 约定主机名分别是hadoop102、hadoop103、hadoop104
编写集群分发脚本xsync
scp: secure copy 服务器间数据的安全拷贝 示例:scp -r /opt/module/* root@hadoop102:/opt/module rsync: rsync远程同步工具,主要用于备份和镜像。 具有速度快、避免复制相同内容和支持符号链接的优点 rsync和scp区别: 用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。 scp是把所有文件都复制过去。 参考脚本如下:(将文件分别分发到103与104上)
#!/bin/bash #1 获取输入参数个数,如果没有参数,直接退出 pcount=$# if((pcount==0)); then echo no args; exit; fi #2 获取文件名称 p1=$1 fname=`basename $p1` echo fname=$fname #3 获取上级目录到绝对路径 pdir=`cd -P $(dirname $p1); pwd` echo pdir=$pdir #4 获取当前用户名称 user=`whoami` #5 循环 for((host=103; host<105; host++)); do echo --------------------- hadoop$host ---------------- rsync -rvl $pdir/$fname $user@hadoop$host:$pdir done
SSH无密登录配置
生成一对秘钥:ssh-keygen -t rsa 公钥的分发:ssh-copy-id hadoop103 注意自身也要保证可以无密登录 最后登录试一下,如下图所示:(如在hadoop102,可以ssh hadoop103)
配置集群
(1) 核心配置文件 vim core-site.xml <!-- 指定HDFS中NameNode的地址,102节点 --> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop102:9000</value> </property> <!-- 指定hadoop运行时产生文件的存储目录 --> <property> <name>hadoop.tmp.dir</name> <value>/opt/module/hadoop-2.7.2/data/tmp</value> </property> (2) hdfs配置文件 vim hadoop-env.sh export JAVA_HOME=/opt/module/jdk1.8.0_171 vim hdfs-site.xml <!-- 文件副本数,3份 --> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>hadoop104:50090</value> </property> vim slaves <!-- 指定集群节点的域名 --> hadoop102 hadoop103 hadoop104 (3) yarn配置文件 vim yarn-env.sh export JAVA_HOME=/opt/module/jdk1.8.0_171 vim yarn-site.xml <!-- reducer获取数据的方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 指定YARN的ResourceManager的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop103</value> </property> (4) mapreduce配置文件 vim mapred-env.sh export JAVA_HOME=/opt/module/jdk1.8.0_171 vim mapred-site.xml <!-- 指定mr运行在yarn上 --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
在集群上分发配置好的Hadoop配置文件
分发后最好自己检查下是否分发成功。
比如slaves文件开始写的local本地,看是否改成
hadoop102 hadoop103 hadoop104
启动集群
如果集群是第一次启动,需要格式化NameNode(注意删除data/ logs/两个文件夹)
[root@hadoop102 hadoop-2.7.2]$ bin/hdfs namenode -format
启动hdfs: sbin/start-dfs.sh
注意:之前配置文件已经设定好,只能在hadoop102上运行此命令
与yarn类似,yarn设定在hadoop103上,启动yarn的命令只能在103运行
启动yarn:sbin/start-yarn.sh
注意:NameNode和ResourceManger如果不是同一台机器, 不能在NameNode 上启动 yarn, 应该在ResouceManager所在的机器上启动yarn。
对于集群的启动与停止,常用群起脚本
配置时间同步实操:
- 时间服务器配置(必须root用户)
(1)检查ntp是否安装
[root@hadoop102 桌面]# rpm -qa|grep ntp
ntp-4.2.6p5-10.el6.centos.x86_64
fontpackages-filesystem-1.41-1.1.el6.noarch
ntpdate-4.2.6p5-10.el6.centos.x86_64
(2)修改ntp配置文件
[root@hadoop102 桌面]# vi /etc/ntp.conf
修改内容如下
a)修改1(授权192.168.1.0网段上的所有机器可以从这台机器上查询和同步时间)
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap为
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
b)修改2(集群在局域网中,不使用其他的网络时间)
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst为
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
c)添加3(当该节点丢失网络连接,依然可以作为时间服务器为集群中的其他节点提供时间同步)
server 127.127.1.0
fudge 127.127.1.0 stratum 10
(3)修改/etc/sysconfig/ntpd 文件
[root@hadoop102 桌面]# vim /etc/sysconfig/ntpd
增加内容如下(让硬件时间与系统时间一起同步)
SYNC_HWCLOCK=yes
(4)重新启动ntpd
[root@hadoop102 桌面]# service ntpd status
ntpd 已停
[root@hadoop102 桌面]# service ntpd start
正在启动 ntpd: [确定]
(5)执行:
[root@hadoop102 桌面]# chkconfig ntpd on - 其他机器配置(必须root用户)
(1)在其他机器配置2分钟与时间服务器同步一次
[root@hadoop103 hadoop-2.7.2]# crontab -e
编写脚本(每两分钟与hadoop102同步一次时间)
*/2 * * * * /usr/sbin/ntpdate hadoop102
(2)修改任意机器时间
[root@hadoop103 hadoop]# date -s “2017-9-11 11:11:11”
(3)2分钟后查看机器是否与时间服务器同步
[root@hadoop103 hadoop]# date
小技巧:可以使用命令一键全发,免得切换耽误时间
相关文章推荐
- hadoop学习笔记:从零开始搭建hadoop集群(完全分布式)
- Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程
- hadoop完全分布式集群搭建全部流程之四:ssh和脚本补充
- Centos7之Hadoop完全分布式集群搭建和配置
- Hadoop2.7.3+Spark2.1.0 完全分布式环境 搭建全过程
- Hadoop-2.6.0完全分布式搭建
- 搭建完全分布式Hadoop(二)
- Hadoop2.7.2 Centos 完全分布式集群环境搭建 (2) - Hadoop安装与配置(完全分布式)
- hadoop2.4.1完全分布式搭建
- ubuntu14-Hadoop2.7.2完全分布式集群搭建操作时遇到的错误
- Hadoop、Hbase完全分布式搭建 推荐
- Hadoop完全分布式搭建
- Ubuntu中搭建Hadoop2.5.2完全分布式系统(二)
- 基于hadoop+nutch+solr的搜索引擎环境搭载<一>hadoop完全分布式环境搭建
- [大数据]-hadoop2.8和spark2.1完全分布式搭建
- 学习记录--颤抖吧,hadoop(五)---搭建完全分布式hadoop集群(2)
- Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程~(心血之作啊~~)
- hadoop2.7.1在vmware上3台centos7虚拟机上的完全分布式集群搭建
- CentOS7搭建Hadoop2.6完全分布式集群环境
- Hadoop 2.4.0完全分布式平台搭建、配置、安装