设为首页 收藏本站
查看: 2272|回复: 4

[经验分享] Centos6.4 +Hadoop 1.2.1集群配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2013-11-4 12:45:03 | 显示全部楼层 |阅读模式
Centos6.4 +Hadoop1.2.1集群配置

一.简述:
Hadoop是一种分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力高速运算和存储。Hadoop 1.2.1版本下载地址:http://apache.dataguru.cn/hadoop/common/hadoop-1.2.1/
本文章配置的是完全分布模式。

hadoop 三种运行模式:
单机模式:无需任何守护进程,所有程序在单JVM上执行
伪分布模式:守护进程运行在本地机器上。
完全分布模式:守护进程运行在一个集群上。

二、准备安装环境
本机: windows8.1企业版X64,上面装有VMware vSphere Client。
测试服务器:公司一台DELL PowerEdgeT110测试服务器(上面安装有VMwareVsphere Esxi5.1),在Esxi上面虚拟了3个centos6.4。
JDK: jdk1.7.0_45
集群:一个master,两个slave,主机名称分别是node1,node2,node3.
机器名
IP
作用
Node1
192.168.1.191
NameNode,JobTraker
Node2
192.168.1.192
DataNode,TaskTraker
Node3
192.168.1.193
DataNode,TaskTraker

三 .安装
1.修改主机名称并设置hosts
设置主机名:Hostname node1(三台主机上分别设置)

修改hosts:Vim/etc/hosts,写入下列内容(三台主机都要设置)
192.168.1.191 node1
192.168.1.192 node2
192.168.1.193 node3
170838266.jpg




然后保证互ping可以通。

2.清除防火墙规则和临时关闭selinux。

为了测试方便,建议把防火墙规则清除,以及临时关闭selinx。

防火墙设置:
保存规则:iptables-save>iptables-script
清除规则:iptables –F

临时关闭selinux :
使用命令setenforce 0
3.安装JDK

1.)下载JDK. 打开http://java.sun.com/javase/downloads/index.jsp

170840683.jpg



170842365.jpg





2.)mkdir -p /usr/local/java/
tar -zxvf jdk-7u45-linux-x64.tar.gz
mv jdk1.7.0_45 /usr/local/java

3.)修改/etc/profile,添加如下内容

JAVA_HOME=/usr/local/java/jdk1.7.0_45
JRE_HOME=$JAVA_HOME/jre
CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools/jar

PATH=$PATH:$HOME/bin:$JAVA_HOME:$JRE_HOME:$CLASSPATH:$JAVA_HOME/bin:/home/hadoop/hadoop-1.2.1/bin

export PATH

4.)使配置生效
source /etc/profile




4.添加用户.
在root权限下使用以下命令添加hadoop用户,在三个虚拟机上都添加这个用户
useradd hadoop

将下载到的hadoop-1.2.1.tar文件放到/home/hadoop/目录下解压,然后修改解压后的文件夹的权限,命令如下:
Tar -zxvf hadoop-1.2.1.tar
Chown -R hadoop:hadoop hadoop-1.2.1

5.配置SSH无密码登录

在Hadoop启动以后,Namenode是通过SSH(Secure Shell)来启动和停止各个datanode上的各种守护进程的,这就须要在节点之间执行指令的时候是不须要输入密码的形式,故我们须要配置SSH运用无密码公钥认证的形式。
以本文中的三台机器为例,现在node1是主节点,他须要连接node2和node3。须要确定每台机器上都安装了ssh,并且datanode机器上sshd服务已经启动。


[hadoop@node1 ~]$ ssh-keygen -t rsa

这个命令将为hadoop上的用户hadoop生成其密钥对,询问其保存路径时直接回车采用默认路径,当提示要为生成的密钥输入passphrase的时候,直接回车,也就是将其设定为空密码。生成的密钥对id_rsa,id_rsa.pub,默认存储在/home/hadoop/.ssh目录下然后将id_rsa.pub的内容复制到每个机器(也包括本机)的/home/hadoop/.ssh/authorized_keys文件中,如果机器上已经有authorized_keys这个文件了,就在文件末尾加上id_rsa.pub中的内容,如果没有authorized_keys这个文件,直接复制过去就行

下面是具体的过程:
1.)生成密钥对

su hadoop切换hadoop用户
cd /home/hadoop
ssh-keygen -t rsa

在/home/hadoop目录下会生成一个隐藏的.ssh目录。
ll -a

170844493.jpg


2.) 生成authorized_keys文件并测试


进入.ssh文件夹,然后将id_rsa.pub复制到authorized_keys文件,
命令如下:

cd .ssh
cp id_rsa.pub authorized_keys #生成authorized_keys文件
ssh localhost #测试无密码登陆,第一可能需要密码
ssh node1 #同上一个命令一样
171523778.jpg











注:在三台主机上都要执行上述命令。

3.)在node1、node2和node3上互换公钥。

在node2和node3执行以下命令
scp authorized_keys hadoop@node1:/tmp
#复制authorized_keys到node1的tmp目录中去

cat /tmp/authorized_keys>>/home/hadoop/.ssh/authorized_keys
#把公钥追加到文件后面。
现在node1上的authorized文件已经包含了三台主机的公钥。


最后把node1上的authorized_keys,再复制回node2和node3上。
scp /home/hadoop/.ssh/authorized_key root@node2:/home/hadoop/.ssh


4.)设置文件权限并测试。
chmod 644 authorized_keys 此步非常重要,如果权限不对,则无密码访问不成功。


测试三台主机之间无密码互访,搞定。
171138537.jpg



6.安装hadoop

将当前用户切换到hadoop用户,如果集群内机器的环境完全一样,可以在一台机器上配置好,然后把配置好的软件即hadoop-0.20.203整个文件夹拷贝到其他机器的相同位置即可。 可以将Master上的Hadoop通过scp拷贝到每一个Slave相同的目录下,同时根据每一个Slave的Java_HOME 的不同修改其hadoop-env.sh 。

6.1)配置conf/hadoop-env.sh文件
切换到hadoop-1.2.1/conf目录下,添加JAVA_HOME路径
171135729.jpg


6.2)配置/conf/core-site.xml

171140155.jpg

fs.default.name是NameNode的URI。hdfs://主机名:端口/

hadoop.tmp.dir :Hadoop的默认临时路径,这个最好配置,如果在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令。


6.3)配置/conf/mapred-site.xml

171142735.jpg

mapred.job.tracker是JobTracker的主机(或者IP)和端口。主机:端口。其中/home/hadoop/hadoop_home/var目录需要提前创建,并且注意用chown -R 命令来修改目录权限



6.4)配置/conf/hdfs-site.xml

171144235.jpg


dfs.name.dir是NameNode持久存储名字空间及事务日志的本地文件系统路径。 当这个值是一个逗号分割的目录列表时,nametable数据将会被复制到所有目录中做冗余备份。

dfs.replication是数据需要备份的数量,默认是3,如果此数大于集群的机器数会出错。

此处的name1和data1等目录不能提前创建,如果提前创建会出问题。

6.5)配置master和slaves主从节点

配置conf/masters和conf/slaves来设置主从结点,注意最好使用主机名,并且保证机器之间通过主机名可以互相访问,每个主机名一行。
vi masters:
输入:
node1

171148461.jpg





vi slaves:
输入:
node2
node3
171150458.jpg
配置结束,把配置好的hadoop文件夹拷贝到另外两台主机中,并且保证上面的配置对于其他机器而言正确,
scp -r /home/hadoop/hadoop-1.2.1 root@node2:/home/hadoop/

#输入node2的root密码即可传输,如果java安装路径不一样,需要修改conf/hadoop-env.sh


四、Hadoop启动与测试


1、)格式化一个新的分布式文件系统

hadoop namenode -format #格式化文件系统

如下图(我的hadoop已经使用,不想重新格式化选择了No)

171152450.jpg



2、)启动所有节点
/home/hadoop/hadoop-1.2.1/bin/start-all.sh

3、)查看集群的状态:
hadoop dfsadmin -report


171155281.jpg

4、)Hadoop测试
浏览NameNode和JobTracker的网络接口,它们的地址默认为:
NameNode - http://192.168.1.191:50070/
171157876.jpg
JobTracker - http://192.168.1.191:50030/


172819408.jpg

要想检查守护进程是否正在运行,可以使用 jps 命令(这是用于JVM 进程的ps 实用程序)。这个命令列出 5 个守护进程及其进程标识符。
172627243.jpg
将输入文件拷贝到分布式文件系统:
  • bin/hadoop fs -mkdir input #创建input目录


  • bin/hadoop fs -put conf/core-site.xml input #拷贝文件到input目录


  • bin/hadoop jar hadoop-examples-1.2.1.jar grep input output 'dfs[a-z]' #使用Hadoop运行示例

171159561.jpg
到此为止,hadoop已经配置完成
五、Hadoop一些常用的操作命令
1、hdfs常用操作:
hadoop dfs -ls 列出HDFS下的文件
hadoop dfs -ls input 列出HDFS下某个文档中的文件
hadoop dfs -put 1.txt input/2.txt 上传文件到指定目录并且重新命名,只有所有的DataNode都接收完数据才算成功
hadoop dfs -get input/1.txt test.txt 从HDFS获取文件并且重新命名为test.txt,同put一样可操作文件也可操作目录
172543432.jpg
hadoop dfs -rmr out 删除指定文件从HDFS上
hadoop dfs -cat in/* 查看HDFS上in目录的内容
hadoop dfsadmin -report 查看HDFS的基本统计信息,结果如下
hadoop dfsadmin -safemode leave 退出安全模式
hadoop dfsadmin -safemode enter 进入安全模式
2、负载均衡
start-balancer.sh,可以使DataNode节点上选择策略重新平衡DataNode上的数据块的分布。

六.遇到的问题。
1) 执行jps时,找不到此命令。
答:这是由于jdk的环境没有配置好。
172509621.jpg
2)SSH无密码访问配置好之后,还是让输入密码?
答:文件权限问题。执行chmod 644 authorized_keys



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-10236-1-1.html 上篇帖子: Hadoop运维记录系列(十二) 下篇帖子: Hadoop虚拟化扩展(HVE)之资源扩展技术

尚未签到

发表于 2013-11-22 09:30:47 | 显示全部楼层
我抢、我抢、我抢沙发~

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-12-8 23:52:51 | 显示全部楼层
人生最宝贵的东西其实不是身外他物,而是另一个人

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-12-19 19:12:16 | 显示全部楼层
——即使,我们已是过去式。但我,依旧会偷偷想你。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-12-27 22:25:26 | 显示全部楼层
曾经的相濡以沫,现在的行同陌路。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表