网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
12月27日漏签0天
大讲台吧 关注:53贴子:318
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 0回复贴,共1页
<<返回大讲台吧
>0< 加载中...

【干货】大讲台分享hadoop完全分布式模式的安装和配置

  • 只看楼主
  • 收藏

  • 回复
  • 大讲台网
  • 四年级
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
  本文是将三台电脑用路由器搭建本地局域网,系统为centos6.5,已经实验验证,搭建成功。
  一、设置静态IP&修改主机名&关闭防火墙(all-root)(对三台电脑都需要进行操作)
  0.将三台电脑安装centos6.5系统
  1.设置静态ip(便于机器之间的通信,防止路由器电脑重启后,ip变化,导致不能通信)
  vim/etc/sysconfig/network-scripts/ifcfg-eth0
  DEVICE=eth0#描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0
  BOOTPROTO=static#设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址
  BROADCAST=192.168.0.255#对应的子网广播地址
  HWADDR=00:07:E9:05:E8:B4#对应的网卡物理地址
  在文件最后面添加一下代码
  IPADDR=192.168.80.100
  NETMASK=255.255.255.0
  NETWORK=192.168.0.0
  里面的IPADDR地址设置你想要的,我这里是192.168.80.100。
  设置好后,需要让IP地址生效,运行下面命令:
  servicenetworkrestartShuttingdowninterface
  然后运行ifconfig就可以看到静态ip是否生效。
  2.修改主机名(每台电脑都要修改,建议使用hadoop100,hadoop101,hadoop102,对应于ip地址最后面三位数)
  vi/etc/sysconfig/network
  hostname=hadoop100
  重启一下网络servicenetworkrestart
  验证reboot-hnow立刻重启然后hostname
  3.关闭防火墙
  关闭已经启动的防火墙:serviceiptablesstop(只能关闭当前)
  验证:serviceiptablesstatus
  Firewallisnotrunning
  关闭防火墙开机自动启动功能:
  (1).先查看查看:chkconfig--list|grepiptables
  iptables0:off1:off2:on3:on4:on5:on6:off
  (2).关闭chkconfigiptablesoff
  验证:chkconfig--list|grepiptables
  4.建立hadoop运行帐号
  最好不要使用root操作hadoop,root是超级管理员权限,不推荐各个机器之间使用root访问,
  useraddhadoop增加用户
  passwdhadoop设置密码
  二、配置hosts文件(只需要对主机192.168.80.100(hadoop100)进行操作,然后通过scp命令将这些配置分发给其他电脑即可)
  操作192.168.80.100机器
  vi/etc/hosts添加下面内容
  192.168.80.100hadoop100
  192.168.80.101hadoop101
  192.168.80.102hadoop102
  验证:pinghadoop100
  pinghadoop101
  pinghadoop102
  三、为hadoop账户配置ssh免密码连入
  操作hadoop100,hadoop101,hadoop102机器
  ①ssh-keygen-trsa会在~/.ssh/文件夹下生成id_rsaid_rsa.pub两个文件
  ②根据ip分别执行(对hadoop100,101,102三台机器分别生成公钥)
  cp~/.ssh/id_rsa.pub~/.ssh/id_rsa.pub.100
  cp~/.ssh/id_rsa.pub~/.ssh/id_rsa.pub.101
  cp~/.ssh/id_rsa.pub~/.ssh/id_rsa.pub.102
  ③将hadoop101,hadoop102的公钥传输到hadoop100的机器上
  scp-r~/.ssh/id_rsa.pub.101hadoop@hadoop100:/home/hadoop/.ssh
  scp-r~/.ssh/id_rsa.pub.102hadoop@hadoop100:/home/hadoop/.ssh
  ④把所有机器的公钥,放在hadoop100的一个文件中(在hadoop100的hadoop用户下操作)
  cat~/.ssh/id_rsa.pub.100>>~/.ssh/authorized_keys
  cat~/.ssh/id_rsa.pub.101>>~/.ssh/authorized_keys
  cat~/.ssh/id_rsa.pub.102>>~/.ssh/authorized_keys
  验证sshhadoop101发现无效,提示还是需要密码。
  ⑤修改authorized_keys的权限,组用户不能有写(W)权限,不然ssh由于安全问题不生效
  authorized_keys权限改为644就OK
  命令chmodg-wauthorized_keys
  然后分发给101和102
  scp-r~/.ssh/authorized_keyshadoop@hadoop101:/home/hadoop/.ssh
  scp-r~/.ssh/authorized_keyshadoop@hadoop102:/home/hadoop/.ssh
  验证:sshhadoop101...
  然后神奇的事情发生了。3台机器彼此之间可以互联。
  四、下载并解压jdk(只需对hadoop100操作)
  使用root用户进行操作,把jdk解压到/usr/local/文件夹中。
  [root@hadoop100local]#cd/usr/local
  [root@hadoop100local]#./jdk-6u30-linux-x64.bin解压jdk后,生成jdk1.6.0_30文件夹
  配置环境变量
  [root@hadoop100local]#vi/etc/profile在最后面加上下面两行
  exportJAVA_HOME=/usr/local/jdk1.6.0_30
  exportPATH=.:$JAVA_HOME/bin:$PATH
  保存退出
  [root@hadoop100local]#source/etc/profile使新修改的环境变量生效。
  验证:java-version
  五、下载并解压hadoop安装包(仅对hadoop100操作)
  5.1解压hadoop并重命名
  使用root用户进行以下操作
  tar-zxvf/usr/local/hadoop-1.1.2.tar.gz
  解压后生成文件夹hadoop-1.1.2。
  重命名mvhadoop-1.1.2hadoop
  5.2修改权限,使得hadoop用户可以操作hadoop文件夹
  chown-Rhadoop/usr/local/hadoop/
  chgrp-Rhadoop/usr/local/hadoop/
  5.3设置hadoop环境变量
  vi/etc/profile
  修改为
  exportJAVA_HOME=/usr/local/jdk1.6.0_30
  exportHADOOP_HOME=/usr/local/hadoop
  exportPATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
  保存退出
  source/etc/profile
  验证:hadoop
  六、设置hadoop参数
  进入usr/local/hadoop/conf文件夹,即可看到以下文件
  6.1配置hadoop-env.sh
  找到exportJAVA_HOME这一行,去除前面的#号注释符。
  修改exportJAVA_HOME=/usr/local/jdk1.6.0_30
  6.2配置core-site.xml
  <configuration>
  <property>
  <name>fs.default.name</name>
  <value>hdfs://hadoop100:9000</value>
  <description>changeyourownhostname</description>
  </property>
  <property>
  <name>hadoop.tmp.dir</name>
  <value>/home/hadoop/tmp</value>
  </property>
  </configuration>
  6.3配置hdfs-site.xml
  <configuration>
  <property>
  <name>dfs.replication</name>
  <value>2</value>
  </property>
  </configuration>
  6.4配置mapred-site.xml
  <configuration>
  <property>
  <name>mapred.job.tracker</name>
  <value>hadoop100:9001</value>
  <description>changeyourownhostname</description>
  </property>
  </configuration>
  6.5配置masters文件
  将masters里的localhost改成hadoop100
  6.6配置slaves文件
  将slaves里的localhost改成
  hadoop101
  hadoop102
  七、向其他机器复制jdk以及hadoop和一些配置
  7.1分发hosts到其他机器(root用户)
  scp-r/etc/hostsroot@hadoop101:/etc/
  scp-r/etc/hostsroot@hadoop102:/etc/
  7.2分发java(root用户)
  scp-r/usr/local/jdk1.6.0_30root@hadoop101:/usr/local/
  scp-r/usr/local/jdk1.6.0_30root@hadoop102:/usr/local/
  7.3分发环境变量/etc/profile(root用户)
  scp-r/etc/profileroot@hadoop101:/etc/
  scp-r/etc/profileroot@hadoop102:/etc/
  分别通过ssh远程登录其他电脑
  执行source/etc/profile
  分别验证:java-version
  pinghadoop101
  pinghadoop100
  7.4分发hadoop(root用户)
  scp-r/usr/local/hadoop/root@hadoop101:/usr/local/hadoop/
  scp-r/usr/local/hadoop/root@hadoop102:/usr/local/hadoop/
  再通过ssh远程登录其他电脑修改hadoop权限,如5.2所示。
  再分别验证:hadoop
  八、格式化hdfs
  在hadoop100,hadoop101,hadoop102的hadoop用户下
  执行命令hadoopnamenode-format
  九、启动hadoop
  在hadoop100上执行start-all.sh
  用jps检验
  hadoop100上有
  32387Jps
  32283JobTracker
  32198SecondaryNameNode
  32021NameNode
  hadoop101和hadoop102上有
  30770TaskTracker
  30866Jps
  30666DataNode
  说明运行成功,。,这时你可以运行个wordcount这个小例子体验一下、。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 0回复贴,共1页
<<返回大讲台吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示