HADOOP 完全分布式搭建

1、node1,2,3,4做免密钥登录
2、安装和配置jdk
2.1 将node1上的/etc/profile通过网络拷贝到node2、3、4
    在node2、3、4上执行.  /etc/profile让它生效
3、解压hadoop-2.6.5.tar.gz到/opt目录
4、在hadoop-env.sh中:主要配置jdk目录
    export JAVA_HOME=/usr/java/jdk1.7.0_80
5、slaves,三个datanode所在的位置主机名称:
    node2
    node3
    node4
    slaves文件里面记录的是集群里所有DataNode的主机名
    小故事:
    三台机器,这时候如果突然间新增了一台机器,比如是host4,会发现在NN上host4也自动加入到集群里面了,HDFS的磁盘容量上来了,这下子不是出问题了?假如host4不是集群的机器,是别人的机器,然后配置的时候指向了NN,这时候NN没有做判断岂不是把数据也有可能写到host4上面?这对数据安全性影响很大。所以可以在hdfs-site.xml里面加限制。
    dfs.hosts
    /home/hadoop-2.0.0-cdh4.5.0/etc/hadoop/slaves
    这相当于是一份对于DN的白名单,只有在白名单里面的主机才能被NN识别。配置了这个之后,就能排除阿猫阿狗的DN了。其实slaves文件里不一定要写主机名,最终的都是通过IP来判断,完全可以写一个IP就行。

    我还尝试了配置了上面的dfs.hosts项之后,然后在slaves删除一个节点,然后
    hadoop−daemon.shstopnamenode hadoop-daemon.sh start namenode
    这时候NN就拒绝了那个被删除了的DN数据,而NN会自动把DN上丢失的数据重新备份,通过其他的备份来copy,这里是很智能的过程。

6、core-site.xml
<configuration>
  <!-- 指定namenode的位置:在node1上的9000端口发布一个hdfs协议的服务,用于和datanode以及客户端以及secondarynamenode通信 -->
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://node1:9000</value>
  </property>
  <!-- 指定该路径,该路径决定了datanode、namenode以及secondarynamenode放数据的目录
     dfs.namenode.name.dir
     dfs.datanode.data.dir
     dfs.namenode.checkpoint.dir
 -->
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/var/bjsxt/hadoop/full</value>
  </property>
</configuration>
7、hdfs-site.xml
    <configuration>
      <!-- 指定block默认副本个数 -->
      <property>
        <name>dfs.replication</name>
        <value>2</value>
      </property>
  <!--指定secondarynamenode的http服务所在的主机和端口号,同时也就指定了secondarynamenode所在的主机-->
  <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>node2:50090</value>
  </property>
  
</configuration>

8、在/etc/profile中添加HADOOP_PREFIX
在PATH中添加HADOOP的bin和sbin目录

9、将/opt/hadoop-2.6.5/etc/hadoop/* 网络拷贝到node2node3node4上
    scp -r * node2:`pwd`
    scp -r * node3:`pwd`
    scp -r * node4:`pwd`
10、格式化
    在node1上执行格式化操作:
        hdfs namenode -format
11、启动集群:
    在node1到node4上的任意一台服务器都可以执行:
        start-dfs.sh
12、停止集群:
    在node1到node4上的任意一台服务器都可以执行:
        stop-dfs.sh
13、如果发生异常,看日志:/opt/hadoop-2.6.5/logs
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值