hadoop的分布式搭建

来源:互联网 发布:php数据类型几个字节 编辑:程序博客网 时间:2024/06/08 09:06

一.搭建环境准备工作:
(1)克隆虚拟机,达到3台机器,分布式的架构即可
(2)克隆完成后,需要修改IP、主机名、映射、网络eth1->eht0
(3)服务组件的规划
(4)为了不影响先有的集群目录,需要新建一个目录来搭建环境
(5)解压Hadoop 2.5.0到新建目录下
(6)配置JDK环境变量:
hadoop-env.sh、mapred-env.sh、yarn-env.sh
(7)配置服务组件属性:core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata-senior01.beifeng.com:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/app/hadoop-2.5.0/data/tmp</value>
</property>
(8)配置服务组件属性:hdfs-site.xml
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>bigdata-senior03.beifeng.com:50090</value>
</property>
(9)配置服务组件属性:slaves
bigdata-senior01.beifeng.com
bigdata-senior02.beifeng.com
bigdata-senior03.beifeng.com
(10)配置服务组件属性:yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata-senior02.beifeng.com</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>106800</value>
</property>
(11)配置服务组件属性:mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>bigdata-senior01.beifeng.com:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>bigdata-senior01.beifeng.com:19888</value>
</property>
(12)将配置文件分发到各个节点机器上去
$ scp -r hadoop-2.5.0/ bigdata-senior02.beifeng.com:/opt/app
注意:拷贝之前需要在对应的机器上建好对应的目录
(13)格式化namenode
$ bin/hdfs namenode -format
(14)启动HDFS服务进程:
01主机:
$ sbin/hadoop-daemon.sh start namenode
$ sbin/hadoop-daemon.sh start datanode
02、03其他节点:
$ sbin/hadoop-daemon.sh start datanode
03主机:
$ sbin/hadoop-daemon.sh start secondarynamenode
02主机:
$ sbin/yarn-daemon.sh start resourcemanager
$ sbin/yarn-daemon.sh start nodemanager
01、03其他节点:
$ sbin/yarn-daemon.sh start nodemanager
$ sbin/yarn-daemon.sh start nodemanager
01主机:
$ sbin/mr-jobhistory-daemon.sh start historyserver

二、配置SSH无秘钥登录
1、$ ssh-keygen -t rsa
2、$ ssh-copy-id bigdata-senior01.beifeng.com
$ ssh-copy-id bigdata-senior02.beifeng.com
$ ssh-copy-id bigdata-senior03.beifeng.com

三、时间同步
1、集群机器之间时间必须要同步
2、找一台机器作为“时间服务器”
3、集群中的其他机器以这台时间服务器为准
4、选择:bigdata-senior01.beifeng.com作为时间服务器
5、ntpdate-4.2.4p8-3.el6.centos.x86_64:直接同步某台机器
6、ntp-4.2.4p8-3.el6.centos.x86_64:作为时间服务器
7、$ sudo service ntpd status:查看ntp服务
8、$ sudo service ntpd start:启动ntp服务
9、$ sudo chkconfig ntpd on:设置开机启动服务
10、restrict 192.168.189.0 :去掉#注释,并且修改自己的网段
11、由于是内网不连接互联网,将其注释
#server 0.centos.pool.ntp.org
#server 1.centos.pool.ntp.org
#server 2.centos.pool.ntp.org
12、将#注释去掉
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
13、配置文件:$ sudo vi /etc/ntp.conf
14、配置完后需要重启服务:
$ sudo service ntpd restart
注意:重启后需要等待大约五分钟才能使用其他命令
15、制定一个定时任务,每十分钟执行一次
##sync time
0-59/10 * * * * /usr/sbin/ntpdate bigdata-senior01.beifeng.com
16、执行时间同步:
sudo /usr/sbin/ntpdate bigdata-senior01.beifeng.com
17、设置机器的时间和BIOS系统时间同步
$ sudo vi /etc/sysconfig/ntpd
添加:SYNC_HWCLOCK=yes