hadoopHA
数据类型
结构化数据RDMS
非结构化数据借助算法goole pagerank
半结构算法xmljson通过标签进行。
一般情况下可以通过并行处理机制提高处理数据效率但是对于海量数据的加载是很慢的所以需要使用分布式文件系统只需要从本地磁盘上加载就好了所以速度很快。
hadoop集群mapreduce框架其函数要自己写。
在hadoopHA 集群中,通常有两台不同的机器充当 NameNode。在任何时间,只有一台机器处于Active 状态;另一台机器是处于 Standby 状态。
在本片文档中主要体现两个高可用
hdfs和yarn
hdfs是
在本文档中
server1server5作为NN和RMserver2,server3,server4作为DNZK和DN.
本篇文档从zookeeper开始关于基础配置请参考http://12237658.blog.51cto.com
本实验出现的错误事项
1、内存划分要足够本次一共启用5个虚拟机server1和server5要求大于1Gserver2,3,4不能小于768.
2、再格式化过程中第一次格式化需要先启动日志进程sbin/hadoop.daem.sh start journalnode
[hadoop@server2/3/4 hadoop]$ sbin/hadoop-daemon.sh start journalnode
3、再启动过程中,zookeeper会发生服务提不起来的情况在此情况下一般是myid的错误或者端口被占用
4、在启动hdfs服务时可能出现namenode 或datanode不出现的情况此时一般要查看日志信息根据日志信息作出更改
5、服务尽量不要多次重复充起因为会导致进程混乱例如zookeeper的进程号和其文件中进程号不一致。[hadoop@server3 zookeeper]$ cat zookeeper_server.pid 1236
zookeeper的启动
下载tar包解压到hadoop的家目录
[hadoop@server3 ~]$ ls
hadoop java zookeeper zookeeper-3.4.9.tar.gz
hadoop-2.7.3 jdk1.7.0_79 zookeeper-3.4.9
修改配置文件
[hadoop@server3 conf]$ cat zoo.cfg
# The number of milliseconds of each tick
tickTime=2000//ZK中的一个时间单元zk中所有时间都是以这个时间为基础以毫秒计用来调节心跳和超时。
# The number of ticks that the initial
# synchronization phase can take
initLimit=10//Follower 在启动过程中,会从 Leader 同步所有最新数据,然后确定自己能够对外服务的起始状态。
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5 //在运行过程中,Leader 负责与 ZK 集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/tmp/zookeeper //存储快照文件 snapshot 的目录。默认情况下,事务日志也会存储在这里。建议同时配置参数 dataLogDir, 事务日志的写性能直接影响 zk 性能。在生产环境中该目录应该为一个稳定的目录而不应该是在tmp下因为tmp在一定时间后会被清除。
# the port at which the clients will connect
clientPort=2181 //客户端连接 server 的端口,即对外服务端口
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=172.25.33.2:2888:3888
server.2=172.25.33.3:2888:3888
server.3=172.25.33.4:2888:3888
server的编号应该和myid的数字一致myid在dataDir下。
echo “1”> /tmp/zookeeper/myid ....
启动zookeeper//2,3,4启动。
[hadoop@server3 zookeeper]$ echo "2" > /tmp/zookeeper/myid
[hadoop@server3 zookeeper]$ bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /home/hadoop/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[hadoop@server3 zookeeper]$ bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/hadoop/zookeeper/bin/../conf/zoo.cfg
Mode: follower
配置hadoop的hdfs
cat core-site.xml