千家信息网

Hadoop2.2.0集群在RHEL6.2下如何安装

发表于:2025-02-22 作者:千家信息网编辑
千家信息网最后更新 2025年02月22日,小编给大家分享一下Hadoop2.2.0集群在RHEL6.2下如何安装,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!本次集
千家信息网最后更新 2025年02月22日Hadoop2.2.0集群在RHEL6.2下如何安装

小编给大家分享一下Hadoop2.2.0集群在RHEL6.2下如何安装,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!


本次集群搭建过程中,主要遇到两个问题:
(1)第一个是:DataNode启动了(使用jps可以看到进程),但是在NameNode中看不到(192.168.1.10:50070),花费大约3个小时时间查问题,根据logs目录的日志"org.apache.hadoop.ipc.Client: Retrying connect to server: master/192.168.1.10:9000",到百度搜索,有人遇到说是防火墙没关的问题,但是我的防火墙都关了。最后多种方式尝试,原来是/etc/hosts中,对于master除了对应到192.168.1.10之外,我还对应到了127.0.0.1,去掉之后,重新启动,就都好了。
(2)第二个是:常见问题,多次format namecode造成的DataNode不启动,删除/home/hadoop/dfs/data/current/VERSION就好了。
(3)多看日志,总能解决

Hadoop是什么
Hadoop是Lucene创始人Doug Cutting,根据Google的相关内容山寨出来的分布式文件系统和对海量数据进行分析计算的基础框架系统,其中包含MapReduce程序,hdfs系统等。

名词解释
(1)Hadoop:Apache开源的分布式框架。
(2)HDSF:Hadoop的分布式文件系统。

(3)NameNode:Hadoop HDFS元数据主节点服务器,负责保存DataNode 文件存储元数据信息,这个服务器是单点的。

(4)JobTracker:Hadoop的Map/Reduce调度器,负责与TaskTracker通信分配计算任务并跟踪任务进度,这个服务器也是单点的。
(5)DataNode:Hadoop数据节点,负责存储数据。
(6)TaskTracker:Hadoop调度程序,负责Map,Reduce任务的启动和执行。

Hadoop1的集群部署结构图

20140412225748359.jpg (50.6 KB, 下载次数: 0)

下载附件 保存到相册

6 天前 上传




Hadoop2的Yarn架构图

20140413085324421.jpg (183.81 KB, 下载次数: 0)

下载附件 保存到相册

6 天前 上传




安装RHEL环境
使用VMWare WorkStation安装虚拟机:
http://blog.csdn.net/puma_dong/article/details/17889593#t0
http://blog.csdn.net/puma_dong/article/details/17889593#t1

安装Java环境:
http://blog.csdn.net/puma_dong/article/details/17889593#t10

安装完毕之后,4台虚拟机IP及机器名称如下:
192.168.1.10 master
192.168.1.11 node1
192.168.1.12 node2
192.168.1.13 node3
可以通过vim /etc/hosts查看。注意:在/etc/hosts中,不要把机器名字,同时对应到127.0.0.1这个地址,会导致数据节点连接不上命名节点,报错如下:

org.apache.hadoop.ipc.Client: Retrying connect to server: master/192.168.1.10:9000


安装完毕之后,Java位置如下:/usr/jdk1.6.0_45 ,可以通过echo $JAVA_HOME查看。

配置Hadoop环境
创建Hadoop账号
(1)创建Hadoop用户组:groupadd hadoop
(2)创建Hadoop用户:useradd hadoop -g hadoop
(3)设置Hadoop用户密码:passwd 密码hadoop
(4)给hadoop账户增加sudo权限: vim /etc/sudoers ,增加内容:hduser ALL=(ALL) ALL
注意:以上对于每一台机器都要执行

创建master到slave的无密码登录
(1)切换到Hadoop 用户下:su hadoop cd /home/hadoop/
(2)生成公钥和私钥:ssh-keygen -q -t rsa -N "" -f /home/hadoop/.ssh/id_rsa
(3)查看密钥内容:cd /home/hadoop/.ssh cat id_rsa.pub
(4)复制id_rsa.pub公钥到 authorized_keys 文件:cat id_rsa.pub > authorized_keys
(5)修改master公钥权限:chmod 644 /home/hadoop/.ssh/authorized_keys
(6)把 master 机器上的 authorized_keys 文件 copy 到 node1 节点上:
scp /home/hadoop/.ssh/authorized_keys node1:/home/hadoop/.ssh/
如果node1/node2/node3机器上没有.ssh目录,则创建,并chmod 700 /home/hadoop/.ssh

安装Hadoop
安装目录
Hadoop安装目录:/home/hadoop/hadoop-2.2.0
文件目录:/home/hadoop/dfs/name ,/home/hadoop/dfs/data ,/home/hadoop/tmp

安装步骤
注意:以下步骤使用hadoop账号操作。

(1)转到 home/hadoop目录:cd /home/hadoop
(2)下载hadoop:wget http://mirror.esocc.com/apache/h ... hadoop-2.2.0.tar.gz
(3)解压hadoop并放到计划安装位置:tar zxvf hadoop-2.2.0.tar.gz
(4)创建文件目录:mkdir -p /home/hadoop/dfs/name /home/hadoop/dfs/data /home/hadoop/tmp
(5)修改7个配置文件,文件位置:/home/hadoop/hadoop-2.2.0/etc/hadoop/,文件名称:hadoop-env.sh、yarn-evn.sh、slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml

配置文件hadoop-env.sh
如果系统环境变量有设置$JAVA_HOME,则这个文件不用修改,否则要修改${JAVA_HOME}为:/usr/jdk1.6.0_45

配置文件yarn-env.sh
如果系统环境变量有设置$JAVA_HOME,则这个文件不用修改,否则要修改${JAVA_HOME}为:/usr/jdk1.6.0_45


配置文件slaves
vim /home/hadoop/hadoop-2.2.0/etc/hadoop/slaves,修改内容为所有的DataNode的机器名字,每个机器一行,这篇文章的配置如下:
node1
node2
node3

配置文件core-site.xml
vim /home/hadoop/hadoop-2.2.0/etc/hadoop/core-site.xml,修改configuration内容如下:


fs.defaultFShdfs://master:9000io.file.buffer.size131072hadoop.tmp.dirfile:/home/hadoop/tmpAbase for other temporary directories.
配置文件hdfs-site.xml
vim /home/hadoop/hadoop-2.2.0/etc/hadoop/hdfs-site.xml,修改configuration内容如下:



dfs.namenode.secondary.http-addressmaster:9001dfs.namenode.name.dirfile:/home/hadoop/dfs/namedfs.datanode.data.dirfile:/home/hadoop/dfs/datadfs.replication3dfs.webhdfs.enabledtrue

配置文件mapred-site.xml
mv /home/hadoop/hadoop-2.2.0/etc/hadoop/mapred-site.xml.template /home/hadoop/hadoop-2.2.0/etc/hadoop/mapred-site.xml
vim /home/hadoop/hadoop-2.2.0/etc/hadoop/mapred-site.xml,修改configuration内容如下:


mapreduce.framework.nameyarnmapreduce.jobhistory.addressmaster:10020mapreduce.jobhistory.webapp.addressmaster:19888

配置节点yarn-site.xml
vim /home/hadoop/hadoop-2.2.0/etc/hadoop/yarn-site.xml,修改configuration内容如下:


yarn.nodemanager.aux-servicesmapreduce_shuffleyarn.nodemanager.aux-services.mapreduce.shuffle.classorg.apache.hadoop.mapred.ShuffleHandleryarn.resourcemanager.addressmaster:8032yarn.resourcemanager.scheduler.addressmaster:8030yarn.resourcemanager.resource-tracker.addressmaster:8031yarn.resourcemanager.admin.addressmaster:8033yarn.resourcemanager.webapp.addressmaster:8088

复制Hadoop到其他节点
(1)scp -r /home/hadoop/hadoop-2.2.0 hadoop@node1:~/

(2)scp -r /home/hadoop/hadoop-2.2.0 hadoop@node2:~/

(3)scp -r /home/hadoop/hadoop-2.2.0 hadoop@node3:~/


启动Hadoop
(1)切换到hadoop用户:su hadoop
(2)进入安装目录: cd ~/hadoop-2.2.0/
(3)格式化namenode:./bin/hdfs namenode -format
(4)启动hdfs: ./sbin/start-dfs.sh
(5)jps查看,此时master有进程:NameNoce SecondaryNameNode,node1/node2/node3上有进程:DataNode
(6)启动yarn: ./sbin/start-yarn.sh
(7)jps查看,此时master有进程:NameNoce SecondaryNameNode ResourceManager,node1/node2/node3上有进程:DataNode NodeManager
(8)查看集群状态:./bin/hdfs dfsadmin -report
(9)查看文件块组成: ./bin/hdfs fsck / -files -blocks
(10)Web查看HDFS: http://192.168.1.10:50070
(11)Web查看RM: http://192.168.1.10:8088



HADOOP_HOME环境变量

在运行方便,我们设置一个HADOOP_HOME环境变量,并加入PATH目录,步骤如下:
(1)vim /etc/profile.d/java.sh #因为hadoop必用java,所有我们把使用这个文件即可。
(2)增加内容:
export HADOOP_HOME=/home/hadoop/hadoop-2.2.0
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

运行Hadoop计算任务
WordCount
(1)/home/hadoop目录下有两个文本文件file01.txt和file02.txt,文件内容分别为:
file01.txt:
kongxianghe
kong
yctc
Hello World

file02.txt:
11
2222
kong
Hello
yctc
(2)将这两个文件放入hadoop的HDFS中:
hadoop fs -ls //查看hdfs目录情况
hadoop fs -mkdir -p input
hadoop fs -put /home/hadoop/file*.txt input
hadoop fs -cat input/file01.txt //查看命令
(3)计算并查看结果:
hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount input output
hadoop fs -ls output
hadoop fs -cat output/part-r-00000

可以看到数据都已经被统计出来了。

运行排序计算
如下的这个程序,会现在每个节点生成10个G的随机数字,然后排序出结果:
(1)./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar randomwriter rand
(2)./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar sort rand sort-rand
第一个命令会在rand 目录的生成没有排序的数据。第二个命令会读数据,排序,然后写入rand-sort 目录。


常见错误
(1)Name node is in safe mode
运行hadoop程序时, 异常终止了,然后再向hdfs加文件或删除文件时,出现Name node is in safe mode错误:
rmr: org.apache.hadoop.dfs.SafeModeException: Cannot delete /user/hadoop/input. Name node is in safe mode
解决的命令:
hadoop dfsadmin -safemode leave #关闭safe mode

(2)DataNode 无法启动
我遇到过两种情况的DataNode无法启动:第一种是/etc/hosts里面机器名字除了和IP对应之外,还和127.0.0.1对应,导致DataNode连接NameNode的9000端口一直连接不上;第二种是多次format namenode 造成namenode 和datanode的clusterID不一致,通过查看NameNode和DataNode的/home/hadoop/dfs/data/current/VERSION,发现确实不一致。

以上是"Hadoop2.2.0集群在RHEL6.2下如何安装"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

文件 目录 内容 配置 数据 机器 节点 环境 系统 集群 用户 进程 任务 变量 命令 程序 篇文章 排序 运行 两个 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 湖北视信网络技术有限公司 网络安全防范管理 网络安全宣传创新 农业银行网络安全宣传 我国主导的5G网络技术编码 我的世界外服服务器语言设置 环保软件开发招聘 工厂软件开发报表管理 税控盘连接服务器失败是什么原因 数据库设计竞赛 数据库打开时创建vc 江西pdu服务器电源哪家有卖 达蒙数据库 32位 bim与数据库 安徽安庆移动dns服务器云主机 数据库按字段生成列表 浙江服务器散热器生产厂家云主机 不信任的服务器证书是什么意思 德州量化积分管理软件开发 阿里云数据库技术 软件开发服务都包括什么科目 女孩在警校学网络安全还是刑技好 网络安全基础第六章课后答案 数据库一致性问题解决方法 网络安全威胁及其防范技术 文明网络安全心得体会150字 软件开发行业的周期 软件开发人员所需技能 德州量化积分管理软件开发 日本国际网络安全的动议
0