• 安装hadoop集群服务器(hadoop1.2.1)


    摘要:hadoop,一个分布式系统基础架构,可以充分利用集群的威力进行高速运算和存储。本文主要介绍hadoop的安装与集群服务器的配置。

    准备文件:

          ▪ VMware11.0.0
          ▪ CentOS-6.5-x86_64-bin-DVD1.iso
          ▪ jdk-6u45-linux-x64-rpm.bin
          ▪ hadoop-1.2.1-1.x86_64.rpm

    1.规划

       功能              HOSTNAME             IP                     说明

    ─────────────────────────────────────────────────────────────────────

     Master             HDM01         192.168.44.131      Namenode兼datanode

     Slave              HDS01         192.168.44.132      Datanode

     Slave              HDS02         192.168.44.133      Datanode

    2.系统环境

      在vmwave虚拟机安装三台CentOS系统,并分别安装SSH,rsync.(一般系统自带)

    ssh 127.0.0.1   #验证ssh是否正确安装

    3.系统配置

    (1)创建hadoop运行用户(root用户)

       useradd hadoop
    passwd hadoop #设置密码,SSH登录需要

     ps:master和slave节点机都要创建相同的用户和用户组,即在所有集群服务器上都要建hadoop用户和用户组。

    (2)关闭防火墙

    chkconfig iptables off       #永久关闭防火墙
    chkconfig --list iptables    #查看防火墙状态

    (3)配置机器名和网络

    ■ 配置HOSTNAME:

       vi /etc/sysconfig/network  #修改HOSTNAME(需重启生效)

            ps:这里Master设置为HDM01,Slave分别设置为HDS02,HDS03

       

    ■ 配置网络IP

      vi /etc/sysconfig/network-scripts
    vi ifcfg-eth0

           添加IPADDR=192.168.*.*,重启服务service network restart

        

    ■ 配置IP和HOSTNAME的映射关系

    vi /etc/hosts  #添加ip hostname 映射关系

       

    4.配置非root用户免验证登录ssh

    重要:三个节点都有相同的用户名hadoop

    用hadoop用户登录,在cd /home/hadoop下执行以下命令,第一二三步在三台机器上都执行,第四步在HDM01上执行。

    (1)第一步

    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

    -t参数就是指定要生成的密钥类型,这里指定的是rsa
    -P就是提供的旧密码,''表示没有
    -f是密钥的生成后的保存文件位置
    (2)第二步

    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

    把暴露出来的公共密钥按顺序导入authorized_keys中保存

    (3)第三步

    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys  

    ssh机制很严谨,对文件的权限要求非常严格,这里需要把.ssh文件夹的权限设置为700(只有所有者有读和写以及执行的权限),authorized_keys的权限设置为600(只有所有者有读和写的权限)

    (4)第四步

    ssh HDS02 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    ssh HDS03 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    scp authorized_keys hadoop@HDS02:/home/hadoop/.ssh/
    scp authorized_keys hadoop@HDS03:/home/hadoop/.ssh/

    最终authorized_keys文件有各个集群服务器的信息

    验证:第一次可能需要输入密码,最终每台机器都能联通:

    ssh HDM01
    ssh HDS02
    ssh HDS03

    5.安装jdk

    这里需要将jdk-6u45-linux-x64-rpm.bin文件放到系统目录下,然后执行以下命令来安装jdk:

    chmod +x  jdk-6u45-linux-x64-rpm.bin   #给所有用户添加可执行权限
    ./jdk-6u45-linux-x64-rpm.bin     #生成rpm文件
    chmod +x  jdk-6u45-linux-amd64.rpm  #给所有用户添加可执行权限
    rpm -ivh jdk-6u45-linux-amd64.rpm   #安装jdk

       

       

    安装完成后需要配置环境变量:

    vi /etc/profile

    文件追加如下内容:

    JAVA_HOME=/usr/java/jdk1.6.0_45
    PATH=$JAVA_HOME/bin:$PATH
    CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
    export JAVA_HOME PATH CLASSPATH

    使环境变量生效,需要执行如下:

    source /etc/profile

    查看java版本,出现版本信息说明安装成功。可以用如下命令查看相关信息:

    rpm -qa|grep jdk 检查是否已安装JDK 
    java -version 查看jdk版本
    which java  检查java安装目录
    env|grep JAVA_HOME 检查是否配置JAVA_HOME

    6.安装hadoop

     hadoop包的安装类似jdk的安装:

    su root
    rpm -ivh /opt/cloud/hadoop-1.2.1-1.x86_64.rpm     #安装hadoop

       

    7.配置hadoop配置文件

     每台机器服务器都要配置,且都是一样的,配置完一台其他的只需要拷贝,每台机器上的core-site.xml和mapred-site.xml都是配master服务器的hostname.

    vi /etc/hadoop/core-site.xml

     配置如下内容:

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

    vi /etc/hadoop/hdfs-site.xml

    配置如下内容:

    <property>
    <name>dfs.replication</name>
    <value>2</value>
    <property>

    vi /etc/hadoop/mapred-site.xml

    配置如下内容:

    <property>
    <name>mapred.job.tracker</name>
    <value>HDM01:9001</value>
    <property>

     注:core-site.xml文件中hadoop.tmp.dir是hadoop文件系统依赖的基础配置,默认位置是/tmp/{$user}下面,但是/tmp路径下的存储不安全的,因为linux一次重启,文件就可能被删除。修改该参数后需要格式化: hadoop namenode -format

       

    8.配置hadoop集群配置文件

    只需要namenode节点机,这里的HDM01既做namenode也兼datanode,一般情况namenode要求独立机器,namenode不兼datanode.

    vi /etc/hadoop/masters

    配置如下内容:
    HDM01

    vi /etc/hadoop/slaves

    配置如下内容:
    HDM01
    HDS02
    HDS03

    9.配置非root用户权限

    ■ 将/usr/sbin/下的以下脚本文件的owner设置为hadoop,且赋给hadoop全权rwx:

    chown hadoop:hadoop /usr/sbin/hadoop-create-user.sh
    chown hadoop:hadoop /usr/sbin/hadoop-daemon.sh
    chown hadoop:hadoop /usr/sbin/hadoop-daemons.sh
    chown hadoop:hadoop /usr/sbin/hadoop-setup-applications.sh
    chown hadoop:hadoop /usr/sbin/hadoop-setup-conf.sh
    chown hadoop:hadoop /usr/sbin/hadoop-setup-hdfs.sh
    chown hadoop:hadoop /usr/sbin/hadoop-setup-single-node.sh
    chown hadoop:hadoop /usr/sbin/hadoop-validate-setup.sh
    chown hadoop:hadoop /usr/sbin/rcc
    chown hadoop:hadoop /usr/sbin/slaves.sh
    chown hadoop:hadoop /usr/sbin/start-all.sh
    chown hadoop:hadoop /usr/sbin/start-balancer.sh
    chown hadoop:hadoop /usr/sbin/start-dfs.sh
    chown hadoop:hadoop /usr/sbin/start-jobhistoryserver.sh
    chown hadoop:hadoop /usr/sbin/start-mapred.sh
    chown hadoop:hadoop /usr/sbin/stop-all.sh
    chown hadoop:hadoop /usr/sbin/stop-balancer.sh
    chown hadoop:hadoop /usr/sbin/stop-dfs.sh
    chown hadoop:hadoop /usr/sbin/stop-jobhistoryserver.sh
    chown hadoop:hadoop /usr/sbin/stop-mapred.sh
    chown hadoop:hadoop /usr/sbin/update-hadoop-env.sh

    chmod u+rwx /usr/sbin/hadoop-create-user.sh
    chmod u+rwx /usr/sbin/hadoop-daemon.sh
    chmod u+rwx /usr/sbin/hadoop-daemons.sh
    chmod u+rwx /usr/sbin/hadoop-setup-applications.sh
    chmod u+rwx /usr/sbin/hadoop-setup-conf.sh
    chmod u+rwx /usr/sbin/hadoop-setup-hdfs.sh
    chmod u+rwx /usr/sbin/hadoop-setup-single-node.sh
    chmod u+rwx /usr/sbin/hadoop-validate-setup.sh
    chmod u+rwx /usr/sbin/rcc
    chmod u+rwx /usr/sbin/slaves.sh
    chmod u+rwx /usr/sbin/start-all.sh
    chmod u+rwx /usr/sbin/start-balancer.sh
    chmod u+rwx /usr/sbin/start-dfs.sh
    chmod u+rwx /usr/sbin/start-jobhistoryserver.sh
    chmod u+rwx /usr/sbin/start-mapred.sh
    chmod u+rwx /usr/sbin/stop-all.sh
    chmod u+rwx /usr/sbin/stop-balancer.sh
    chmod u+rwx /usr/sbin/stop-dfs.sh
    chmod u+rwx /usr/sbin/stop-jobhistoryserver.sh
    chmod u+rwx /usr/sbin/stop-mapred.sh
    chmod u+rwx /usr/sbin/update-hadoop-env.sh

    ■将/usr/bin下的hadoop设为所有人可读可执行:

    chmod 555 /usr/bin/hadoop

    ■将/var/log/hadoop及其下的owner设置为hadoop,且赋值给hadoop全权rwx
     将/var/run/hadoop及其下的owner设置为hadoop, 且赋值给hadoop全权rwx
     将/home/hadoop/及其下的owner设置为hadoop,且hadoop权限设为"rwxr-xr-x",设为更大权限不行,主要是因为/home/hadoop/tmp/dfs/data的权限需要为"rwxr-xr-x"

    chown -R hadoop:hadoop /var/log/hadoop
    chown -R hadoop:hadoop /var/run/hadoop
    chown -R hadoop:hadoop /home/hadoop

    chmod -R u+rwx /var/log/hadoop
    chmod -R u+rwx /var/run/hadoop
    chmod -R u+rwx /home/hadoop

    10.配置hadoop的java环境

    配置hadoop的java环境与env的java_home保持一致,文件/etc/hadoop/hadoop-env.sh

       

    11.格式化HDFS

    hadoop namenode -format #hadoop用户执行

    chown -R hadoop:hadoop /home/hadoop/
    chown -R 755 /home/hadoop/

    12.启动hadoop

    hadoop用户登录:

    start-all.sh

       

    13.验证hadoop

    在Master上用java自带的小工具jps查看5个进程都在:

       

    在Slave1上用jps查看进程:

       

    14.网页查看集群

    http:192.168.44.131:50030    查看Map/Reduce状态

       

    http:192.168.44.131:50070 查看HDFS状态

       

  • 相关阅读:
    Qt图像处理技术六:拉普拉斯锐化
    linux下使用动态壁纸
    qt获得当前窗口所在屏幕的大小
    linux下动态壁纸(ubuntu20.04测试)
    使用qt+网上的api做股票查看器
    在deepin环境下安装qt开发环境和dtk开发环境
    Qt图像处理技术七:轮廓提取
    Qt图像处理技术五:图像的翻转(横向,竖向)
    基于平台开发人事档案管理功能
    让VS.Net根据表结构自动生成界面和C#代码
  • 原文地址:https://www.cnblogs.com/wonglu/p/5299015.html
Copyright © 2020-2023  润新知