设为首页 收藏本站
查看: 1255|回复: 0

[经验分享] CentOS 5.5 安装hadoop-0.21.0

[复制链接]

尚未签到

发表于 2016-5-12 06:34:18 | 显示全部楼层 |阅读模式
  
  倒腾了一天,终于在CentOS上装上了hadoop-0.21.0,特此记录,以备后用。
  操作系统:CentOS 5.5
  Hadoop:hadoop-0.21.0
JDK:1.6.0_17
namenode主机名:master,namenode的IP:192.168.90.91
datanode主机名:slave,datanode的IP:192.168.90.94

第一步:安装并启动ssh服务

  CentOS 5.5安装完毕之后以及默认启动了sshd服务,可以在“系统”->“管理”->“服务”中查看sshd服务是否启动。当然了,如果机器上没有安装ssh服务,则执行命令sudo yum install ssh来安装。安装rsync,它是一个远程数据同步工具,可通过 LAN/WAN 快速同步多台主机间的文件,执行命令sudo yum install rsync。修改每个节点的/etc/hosts文件,将 namenode和datanode的IP信息加入到该文件的尾部:
  192.168.90.91 master
192.168.90.94 slave
  第二步,配置SSH服务
  (1),(2)是针对每一台机器
  (1)创建hadoop用户名与用户组
  运行命令su - root,注意,不是命令su root,后者不能携带root用户的参数信息,是不能执行创建用户组和用户命令的。执行命令:groupadd hadoop和命令useradd -g hadoop hadoop。注意不能在/home目录下创建hadoop目录,否则创建hadoop用户会失败。创建好用户以后最好是重新启动计算机,以hadoop用户登录系统。这样在之后的操作中就不需要su到hadoop用户下,而且也不会纠缠于文件的owner问题。
  (2)生成ssh密钥
  如果是其他用户登录的则切换到hadoop用户下,执行命令su - hadoop,在/home/hadoop目录下执行命令:ssh-keygen -t rsa(一路回车,选择默认的保存路径),密钥生成成功之后,进入.ssh目录,执行cd .ssh,执行命令:cp id_rsa.pub authorized_keys。这个时候运行ssh localhost,让系统记住用户,之后ssh localhost就不需要再输入密码了。
  (3)交换公钥
  将namenode上的公钥拷贝到datanode,在hadoop用户的用户目录下(/home/hadoop)下执行命令ssh-copy-id -i $HOME/.ssh/id_rsa.pub hadoop@slave。同理,也可以将datanode上的公钥拷贝到namenode,但这不是必须的。这样两台机器在hadoop用户下互相ssh就不需要密码了。
  
  第三步,安装JDK1.6或以上(每台机器)
  (1)执行命令yum install jdk
  (2)如果第一步没有找到源码包,那么就需要到官网上下载了,https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u22-oth-JPR@CDS-CDS_Developer。
  (3)新建目录/usr/java,将源码包jdk-6u22-linux-i586.bin复制到该目录下,执行命令chmod a+x jdk-6u22-linux-i586.bin
      使当前用户拥有对jdk-6u22-linux-i586.bin的执行权限。执行命令sudo ./jdk-6u22-linux-i586.bin进行安装
  (4)修改/etc/profile来添加环境变量,/etc/profile中设置的环境变量就像Windows下环境变量中的系统变量一样,所有用户都可以使用。
      用文本编辑器打开/etc/profile
      # vi /etc/profile
      在最后加入以下几行:
      export JAVA_HOME=/usr/java/jdk1.6.0_22
      export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      export PATH=$PATH:$JAVA_HOME/bin
      这样我们就设置好了JDK,在centos下 source /etc/profile 就可以生效了.
  运行命令java -version可以判断是否安装成功
  
  第四步,安装hadoop
  原来现在才开始安装hadoop,准备工作也作得太多了,废话少说。
  (1)新建目录/usr/local/hadoop,将hadoop-0.21.0.tar.gz解压缩到该目录下,执行命令sudo tar -xvzf hadoop-0.21.0.tar.gz,修改/etc/profile文件,将hadoop的安装目录append到文件最后:
  export HADOOP_HOME=/usr/local/hadoop/hadoop-0.21.0
export PATH=$HADOOP_HOME/bin:$PATH
(2)配置/conf/hadoop-env.sh文件,修改java_home环境变量
export JAVA_HOME=/usr/java/jdk1.6.0_22/
(3)配置 core-site.xml 文件
<configuration>
      <property>
            <name>hadoop.tmp.dir</name>
            <value>/usr/local/hadoop/hadoop-0.21.0/tmp</value>
           (注意,请先在 hadoopinstall 目录下建立 tmp 文件夹)
            <description>A base for other temporary directories.</description>
      </property>
<!-- file system properties -->
      <property>
            <name>fs.default.name</name>
      <value>hdfs://master:54310</value>
      </property>
</configuration>
(4)配置 hdfs-site.xml 文件
<configuration>
      <property>
            <name>dfs.replication</name>
            <value>1</value>(这里共两台机器,如果将主节点也配置为datanode,则这里可以写2)
      </property>
<configuration>
(5)配置 mapred-site.xml 文件
<configuration>
      <property>
            <name>mapred.job.tracker</name>
            <value>master:54311</value>
      </property>
</configuration>
(6)配置 conf/masters 文件,加入 namenode 的 ip 地址
master
(7)配置 slaves 文件, 加入所有 datanode 的 ip 地址

  slave
  
  (如果之前的hdfs-site.xml文件中的拷贝数设置为2,则需要将master也加入到slaves文件中)
  (8)将 namenode 上 配 置 好 的 hadoop 所 在 文 件 夹 hadoop-0.21.0 复 制 到
datanode 的/usr/lcoal/hadoop/目录下(实际上 masters,slavers 文件时不必要的, 复制了也
没问题)。
(9)配置datanode的/etc/profile 文件,在文件尾append下列内容:
export HADOOP_HOME=/usr/local/hadoop/hadoop-0.21.0
export PATH=$HADOOP_HOME/bin:$PATH

第五步,启动hadoop
首先记得关闭系统的防火墙,root用户下执行命令/etc/init.d/iptables stop,运行命令/etc/init.d/iptables status检查防火墙状态。hadoop用户下,在namenode的/usr/local/hadoop/hadoop-0.21.0/bin目录下打开终端,执行命令hadoop namenode -format,格式化目录节点。注意,/usr/local/hadoop/hadoop-0.21.0/tmp目录是可以写的,否则在格式化时会出现异常。执行命令start-all.sh启动hadoop集群,执行命令jps查看进程,执行命令hadoop dfsadmin -report查看状态。在浏览器中输入http://master:50070以web方式查看集群状态。查看jobtraker的运行状态:http://www.ibm.com/developerworks/cn/linux/l-hadoop-2/index.html
PS:格式化namenode的时候最好将节点的tmp目录清空、删除logs目录中的文件。
  到这里,基于CentOS5.5的hadoop集群搭建完毕!

运维网声明 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-215734-1-1.html 上篇帖子: 在CentOS 6.0下搭建LAMP环境(源码安装) 下篇帖子: Centos上安卓开发环境的安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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