设为首页 加入收藏

TOP

hadoop分布式安装及其集群配置笔记(一)
2015-11-21 01:26:49 来源: 作者: 【 】 浏览:2
Tags:hadoop 分布式 安装 及其 集群 配置 笔记
各机器及角色信息:
?
共10台机器,hostname与ip地址映射在此不做赘述。此为开发环境安装,所以不考虑将NameNode和SecondaryNameNode安装在同一台机器。
?
节点
?
角色
?
namenode01 namenode
namenode02 secondarynamenode
datanode01 datanode
datanode02 datanode
datanode03 datanode
datanode04 datanode
datanode05 datanode
datanode06 datanode
datanode07 datanode
datanode08 datanode
?
步骤:
?
因为hadoop依赖JDK环境,必须先进行JDK安装,步骤另行参考资料。此处默认已经安装过JDK环境,并做过环境变量配置。
?
一、设置各节点ssh免密码登录
?
1.进入到当前用户的.ssh目录下
?
cd ~/.ssh
?
2.执行ssh公钥生成命令,出现确认选项直接回车即可
?
ssh-keygen –t rsa
?
3.生成:id-rsa、id-rsa.pub两个文件,执行命令将.pub文件放入到认证文件中
?
cat id-rsa.pub >> authorized_keys
自此本机的ssh免密码登录已经设置完成,可以执行命令:ssh localhost 进行验证,不需密码直接登入即为成功。
?
4.剩下9台机器如法炮制。都完成本机ssh-免密码登录之后,将各节点的authorized_keys拷贝汇总到一台机器,分别追加到authorized_keys中。此处是将nn02以及dn0*全部拷贝到nn01上,执行:
?
cat authorized_keys_* >> authorized_keys
?
5.此时所有节点都可对nn01进行免密码登录,然后将nn01的authorized_keys拷贝到其余节点,覆盖原来的authorized_keys即可。
?
避免一台一台复制,可以写一个简单的脚本,实现群体复制,代码如下供参考:(脚本名称:scpFile 使用方法:脚本第一个参数表示源文件,第二个参数是要拷贝到其余节点的位置路径,ex: ./scpFile ~/.ssh/authorized_keys ~/.ssh/ )
?
?
#/bin/bash

# HostName which is copying files to.
ipNum="namenode02 datanode01 datanode02 datanode03 datanode04 datanode05 datanode06 datanode07 datanode08"

# Path of source file
#src="/home/sys/hadoop-2.6.1/etc/hadoop/hadoop-env.sh"
src=$1

# Destination of the file moved
#dest="/home/sys/hadoop-2.6.1/etc/hadoop/"
dest=$2

# Execute copying operation
for next in ${ipNum}
do
#      echo ${next}
       scp -r ${src} root@$next:${dest}
       echo "Copy file to root@${next}:${dest} is done!~"
done

?

?
二、关闭防火墙
?
1.暂时性关闭防火墙
?
service iptables stop
?
2.设置开机不启动防火墙
?
chkconfig iptables off
?
3.查看防火墙状态
?
service iptables status
?
三、解压hadoop包,并修改配置
?
1.解压hadoop压缩包,指定到 /home/sys/ 目录
?
tar –zxvf hadoop-2.6.1.tar.gz –C /home/sys/
?
2.增加hadoop的环境变量到 /etc/profile 中:
?
export HADOOP_HOME=/home/sys/hadoop-2.6.1
export PATH=.:$HADOOP_HOME/bin:$PATH
?
3.修改配置文件,共8个(hadoop-env.sh、yarn-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、masters、slaves)
?
cd $HADOOP_HOME/etc/hadoop/
在hadoop-env.sh和yarn-env.sh中指定 JAVA_HOME:
?
export JAVA_HOME=/home/sys/jdk1.8.0_65
编辑core-site.xml,增加如下内容:

         
         
      fs.defaultFS
      hdfs://namenode01:9000
      The name of the default file system.
        

        
        
      hadoop.tmp.dir
      /home/tmp
      A base for other temporary directories.
        

?

?
编辑hdfs-site.xml,增加如下内容:

        
      dfs.namenode.name.dir
      /home/dfs/name
      
    Directory where HDFS name node store the name table(fsimage).
      
        

        
      dfs.datanode.data.dir
      /home/dfs/data
      
    Directory where HDFS data node store blocks.
      
        
        
        
      dfs.namenode.checkpoint.dir
      /home/dfs/namesecondary
      
    Determines where on the local filesystem the DFS secondary
    name node should store the temporary images to merge.
      
        

        
      dfs.replication
      2
      
    HDFS block replication.
      
        

        
      dfs.blocksize
      134217728
      
    HDFS storage blocksize.
      
        
        
        
        
      dfs.namenode.http-address
      namenode01:50070
      
    The address and the base port where the dfs namenode web ui will listen on.
      
        

        
      dfs.namenode.secondary.http-addres
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇30分钟让你了解MongoDB基本操作 下一篇dbca静默方式卸载数据库

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: