• hadoop集群安装(多机,非伪集群)


    1. 创建用户
    创建hadoop用户组:sudo addgroup hadoop
    创建hadoop用户:sudo adduser -ingroup hadoop hadoop
    
    为hadoop用户分配root权限:sudo gedit /etc/sudoers
    按回车键就能够打开sudoers文件
    在root    ALL=(ALL:ALL) ALL以下加入hadoop ALL=(ALL:ALL) ALL 
    
    2. 改动机器名
        系统安装之后默认的名称为"ubuntu"。为了在集群中可以分辨各台server,我们须要改动机器名,机器名由/etc/hostname文件决定。
    打开/etc/hostname文件:sudo gedit /etc/hostname
    将"ubuntu"改为规定的机器名。比方"master"
    
    3. 安装JDK
    将已经下载的jdk-7u79-linux-x64.tar.gz拷贝到ubuntu上。
    复制到/usr/local路径:
    解压:cd /usr/local进入到jdk压缩包所在路径;解压缩sudo tar -zxvf jdk-7u79-linux-x64.tar.gz。回车出现量的压缩信息。压缩完之后查看该文件夹下的文件,会发现多了个文件夹。如图
    环境变量设置
    打开/etc/profile文件,将下面内容拷贝进去。


    sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-7-sun/bin/java 300   
        sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-7-sun/bin/javac 300  
        sudo update-alternatives --config java 
    
    sudo update-alternatives --remove-all 变量名
    
    
    測试JDK
    输入java -version測试环境
    
    系统Java环境安装完成
    4. 安装SSH服务
    hdfs通过ssh控制节点之间的通讯,所以ssh一定要设置。

    sudo apt-get install ssh openssh-server 
    
    5. 设置SSH免password连接。在master节点上生成key
    成功流程:
        hadoop@master 用户下 sudo gedit /home/sudoers    加入权限

        hadoop@master 用户下 sudo gedit /etc/hosts   加入客户机/server

        cd ~/.ssh

       ssh-keygen -t rsa 然后无脑回车

        
        cat id_rsa.pub >> authorized_keys    将密钥写入公钥
        cat authorized_keys             查看公钥
        sudo scp authorized_keys hadoop@slave03:/home/hadoop/.ssh             将公钥发给客户机/3号server
        ssh slave03  链接客户机/server
    
    
    
    
    
    出现上图所看到的就说明能够连通,输入exit命令。推出ssh登陆状态。
    再次输入ssh slave03就可以自己主动链接,否则没成功
    
    二、 配置集群
    1. 解压hadoop安装包
        与安装jdk的步骤一样,将hadoop-2.6.0.tar.gz移动到/usr/local下。解压后在/usr/local文件夹下多一个文件夹,如图
    
    将hadoop-2.6.0.tar.gz文件重命名为hadoop
    sudo mv hadoop-2.6.0.tar.gz  hadoop
    
    
    2. 将hadoop文件的权限加入给hadoop组的hadoop用户
    sudo chown -R hadoop:hadoop hadoop
    
    3. 设置linux系统的hadoop环境变量
    export JAVA_HOME=/opt/jdk1.7.0_79
    export JRE_HOME=$JAVA_HOME/jre  
    export HADOOP_HOME=/usr/local/hadoop
    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib  
    export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$PATH
    
    4. 改动/etc/hosts文件
    打开/etc/hosts文件,将各个节点的机器名与IP相应
    211.69.255.01 slave01
                                       ................
    
    5. 配置/etc/hadoop/hadoop-env.sh文件
    指定当中的jdk路径
    /opt/jdk1.7.0_79
    
    6. 配置/etc/hadoop/core-site.xml文件
    打开core-site.xml文件,配置例如以下。

    <property> <name>fs.default.name</name> <value>hdfs://master:9000</value> </property>    <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/hadoop-datastore/hadoop-hadoop</value> </property>

    
    (注:当中的hadoop.tmp.dir项不要按默认的设置。默认的设置会将这个文件夹指定到tmp文件夹下,一旦NameNode关机或者重新启动,集群中全部的存储文件将丢失)
    7. 配置hdfs-site.xml文件
    
    
    打开hdfs-site.xml文件,配置例如以下
    <property> 
    <name>dfs.replication</name> 
    <value>3</value> 
    </property> 
    <property>
    
       <name>dfs.permissions</name>
    
       <value>false</value>
    
     </property>
    
    8。配置mapred-site.xml文件
    
    
    <property> 
    <name>mapred.job.tracker</name> 
    <value>master:9001</value> 
    </property> 
    
    
    
    
    9. 配置slaves文件
    里面配置的都是集群中的机器名,与hosts文件形成映射。

    
    打开etc/hadoop/slaves文件。配置例如以下
    master
    slave01
    slave02
    slave03
    
    
    (注意这里必须增加master主机域名)
    
    10. 将配置好的hadoop发给每个slave节点
    scp -r /usr/local/hadoop hadoop@slave01:/usr/local
    
    这个命令非常6哦,假设发现一台机子配置没配好,或者有更改,就用这样的命令将文件发给每一台机子
    
    
    
    在slave节点上,分别把得到的hadoo文件的权限分配给hadoop用户组的hadoop用户,运行例如以下命令
    sudo chown -R hadoop:hadoop hadoop
    
    
    11. 启动hadoop
    这里则要注意是在bin的上一层文件夹运行
    
    
    第一次启动hadoop集群须要对namenode进行格式化,运行命令:bin/hdfs  namenode -format。
    仅仅有第一次启动的时候须要格式化。以后都不须要。
    格式化完毕后运行sbin/start-all.sh脚本启动所有服务。
    
    
    
    三、 測试集群
        执行 bin/hdfs  dfsadmin -report在控制台查看dfs的状态
    
    也可在浏览器訪问master节点的50070port
    
    能够看到有3个活着的datanode。
    注意:
    (1)假设搭建不成功则sbin/stop-all.sh关闭服务。清除tmp和你配置的存储数据的目录,清空后,然后在配置
    
    
    
      恭喜你搭建成功
  • 相关阅读:
    暑假集训(2)第六弹 ----- Frosh Week(UVA11858)
    暑假集训(2)第五弹 ----- Who's in the Middle(poj2388)
    暑假集训(2)第四弹 ----- 敌兵布阵(hdu1166)
    暑假集训(2)第三弹 ----- 食物链(poj1182)
    排序算法
    设计模式
    字符串匹配之KMP实现
    栈的链表简易实现
    单链表简单实现
    EF使用Effort.EF内存数据库单元测试和集成测试
  • 原文地址:https://www.cnblogs.com/llguanli/p/7365324.html
Copyright © 2020-2023  润新知