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

[经验分享] 安装hadoop集群和运行wordcount

[复制链接]

尚未签到

发表于 2016-12-4 09:16:23 | 显示全部楼层 |阅读模式
  说明:
  hadoop版本:0.21.0
  一个namenode和两个datanode
  参考:
  http://www.360doc.com/content/10/0727/10/2159920_41738746.shtml
  http://yymmiinngg.iyunv.com/blog/706699
  http://wenku.baidu.com/view/b3a1f5d2240c844769eaeec3.html
  一、修改namenode和两个datanode的主机名
  1、修改/etc/hosts
  127.0.0.1  localhost.localdomain localhost
192.168.118.129 hadoop-namenode.localdomain hadoop-namenode
192.168.118.139 hadoop-datanode1.localdomain hadoop-datanode1
192.168.118.149 hadoop-datanode2.localdomain hadoop-datanode2
  2、修改/etc/sysconfig/network
  HOSTNAME=hadoop-namenode
  二、在namenode和两个datanode上添加hadoop用户
  #useradd hadoop
  #passwd hadoop
  三、配置ssh无密码登录
  1、配置hadoop-namenode能用用户hadoop无密码登录两个datanode
  在hadoop-namenode上
  #su  hadoop
  $ssh-keygen  -t  rsa
  $cp  /home/hadoop/.ssh/id_rsa.pub  authorized_keys 
  把hadoop-namenode上产生的id_rsa.pub拷贝到两个datanode上:
  $scp /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.118.139:/home/hadoop/authorized_keys
  进入两个datanode
  $ssh hadoop@192.168.118.139
  $enter password:
  如果/home/hadoop/.ssh目录下没有authorized_keys,把authorized_keys拷贝到/home/hadoop/.ssh目录下:
  cp  /home/hadoop/authorized_keys  /home/hadoop/.ssh
  如果/home/hadoop/.ssh目录下有authorized_keys,把authorized_keys追加到已有的authozied_keys
  cat  /home/hadoop/authorized_keys  >>  /home/hadoop/.ssh/authorized_keys
  配置两个datanode上的sshd_config文件,打开/etc/ssh/sshd_config,配置如下:
  RSAAuthentication yes
PubkeyAuthentication yes
  UsePAM no
  重启两个datanode上的sshd服务:
  service sshd restart
  在hadoop-namenode上测试,能否无密码登录两个datanode:
  ssh hadoop@192.168.118.139
  2、配置连个datanode能用用户hadoop无密码登录hadoop-namenode
  在两个datanode上
  #su hadoop
  $ssh-keygen -t rsa
  把两个datanode上产生的id_rsa.pub拷贝到两个datanode上:
  $scp /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.118.129:/home/hadoop/.ssh/192.168.118.139.authorized_keys
  $scp /home/hadoop/.ssh/id_rsa.pub hadoop@192.168.118.129:/home/hadoop/.ssh/192.168.118.149.authorized_keys
  在hadoop-namenode上,把两个datanode上传上来的authorized_keys追加到已有的authozied_keys
  cat  /home/hadoop/.ssh/192.168.118.139.authorized_keys  >>  /home/hadoop/.ssh/authorized_keys
  cat  /home/hadoop/.ssh/192.168.118.149.authorized_keys  >>  /home/hadoop/.ssh/authorized_keys
  配置hadoop-namenode上的sshd_config文件,打开/etc/ssh/sshd_config,配置如下:
  RSAAuthentication yes
PubkeyAuthentication yes
  UsePAM no
  重启hadoop-namenode上的sshd服务:
  service sshd restart
  在两个datanode上测试,能否无密码登录hadoop-namenode:
  ssh hadoop@192.168.118.129
  四、配置hadoop
  1、在namenode和两个datanode上的/usr/local/下建立目录hadoop,把下载的hadoop-0.21.0.tar.gz解压到该目
  录。
  2、配置core-site.xml:
  <configuration>
 <property>
  <name>fs.default.name</name>
  <value>hdfs://192.168.118.129:9001</value>
 </property>
 <property>
  <name>hadoop.tmp.dir</name>
  <value>/home/hadoop/tmp</value>
 </property>
  </configuration>
  3、配置hdfs-site.xml:
  <configuration>
 <property>
  <name>dfs.namenode.name.dir</name>
      <value>file:///usr/local/hadoop/hdfs/name</value>
   </property>
   <property>
      <name>dfs.datanode.data.dir</name>
      <value>file:///usr/local/hadoop/hdfs/data</value>
   </property>
   <property>
      <name>dfs.replication</name>
      <value>1</value>
   </property>
  </configuration>
  4、配置mapred-site.xml:
  <configuration>
 <property>
  <name>mapreduce.jobtracker.address</name>
  <value>192.168.118.129:8021</value>
 </property>
 <property>
  <name>mapreduce.jobtracker.system.dir</name>
  <value>/usr/local/hadoop/mapred/system</value>
 </property>
 <property>
  <name>mapreduce.cluster.local.dir</name>
  <value>/usr/local/hadoop/mapred/local</value>
 </property>
  </configuration>
  5、配置masters:
  192.168.118.129
  6、配置slaves:
  192.168.118.139
192.168.118.149
  7、把配置好的的文件scp到两个datanode上。
  $ scp core-site.xml hdfs-site.xml mapred-site.xml masters slaves hadoop@192.168.118.139:/usr/local/hadoop
  $ scp core-site.xml hdfs-site.xml mapred-site.xml masters slaves hadoop@192.168.118.149:/usr/local/hadoop
  8、设置namenode和两个datanode上的/usr/local/hadoop的权限
  # chown -R hadoop:hadoop  /usr/local/hadoop
  9、启动hadoop
  在namenode上用用户hadoop登录
  # su hadoop
  格式化
  $hdfs namenode -format
  启动
  $ start-all.sh
  五、运行示例程序wordcount
  在namenode上
  $ cd /home/hadoop
  $ mkdir workspace
  $ cd workspace
  $ mkdir wordcount
  $ cd wordcount
  $ mkdir input
  $ echo "Hello world Bye world">input/f1
  $ echo "hello hadoop bye hadoop">input/f2
  在hdfs上建立一个input目录
  $ hadoop fs -mkdir  /tmp/input
  把f1和f2拷贝到hdfs上的input目录下
  $ hadoop fs -put home/hadoop/workspace/wordcount/input/f1 /tmp/input
  $ hadoop fs -put home/hadoop/workspace/wordcount/input/f2 /tmp/input
  查看hdfs上有没有f1和f2
  $ hadoop fs -ls /tmp/input
  执行wordcount(确保hdfs上没有output目录)
  cd 到目录 /usr/local/hadoop/hadoop-0.21.0
  $ hadoop jar hadoop-mapred-examples-0.21.0.jar  wordcount  /tmp/input  /output
  查看运行结果
  $ hadoop fs -cat /output/part-r-00000
  Bye         1
  Hello       1
  bye         1
  hadoop   2
  hello       1
  world      2

运维网声明 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-309362-1-1.html 上篇帖子: HADOOP 机架感知 下篇帖子: org.apache.hadoop.hbase.ipc.ServerNotRunningException: org.apache.hadoop.hba
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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