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

[经验分享] Hadoop分布式部署

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-9-6 08:43:55 | 显示全部楼层 |阅读模式
  • 准备硬件环境
    此次用到三台计算机,三台计算机的系统都是Linux,并且以安装好JAVA。IP地址和角色为:
    namenode:192.168.0.1
    datanode:192.168.0.2
    datanode:192.168.0.3
    三台计算机之间能够正确解析彼此。因此需要修改/etc/hosts文件,主节点上需要将所有节点的IP地址以及相对应的主机名添加到文件中。作datanode的节点则只需将自己以及主节点的IP地址以及相对应的主机名添加到文件中即可。
  • 安装Hadoop
    由于Hadoop要求所有机器上hadoop的部署目录结构要相同,并且都有一个相同的用户名的帐户。所以要在三台计算机上先创建好hadoop用户并且切换到hadoop用户。


    选择将hadoop解压在hadoop用户的家目录中。为了方便以后hadoop版本更新,可以创建一个软链接:ln -s hadoop-版本 hadoop
  • 建立ssh
    hadoop的主节点是通过ssh来控制其他节点的进程的,则需要两台计算机之间不需要输入密码,所以要公钥私钥的方式来认证。
    首先要确保每台计算机上都有ssh服务并且正常启动。然后在主节点生成一对密钥,再将公钥发给其他的节点。为了方便管理文件,可在hadoop用户家目录中生成新的文件来保存公钥私钥。紧接着将所有的公钥文件的权限修改:chmod 644 authorized_keys,确保其他人不可有写权限。最后需要对三台计算机上的sshd服务进行配置,修改文件/etc/ssh/sshd_config。修改如下:
    PasswordAuthentication no
    AuthorizedKeysFile /home/hadoop/.ssh/authorized_keys
    配置完成后可ssh连接看是否是不是不用输入密码就可连接(若两台主机第一次连接则需要输入yes)
  • hadoop环境变量
    在/home/hadoop/hadoop/conf配置文件目录中找到hadoop-env.sh,设置JAVA_HOME变量
  • hadoop配置文件
    这conf中找到slaves文件,此文件是指定datanode的,一行指定一个主机名。master文件是用来指定namenode的,则将主节点的主机名填入即可。
    在安装目录中找到core-site.xml、hdfs-site.xml以及mapred-site.xml并进行修改。
    core-site.xml:
    <property>
      <name>hadoop.tmp.dir</name>
      <value>/home/hadoop/hadoop/tmp</value>
    </property>
    <property>
      <name>fs.defaultFS</name>
      <value>hdfs://(master IP):9000</value>
    </property>

    mapred-site.xml:
    <property>
      <name>mapreduce.jobtracker.address</name>
      <value>(master IP):9001</value>
      <description>NameNode</description>
    </property>

    hdfs-site.xml不需要修改
  • 部署hadoop
    将配置好的文件传给其他节点,保证目录结构一致
  • 启动hadoop
    启动之前要先格式化namenode,进入/home/hadoop/hadoop下执行:bin/hadoop namenode -format
    bin/下有许多启动脚本,根据需要来使用:
    start-all.sh  启动所有守护
    start-mapred.sh  启动map/reduce守护。Jobtracker和Tasktracker
    start-dfs.sh  启动hadoop DFS守护。Namenode和Datanode
    有启动脚本也自然都相对应的停止脚本
  • hadoop在线添加节点
    在slaves文件添加新节点的IP或者主机名,然后新节点上启动服务并执行start-balance.sh
  • hadoop在线删除节点
    在master上修改mapred-site.xml:
    <property>
      <name>dfs.hosts.exclude</name>
      <value>/home/hadoop/hadoop/conf/datanode-excludes</value>
    </property>
    然后创建datanode-excludes文件,并添加要删除的主机,一行一个。接着执行:bin/hadoop dfsadmin -refreshNodes进行节点刷新,此操作后会进行后台迁移数据,等删除节点的状态为Decommissioned即可安全关闭。
  • datanode白名单
    http://www.tuicool.com/articles/zINvYbf



运维网声明 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-268252-1-1.html 上篇帖子: Hadoop之MapReduce性能调优 下篇帖子: 安装hadoop
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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