hadoop安装部署


hadoop 安装和部署
安装目标目录: /usr/local/hadoop
HDFS数据,Log,临时数据目录:/var/local/hadoop/
hadoop 用户: hadoop
JDK:1.6 版本
 
一,建立用户hadoop
     大部情况下可以直接在root用户下安装,在此处特意建立以hadoop为用户名进行相关操作
     >useradd hadoop #建立hadoop用户
     >passwd hadoop  #修改密码

 

二,安装JDK。
     建议切换到root 用户下面安装JDK,如下图:
     >su root                                  #切换至root用户
     >cd software                              #进入安装的软件目录
     >chmod u +x jdk - 6u25 -linux -x64 -rpm.bin     #给*.bin增加可执行权限
     >. /jdk - 6u25 -linux -x64 -rpm.bin             #回车,安装开始。
   
    JDK安装完成,并且检查安装是否成功。
     >java --versiov
    java version "1.6.0_17" 
    OpenJDK Runtime Environment (IcedTea6 1. 7. 4) (rhel - 1. 21.b17.el6 -x86_64)
    OpenJDK 64 -Bit Server VM (build 14. 0 -b16, mixed mode)
   
    某些情况下,需要手工配置全局的JAVA运行环境,即在/etc/profile中进行配置。
     有时候由于产线或者系统中部署了多个JDK版本,则可以通过~/.bashrc或者~/.bashprofile用来对当前用户的JDK环境指定。
     关于profile,bashrc等启动顺序,可以自行复习Linux启动脚本顺序。
     如下图中,主要在/etc/profile中进行全局配置。

     >cd /usr                                    #进入/usr目录,大部分情况下java都安装在/usr下面子目录
     >find -name java                            #查找java安装路径
    . /java /jdk1. 6.0_25 /jre /bin /java  
    . /java /jdk1. 6.0_25 /bin /java
     >cd /etc                                    #进入/etc目录
     >vim profile                                #编辑/etc/profile
 
    在/etc/profile 文件尾追加写入如下内容:

    JAVA_HOME = /usr /java /jdk1. 6.0_25
    HADOOP_HOME = /usr /local /hadoop 
    HADOOP_CONF_DIR =$HADOOP_HOME /conf
    CLASSPATH =. :$JAVA_HOME /lib :$HADOOP_HOME /lib
    PATH =$PATH :$JAVA_HOME /bin :$JAVA_HOME /jre /bin :$HADOOP_HOME /bin

    export JAVA_HOME 
    export HADOOP_HOME
    export HADOOP_CONF_DIR
    
    让环境变量生效,如下图执行:
    source /etc /profile

 

三,设置ssh
    配置本机ssh,使得使用hadoop用户ssh登陆时不需要提供密码验证,对于伪分布式的hadoop部署之需要设置如下信息,则基本ssh配制成功。
     >su hadoop                                        #切换到hadoop用户
     >ssh -keygen -t dsa -P '' -f ~ /.ssh /id_dsa         #初始化ssh 验证信息
     > cat ~ /.ssh /id_dsa.pub >> ~ /.ssh /authorized_keys #追加验证信息到authorized_keys文件
     >chmod 700  ~ /.ssh
     >chmod 600 ~ /.ssh /authorized_keys 
     >ssh localhost                                   #测试本机主机名不需要验证就可以登录则成功

   

    如果配置多台机器的cluster完整分布式集群,例如: 
     10. 16. 45. 209 s1
     10. 16. 45. 226 s2
     10. 16. 45. 227 s3
     10. 16. 45. 231 s4

   

    使用如下命令操作加入主机名和IP映射
     >su root
     >vim /etc /hosts

   

    更新类似如下内容:
     10. 16. 45. 209 s1 # Added by NetworkManager
     127. 0. 0. 1 localhost.localdomain localhost
     : : 1 sstrtst20.buyabs.corp sstrtst20 localhost6.localdomain6 localhost6
     10. 16. 45. 226 s2
     10. 16. 45. 227 s3
     10. 16. 45. 231 s4    
     
    分布式SSH设置如下图,ssh登录10.16.45.209:
     >su hadoop                                              #切换到hadoop用户
     >ssh -keygen -t dsa -P '' -f ~ /.ssh /id_dsa               #初始化ssh 验证信息
     > cat ~ /.ssh /id_dsa.pub >> ~ /.ssh /authorized_keys        #追加验证信息到authorized_keys文件
     >chmod 700  ~ /.ssh
     >chmod 600 ~ /.ssh /authorized_keys 
     >ssh s1                                                #测试当前主机不需要验证既可登录
     >scp ~ /.ssh /id_dsa.pub 10. 16. 45. 226 : /home /hadoop /.ssh /
     >ssh 10. 16.45.226
     >su hadoop
     > cat ~ /.ssh /id_dsa.pub >> ~ /.ssh /authorized_keys        #追加验证信息到authorized_keys文件
     >ssh s1                                                #测试
    依次将sstrtst20的~/.ssh/id_dsa.pub拷贝到其他ip地址并且追加到authorized_keys文件。
 
四,安装配置hadoop
 
    解压缩安装包并且进行相关配置,如下图:
     >su root
     >tar xzvf hadoop - 0. 20. 2 -cdh3u1.tar.gz                  #解压缩
     > mv hadoop - 0. 20. 2 -cdh3u1 hadoop                        #改名
     > mv hadoop /usr /local                                  #移动文件
     >chown -R hadoop :hadoop /usr /local /hadoop              #修改/usr/local/hadoop 目录以及目录内容数据hadoop:hadoop用户/用户组
     >cd /usr /local /hadoop /conf                            
     >vim hadoop -env.sh                                    
   
    设置hadoop-env.sh内容:
    export JAVA_HOME =$JAVA_HOME
    export HADOOP_CLASSPATH = "$HADOOP_CLASSPATH"
    export HADOOP_HEAPSIZE = 2048
    export HADOOP_LOG_DIR = /var /local /logs
    export HADOOP_PID_DIR = /var /local /pids
   
    设置masters内容
    s1
   
    设置slaves内容
    s1
    s2
    s3
    s4
   
    设置hdfs-site.xml内容
     <configuration > 
       <property >
          <name >dfs.permissions < /name >
          <value >false < /value >
       < /property >
       <property >
          <name >dfs.name.dir < /name >
          <value > /var /local /hadoop /cache /hadoop /dfs /name < /value >
       < /property >
     < /configuration >
   
    设置mapred-site.xml内容
     <configuration >
       <property >
         <name >mapred.job.tracker < /name >
         <value >s1 : 8021 < /value >
       < /property >
     < /configuration >
   
    设置core-site.xml内容
     <configuration > 
       <property >
         <name >fs.default.name < /name >
         <value >hdfs : / /s2 : 8020 < /value >
       < /property >
        <property >
          <name >hadoop.tmp.dir < /name >
          <value > /var /local /hadoop /cache /${user.name} < /value >
        < /property >
       <property >
         <name >webinterface.private.actions < /name >
         <value >true < /value >
       < /property >
     < /configuration >
   
    设置log4j,请自行配置。
    依次将hadoop-env.sh,core-site.xml,hdfs-site.xml,mapred-site.xml,masters,slaves文件分发到其它hadoop node
五,创建hadoop 数据,log,pids目录
 
    创建hadoop log,pid,hadoop目录并且设置操作权限,如下:
    >su root
     >mkdir /var /local
     >mkdir /var /local /hadoop
     >mkdir /var /local /logs
     >mkdir /var /local /pids
     >cd /var /local
     >chown -R hadoop :hadoop *
     >chmod ugo +rw *

 

六,启动准备
     >su hadoop
     >hadoop namenode -format                          #格式化HDFS数据存储
     >cd /usr /local /hadoop /bin                         #必须在namenode 上启动
     >sh start -all.sh                                  #启动
     >hadoop fs - ls /                                  #测试
     >hadoop fs -put demo.txt /user /hadoop /demo.txt    #向HDFS上传demo.txt并且存储在/user/hadoop/demo.txt
     >hadoop fs - cat /user /hadoop /demo.txt             #打印
 
七,系统自动启动
    利用CentOS chkconfig,在/etc/init.d/ 中创建start,stop,restart脚本,利用chkconfig --add 加入服务,利用chkconfig --level on 设置启动级别。
 
八,观察hadoop 运行进程
    在namenode上观察:
     >jps
     14520 NameNode
     15005 TaskTracker
     14641 DataNode
     14881 JobTracker
     7647 Jps
     14790 SecondaryNameNode
   
    在datanode上观察:
     >jps
     3462 TaskTracker 
     16687 Jps
     3349 DataNode  

 




免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM