随着云时代的来临,大数据(Big Data)也吸引了越来越多的关注。分析师团队认为,大数据(Big data)通常用来形容一个公司创造的大量非结构化数据和半结构化数据,这些数据在下载到关系型数据库用于分析时会花费过多时间和金钱。大数据分析常和云计算联系到一起,因为实时的大型数据集分析需要像MapReduce一样的框架来向数十、数百或甚至数千的电脑分配工作。
大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理(MPP)数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。
分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统的设计基于客户机/服务器模式。一个典型的网络可能包括多个供多用户访问的服务器。另外,对等特性允许一些系统扮演客户机和服务器的双重角色。
一、环境搭建
1、搭建完全分布式之前保证要有至少三台虚拟机来执行操作,网络选用的是桥接模式。
2、将需要的jdk和Hadoop安装包传到根目录下的apps位置,解压
3、配置主机名和虚拟机存在的IP地址
主机名 /etc/sysconfig/network
修改主机名 /etc/hosts
配置IP地址 /etc/sysconfig/network-scripts/ifcfg-eth0 几个虚拟机的IP地址都需要这样进行配置
4、、配置jdk和Hadoop运行的环境
vi ~/.bash_profile 进入环境配置的界面
配置完需要source ~/.bash_profile 相当于保存文件修改
查看是否配置成功 java –version java hadoop version hadoop
关闭几个虚拟机的防火墙 service iptables stop
5、配置Hadoop的配置文件
core-site.xml、hdfs-site.xml、mapred-site.xml.template、yarn-site.xml
①配置core-site.xml 配置文件
< property >
<name>fs.defaultFS</name>
<value>hdfs://Hadoop-1:9000</value>
</property>
Hadoop-1 主机的主机名称,需要跟hosts文件中的主机名字对应
②配置hdfs-site.xml 配置文件
<property>
<name>hdfs.replication.dir</name>
<value>3</value>
</property>
Value 默认的保存个数为3
< property >
<name>dfs.namenode.name.dir</name>
<value>/app/Hadoop/dfs/name</value>
</property>
< property >
<name>dfs.datanode.data.dir</name>
<value>/app/Hadoop/dfs/data</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>Hadoop-2:50090</value>
</property>
Secondary 保存namenode结点的信息,保存镜像,因为是对namenode结点的备份信息,所以value指定主机的时一般不指定和namenode在同一台主机上
<property>
<name>dfs.checkpoint.dir</name>
<value>/app/Hadoop/dfs/namesecondary</value>
</property>
与上面的secondary一起发挥作用
③配置mapred-site.xml.template 配置文件
<property>
<name>mapredurce.framwork.dir</name>
<value>yarn</value>
</property>
④配置yarn-site.xml 配置文件
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop-1</value>
</property>
Resourcemanager属于资源管理者,和namenode一样,所有指向的应该是namenode结点所在的位置
配置奴隶文件slaves ,我们知道数据存放在DataNode结点,也就是说slaves里面出现的一定是包含DataNode结点的那一台或者几台虚拟机。
6、①格式化namenode结点 Hadoop namenode –format
②返回目录查看是否产生了namenode结点的工作目录,查看日志信息logs
③查看是否能够正常启动结点,查看进程jps,启动/关闭所有结点start/stop –all.sh
7、免密登陆ssh
输入ssh-keygen 生成秘钥对,默认使用rsa算法
输入ls /root/.ssh/ 产生 秘钥 公钥
将获得的公钥还有秘钥通过ssh命令发送给其它的虚拟主机
ssh-copy-id -i IP地址例如 192.168.1.247
检查是否还需要密码登录别的虚拟机
ssh 192.168.1.247
8、将完全分布式所需要的jdk、hosts和Hadoop发送到其它虚拟机
scp –r /apps/jdk1.7.0_25 root@192.168.1.247:/apps/jdk1.7.0_25
scp –r /apps/Hadoop-2.6.4 root@192.168.1.247:/apps/hadoop-2.6.4
scp –r /etc/hosts root@192.168.1.247:/etc/hosts
可以将配置好的hosts发送到各个虚拟机的hosts中,可以避免错误,主机中hosts里想要发送的包括三台虚拟机的IP地址和主机名
9、更改各个虚拟机的core-site.xml指定自己本机的本机名
关闭防火墙命令 service iptables stop
关闭所有防火墙 chkconfig iptables off
启动结点之前,关闭防火墙,这样出现在datanode结点的data目录才不至于是个假目录。
启动进程 start –all.sh