Hadoop2.7

学习大数据必先学习Hadoop,因为它是目前世界上最流行的分布式数据处理框架、Hadoop是一个用于分布式大数据处理的编程框架

一、Hadoop介绍

1、开源大数据框架
2、分布式计算的解决方案
3、Hadoop=HDFS(分布式文件系统)+MapReduce(分布式计算)



Hadoop的构造模块
NameNode

NameNode节点负责将一个文件分成若干文件块,并记录了HDFS文件系统中的文件块放了在哪些DataNode中(一个数据块被冗余地放到1个或多个DataNode节点中),一个集群中只有一个NameNode节点(Hadoop2.X中情况有所不同了),且该节点通常不再运行DataNode和TaskTracker守护进程。

DataNode

DataNode实际管理很多NameNode分配给它的很多数据块,当有文件块变动时会通知NameNode,同时也从NameNode接受指令。一个集群中有多个DataNode节点,DataNode之间也会保持联系,复制冗余文件块,这样当一个DataNode出现故障后不会影响到文件的完整性。


Secondary NameNode

SNN只与NameNode通信,定时获取HDFS元数据的快照,一个集群只有一个SNN,且SNN所在节点只运行SNN守护进程,不干其它的事情。当NameNode出现故障后,可以人工启用SNN作为NameNode。


JobTracker

JobTracker负责分配MapReduce任务给TaskTracker,负责监控任务的执行,如任务失败后重启任务。JobTracker守护进程运行在主节点上,通常该节点不运行DataNode和TaskTracker守护进程。


TaskTracker


TaskTracker负责完成JobTracker分配的任务并和JobTranker进行通信,回报情况。TaskTracker守护进程运行在多个子节点上

二:安装Hadoop

(1)准备工作

1、关闭防火墙

#关闭防火墙
service iptables stop

#永久关闭防火墙
chkconfig iptables off

#查看防火墙状态
service iptables status


2、修改hostname

vi /etc/sysconfig/network
----------------------------------
NETWORKING=yes
HOSTNAME=server1


3、修改IP

桥接模式--->网路连接选择正确的网卡
vi /etc/sysconfig/network-scripts/ifcfg-eth0
------------------------------------------------------------
DEVICE=eth0
TYPE=Ethernet #是否开机启用
BOOTPROTO=static #ip地址设置为静态
IPADDR=192.168.43.101
NETMASK=255.255.255.0
GETWAY=192.168.0.1
DNS1=8.8.8.8
------------------------------------------------------------
service network restart


4、安装配置JDK

a、解压JDK文件
-->tar -zxvf jdk-7u80-linux-x64.tar.gz
b、配置环境变量
-->Linux的环境变量文件是/etc/profile文件,直接在末尾追加以下变量即可
export JAVA_HOME=/soft/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
-->echo 'export PATH=$PATH:/usr/local/mysql/bin' >> /etc/profile
c、source /etc/profile :配置文件永久生效
d、使用java和javac命令测试
e、如果报错bad ELF interpreter: 没有那个文件或目录
执行:sudo yum install glibc.i686


5、配置SSH

1、添加局域网内的主机名
vi /etc/hosts

192.168.0.150 server1
192.168.0.151 server2
192.168.0.152 server3

2、在客户端主机中生成公/私钥对
ssh-keygen -t rsa
将客户端主机中的公钥分发给服务端主机 ssh-copy-id 服务端主机地址
在客户端主机上免密码登录至服务端
ssh 服务端主机地址

(2)安装Hadoop

1、解压文件
2、配置环境变量
3、修改配置文件
  core-site.xml

hadoop的全局配置
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://server1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/soft/hadoop/data</value>
</property>
</configuration>


mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>


hadoop-env.sh

指定JDK路径:
export
JAVA_HOME=/soft/jdk1.8
export HADOOP_COMMON_LIB_NATIVE_DIR=/soft/hadoop/lib/native
export HADOOP_OPTS="-Djava.library.path=soft/hadoop/lib/native -Djava.net.preferIPv4Stack=true"

--这块是添加hbase
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/soft/hbase/lib/*

路径都要是自己的路径


hdfs-site.xml(可以不配)
slaves

添加从节点的主机名或地址
server2
server3


yarn-env.sh(可以不配)
yarn-site.xml

<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>server1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>


4、把已经配置好的hadoop复制到另外两台机器上
4、格式化这个hdfs
5、启动服务
warning:You have loaded library /soft/hadoop/lib/native/libhadoop.so.1.0.0
安装GLIBC_2.14或更高版本即可
6、测试web管理页http://server1:50070
7、查看集群状态:hdfs dfsadmin -report
如果无法查看集群信息、报错无法连接9000
8、运行hadoop自带的单词统计案例
1、先上传文件 hadoop fs -put 文件路径 服务器文件路径
2、运行程序开始计算
hadoop jar
~/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar wordcount /input2服务器文件路径/ /输出结果文件路径/

3、查看结果:hadoop fs -cat 程序运行的输出结果

猜你喜欢

转载自www.cnblogs.com/eyesheart/p/10987073.html