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

[经验分享] 【hadoop-1.0】hadoop-0.20.2安装及简单使用

[复制链接]

尚未签到

发表于 2016-12-6 07:01:59 | 显示全部楼层 |阅读模式
  我是初学者,文章只是记录我的学习过程,有很多不足或是错误,请大家谅解并指正,真心希望多和大家交流~
  安装步骤如下:
  1.1 机器说明
  总共有4台机器:sc706-26、sc706-27、sc706-28、sc706-29
  IP地址分别为:192.168.153.89、192.168.153.90、192.168.153.91、192.168.153.92
  操作系统为:Linux的fedora12
  jdk版本为:jdk-6u19-linux-i586
  hadoop版本为:hadoop-0.20.2
  sc706-26作为NameNode、JobTracker,其他三台作为DataNode、TaskTracker
  1.2 用机器名Ping通机器
  用root登录,修改NameNode和DataNode上的/etc/hosts文件,加入四台机器的IP地址和机器名,如下:
  192.168.153.89  sc706-26
  192.168.153.90  sc706-27
  192.168.153.91  sc706-28
  192.168.153.92  sc706-29
  设置好后验证下各机器间是否ping通,用机器名或是IP地址都可以,例如ping sc706-27或ping 192.168.153.90
  1.3 新建hadoop用户
  Hadoop要求所有机器上hadoop的部署目录结构要相同并且有一个相同的用户名的帐户,我的默认路径为/home/hadoop
  1.4 ssh设置及关闭防火墙(需要用到root,su - )
  1)fedora装好后默认启动sshd服务,如果不确定的话可以查一下 [iyunv@sc706-26 hadoop]# service sshd status
  如没有启动的话,先启动 [iyunv@sc706-26 hadoop]# service sshd start
  建立ssh无密码登录,在NameNode上 [hadoop@sc706-26 ~]$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
  会在~/.ssh/生成两个文件:id_dsa和id_dsa.pub,这两是成对出现的,把id_dsa.pub文件追加到DataNode上的authorized_keys
  [hadoop@sc706-26 ~]$ scp id_dsa.pub sc706-27:/home/hadoop/ (注意其中目标机器后面的:与要传到的文件路径之间没有空格,即sc706:与/home/hadoop/之间没有空格)
  scp id_dsa.pub sc706-28:/home/hadoop/
  scp id_dsa.pub sc706-29:/home/hadoop/
  登录到DataNode上,[hadoop@sc706-27 ~]$ cat id_dsa.pub >> ~/.ssh/authorized_keys ,其余两台一样,NameNode上也要追加。注意:追加完后必须修改NameNode和DataNode上的.ssh和authorized_keys的权限,chmod命令,参数755,完成后测试下,例如ssh sc706-27时不需要密码就可以登录,就可以知道ssh设置成功。
  2)关闭防火墙(NameNode和DataNode都必须关闭)
  [iyunv@sc706-26 ~]# service iptables stop
  注意:每次重新开机启动hadoop前都必须关闭
  1.5 安装jdk1.6(几台机子都一样)
在官网http://java.sun.com下载jdk-6u19-linux-i586.bin,之后直接安装[iyunv@sc706-26 java]#chmod +x jdk-6u19-linux-i586.bin [iyunv@sc706-26 java]# ./jdk-6u19-linux-i586.bin,我的安装路径为:/usr/java/jdk1.6.0_19,安装后添加如下语句到/etc/profile中:
  export JAVA_HOME=/usr/java/jdk1.6.0_19
  export JRE_HOME=/usr/java/jdk1.6.0_19/jre
  export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
  export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
  1.6 安装hadoop
  在官网http://apache.etoak.com//hadoop/core/下载hadoop-0.20.2.tar.gz
  [hadoop@sc706-26 ~]$ tar xzvf hadoop-0.20.2.tar.gz
  将hadoop的安装路径添加到/etc/profile中:
  export HADOOP_HOME=/home/hadoop/hadoop-0.20.2
  export PATH=$HADOOP_HOME/bin:$PATH
  为了让/etc/profile生效,source一下 [hadoop@sc706-26 ~]$ source /etc/profile
  1.7 配置hadoop
  其配置文件在/conf目录下
  1)配置JAVA环境
  [hadoop@sc706-26 ~]$ vim hadoop-0.20.2/conf/hadoop-env.sh
  export JAVA_HOME=/usr/java/jdk1.6.0_19
  2)配置conf/core-site.xml、conf/hdfs-site.xml、conf/mapred-site.xml文件
  [hadoop@sc706-26 ~]$ vim hadoop-0.20.2/conf/core-site.xml
  <configuration>
  <property>
  <name>hadoop.tmp.dir</name>     
  <value>/home/hadoop/tmp</value>
  </property>
  <property>
  <name>fs.default.name</name>     
  <value>hdfs://sc706-26:9000</value>
  </property>
  </configuration>
  [hadoop@sc706-26 ~]$ vim hadoop-0.20.2/conf/mapred-site.xml
  <configuration>
  <property>
  <name>mapred.job.tracker</name>  
  <value>hdfs://sc706-26:9001</value> 注意:sc706-26前能不能加hdfs://不太清楚,本人配了两个集群,一个加了一个不加都能用
  </property>
  </configuration>
  [hadoop@sc706-26 ~]$ vim hadoop-0.20.2/conf/hdfs-site.xml
  <configuration>
  <property>  
  <name>dfs.name.dir</name>  
  <value>/home/hadoop/name</value>
  </property> 
  <property>  
  <name>dfs.data.dir</name> 
  <value>/home/hadoop/data</value>
  </property>
  <property>
  <name>dfs.replication</name> 
  <value>3</value>注意:如果设为1,数据只有一个副本,假如其中一个datanode出问题,将会导致整个job失败
  </property> 
  </configuration>
  3)将NameNode上完整的hadoop拷贝到DataNode上,可先将其进行压缩后直接scp过去或是用盘拷贝过去
  4) 配置NameNode上的conf/masters和conf/slaves
  masters:192.168.153.89
  slaves:192.168.153.90
  192.168.153.91
  192.168.153.92
  1.8 运行hadoop
  1)格式化文件系统
  [hadoop@sc706-26 hadoop-0.20.2]$ hadoop namenode -format
  注意:格式化时要防止NameNode的namespace ID与DataNode的namespace ID的不一致,因为每格式化一次会产生Name、Data、tmp等临时文件记录信息,多次格式化会产生很多,会导致ID的不同,造成hadoop不能运行
  2)启动hadoop
  [hadoop@sc706-26 hadoop-0.20.2]$ bin/start-all.sh
  3)用jps命令查看进程,NameNode上的结果如下:
  25325          NameNode
  25550          JobTracker
  28210          Jps
  25478         SecondaryNameNode
  4)查看集群状态
  [hadoop@sc706-26 hadoop-0.20.2]$ hadoop dfsadmin -report
  确保运行的DataNode个数是正确的,我的是3个,这样可以查看哪个DataNode没有运行
  5)用hadoop的web方式查看
         [hadoop@sc706-26 hadoop-0.20.2]$ links  http://192.168.153.89(即为master):50070
  1.9 运行Wordcount.java程序
  1)先在本地磁盘上建立两个文件f1和f2
  [hadoop@sc706-26 ~]$ echo ”hello Hadoop goodbye hadoop” > f1
  [hadoop@sc706-26 ~]$ echo ”hello bye hadoop hadoop” > f2
  2)在hdfs上建立一个input目录
  [hadoop@sc706-26 ~]$ hadoop dfs -mkdir input
  3)将f1和f2拷贝到hdfs的input目录下
  [hadoop@sc706-26 ~]$ hadoop dfs -copyFromLocal /home/hadoop/f* input
  4)查看hdfs上有没有input目录
  [hadoop@sc706-26 ~]$ hadoop dfs -ls
  5)查看input目录下有没有复制成功f1和f2
  [hadoop@sc706-26 ~]$ hadoop dfs -ls input
  6)执行wordcount(确保hdfs上没有output目录)
  [hadoop@sc706-26 hadoop-0.20.2]$ hadoop jar hadoop-0.20.2-examples.jar wordcount input output
  7)运行完成,查看结果
  [hadoop@sc706-26 hadoop-0.20.2]$ hadoop dfs -cat output/part-r-00000

运维网声明 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.iyunv.com/thread-310121-1-1.html 上篇帖子: [转]hadoop的安装和使用 下篇帖子: Hadoop的shuffle
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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