幸运飞艇开奖结果

hadoop是什么?
它是一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,可以实现在大量计算机组成的集群中对海量数据进行分布式计算。其中软件最核心设计就是:HDFS和MapReduce,其中HDFS提供了海量数据的存储,而MapReduce提供了对数据的计算。目前hadoop已经成为许多程序员的一项重要技能,通常适合于大规模分布式数据处理。
根据Apache软件组织的介绍,apache hadoop项目是开发一款可靠的、可扩展性的、分布式计算的开源软件,它是基于Google的MapReduce system开发的一个开源版本,拥有以下6项功能:一是Hadoop是一个开源的框架;二是Hadoop能够进行大规模数据集地分布式处理;三是Hadoop能够用计算机集群存储海量数据;四是Hadoop可以从单一服务器扩展到成千上万的服务器,这些服务都能够提供本地化的存储和计算;五是Hadoop具有能够检测和处理应用层错误的能力;六是Hadoop包括Hadoop common/HDFS/Hadoop YARN/Hadoop MapReduce四个模块,每个模块负责各自的事务。

主要特色

1、扩容能力(Scalable):能可靠地(reliably)存储和处理千兆字节(PB)数据。
2、成本低(Economical):可以通过普通机器组成的服务器群来分发以及处理数据。这些服务器群总计可达数千个节点。
3、高效率(Efficient):通过分发数据,hadoop可以在数据所在的节点上并行地(parallel)处理它们,这使得处理非常的快速。
4、可靠性(Reliable):hadoop能自动地维护数据的多份复制,并且在任务失败后能自动地重新部署(redeploy)计算任务。

功能介绍

1、hadoop实现了一个分布式文件系统(HadoopDistributedFileSystem),简称HDFS。
HDFS有着高容错性(fault-tolerent)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(highthroughput)来访问应用程序的数据,适合那些有着超大数据集(largedataset)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streamingaccess)文件系统中的数据。
2、Hadoop还实现了MapReduce分布式计算模型。
MapReduce将应用程序的工作分解成很多小的工作小块(smallblocksofwork)。HDFS为了做到可靠性(reliability)创建了多份数据块(datablocks)的复制(replicas),并将它们放置在服务器群的计算节点中(computenodes),MapReduce就可以在它们所在的节点上处理这些数据了。
如下图所示:

3、HadoopAPI被分成(divideinto)如下几种主要的包(package)
org.apache.hadoop.conf定义了系统参数的配置文件处理API。
org.apache.hadoop.fs定义了抽象的文件系统API。
org.apache.hadoop.dfsHadoop分布式文件系统(HDFS)模块的实现。
org.apache.hadoop.io定义了通用的I/OAPI,用于针对网络,数据库,文件等数据对象做读写操作。
org.apache.hadoop.ipc用于网络服务端和客户端的工具,封装了网络异步I/O的基础模块。
org.apache.hadoop.mapredHadoop分布式计算系统(MapReduce)模块的实现,包括任务的分发调度等。
org.apache.hadoop.metrics定义了用于性能统计信息的API,主要用于mapred和dfs模块。
org.apache.hadoop.record定义了针对记录的I/OAPI类以及一个记录描述语言翻译器,用于简化将记录序列化成语言中性的格式(language-neutralmanner)。
org.apache.hadoop.tools定义了一些通用的工具。
org.apache.hadoop.util定义了一些公用的API。

CentOS安装和配置Hadoop2.2.0

Hadoop2.2.0的部署
机器环境:
操作系统:CentOS 6.4 64位系统
Hadoop版本:hadoop-2.2.0,在CentOS下自行编译后的64位版本。
操作步骤:
1.假设共四台机器,每台机器的用户名均设为myhadoop(为了安装配置的方便,另外也是为了权限问题)
机器名 IP地址 分配
hadoop1 10.172.169.191 namenode,ResourceManager
hadoop2 10.172.169.192 datanode,NodeManager
hadoop3 10.172.169.193 datanode,NodeManager
hadoop4 10.172.169.194 datanode,NodeManager
2.每台机器均安装好javajdk并配置好相应的环境变量。要求每台机器的安装路径以及java环境变量设置一致。
3.关闭防火墙
切换到root帐户
开启:chkconfigiptables on
关闭:chkconfigiptables off
重启后永久生效
4.每台都配置/etc/host文件
在root账户下,打开/etc/host文件,添加IP地址解析
hadoop1 10.172.169.191
hadoop2 10.172.169.192
hadoop3 10.172.169.193
hadoop4 10.172.169.194
5.配置ssh无密码登录
(1).在namenode机器上
cd /home/myhadoop
ssh-keygen -t rsa
一路回车
(2).导入公钥到本机认证文件
cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
(3).导入公钥到其他datanode节点认证文件
scp ~/.ssh/authorized_keys myhadoop@10.172.169.192:/home/myhadoop/.ssh/authorized_keys
scp ~/.ssh/authorized_keys  myhadoop@10.172.169.193:/home/myhadoop/.ssh/authorized_keys
scp ~/.ssh/authorized_keys  myhadoop@10.172.169.194:/home/myhadoop/.ssh/authorized_keys
(4).修改所有机器上的文件权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
(5).测试是否可以ssh无密码登录。
如果namenode可以无密码登录到各个datanode机器,则说明配置成功。
6.安装Hadoop2.2.0
(1)解压hadoop-2.2.0.jar,到/home/myhadoop/目录下。
(2)修改配置文件。
打开hadoop-2.2.0/etc/hadoop,修改里面的配置文件
(2.1)hadoop-env.sh
找到JAVA_HOME,把路径改为实际地址
(2.2)yarn-env.sh
找到JAVA_HOME,把路径改为实际地址
(2.3)slave
配置所有datanode节点,示例目前如下:
hadoop2
hadoop3
hadoop4
(2.4) core-site.xml


fs.defaultFS
hdfs://hadoop1:9000


io.file.buffer.size
131072


hadoop.tmp.dir
/home/myhadoop/hadoop-2.2.0/mytmp
A base for other temporarydirectories.


hadoop.proxyuser.root.hosts
hadoop1


hadoop.proxyuser.root.groups
*


(2.5)hdfs-site.xml


dfs.namenode.name.dir
/home/myhadoop/name
true


dfs.datanode.data.dir
/home/myhadoop/data
true


dfs.replication
3


dfs.permissions
false


(2.6)mapred-site.xml


mapreduce.framework.name
yarn


mapreduce.jobhistory.address
hadoop1:10020


mapreduce.jobhistory.webapp.address
hadoop1:19888


mapreduce.jobhistory.intermediate-done-dir
/mr-history/tmp


mapreduce.jobhistory.done-dir
/mr-history/done


(2.7)yarn-site.xml


yarn.resourcemanager.address
hadoop1:18040


yarn.resourcemanager.scheduler.address
hadoop1:18030


yarn.resourcemanager.resource-tracker.address
hadoop1:18025


yarn.resourcemanager.admin.address
hadoop1:18041


yarn.resourcemanager.webapp.address
hadoop1:8088


yarn.nodemanager.local-dirs
/home/myhadoop/mynode/my


yarn.nodemanager.log-dirs
/home/myhadoop/mynode/logs


yarn.nodemanager.log.retain-seconds
10800


yarn.nodemanager.remote-app-log-dir
/logs


yarn.nodemanager.remote-app-log-dir-suffix
logs


yarn.log-aggregation.retain-seconds
-1


yarn.log-aggregation.retain-check-interval-seconds
-1


yarn.nodemanager.aux-services
mapreduce_shuffle


(3)将上述文件配置好后,将hadoop-2.2.0文件复制到其余datanode机器上的相同路径下。
(4)修改/etc/profile文件
切换root用户
找到export PATH USERLOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL,然后在其下添加配置路径:
#hadoop variable settings
export HADOOP_HOME=/home/myhadoop/hadoop-2.2.0
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/lib
配置完成后需要重启电脑
7.hadoop的启动与关闭
(1)hadoop namenode的初始化,只需要第一次的时候初始化,之后就不需要了
cd /home/myhadoop/hadoop-2.2.0/bin
hdfs namenode -format
启动:在namenode机器上,进入/home/myhadoop/sbin
start-dfs.sh
start-yarn.sh
以上两个脚本可用start-all.sh代替。
mr-jobhistory-daemon.sh start historyserver
(3)关闭
stop-all.sh
mr-jobhistory-daemon.sh stop historyserver
8.web接口地址
启动hadoop后,在浏览器中输入地址查看
http://hadoop1:50070
http://hadoop1:8088
http://hadoop1:19888

Hadoop使用常见问题以及解决方法

1):Shuffle Error: Exceeded MAX_FAILED_UNIQUE_FETCHES; bailing-out
Answer:
程序里面需要打开多个文件,进行分析,系统一般默认数量是1024,(用ulimit -a可以看到)对于正常使用是够了,但是对于程序来讲,就太少了。
修改办法:
修改2个文件。
/etc/security/limits.conf
vi /etc/security/limits.conf
加上:
* soft nofile 102400
* hard nofile 409600
$cd /etc/pam.d/
$sudo vi login
添加 session required /lib/security/pam_limits.so
2):Too many fetch-failures
Answer:
出现这个问题主要是结点间的连通不够全面。
1) 检查 、/etc/hosts
   要求本机ip 对应 服务器名
   要求要包含所有的服务器ip + 服务器名
2) 检查 .ssh/authorized_keys
   要求包含所有服务器(包括其自身)的public key
3):处理速度特别的慢 出现map很快 但是reduce很慢 而且反复出现 reduce=0%
Answer:
结合第二点,然后
修改 conf/hadoop-env.sh 中的export HADOOP_HEAPSIZE=4000
4):java.io.IOException: Could not obtain block: blk_194219614024901469_1100 file=/user/hive/warehouse/src_20090724_log/src_20090724_log
出现这种情况大多是结点断了,没有连接上。
5):java.lang.OutOfMemoryError: Java heap space
出现这种异常,明显是jvm内存不够得原因,要修改所有的datanode的jvm内存大小。
Java -Xms1024m -Xmx4096m
一般jvm的最大内存使用应该为总内存大小的一半,我们使用的8G内存,所以设置为4096m,这一值可能依旧不是最优的值。
6):Hadoop添加节点的方法
自己实际添加节点过程:
1. 先在slave上配置好环境,包括ssh,jdk,相关config,lib,bin等的拷贝;
2. 将新的datanode的host加到集群namenode及其他datanode中去;
3. 将新的datanode的ip加到master的conf/slaves中;
4. 重启cluster,在cluster中看到新的datanode节点;
5. 运行bin/start-balancer.sh,这个会很耗时间
备注:
1. 如果不balance,那么cluster会把新的数据都存放在新的node上,这样会降低mr的工作效率;
2. 也可调用bin/start-balancer.sh 命令执行,也可加参数 -threshold 5
   threshold 是平衡阈值,默认是10%,值越低各节点越平衡,但消耗时间也更长。
3. balancer也可以在有mr job的cluster上运行,默认dfs.balance.bandwidthPerSec很低,为1M/s。在没有mr job时,可以提高该设置加快负载均衡时间。
其他备注:
1. 必须确保slave的firewall已关闭;
2. 确保新的slave的ip已经添加到master及其他slaves的/etc/hosts中,反之也要将master及其他slave的ip添加到新的slave的/etc/hosts中
7): Namenode in safe mode
解决方法
bin/hadoop dfsadmin -safemode leave
8):java.net.NoRouteToHostException: No route to host
解决方法:
sudo /etc/init.d/iptables stop
收起介绍展开介绍
  • eclipse插件
更多 (11个) >>eclipse插件eclipse插件对于eclipse(Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台)来说是必不可少的,目前最热门的、最流行的有pydev——pydev这个插件能够让用户利用Eclipse进行Python、Jython以及Iron Python开发,使Eclipse成为一流的Python IDE(集成开发环境);phpeclipse——支持PHP脚本开发的优秀工具;eclipse jadclipse插件——对java进行反编译,可以帮助用户轻松查看.class文件,还可以对单个.class文件反编译,以及对jar一次性全部反编译。多多小编致力于满足各位小伙伴的需求,eclipse插件大全奉上,如果需要资源,小伙伴们别忘了下载体验哦~
  • 下载地址
apache hadoop v2.7.0官方最新版
  • 需下载高速下载器:
  • 普通下载地址

有问题?

发表评论

您的评论需要经过审核才能显示!