设为首页 收藏本站
查看: 1089|回复: 0

[经验分享] hadoop安装部署

[复制链接]
累计签到:6 天
连续签到:1 天
发表于 2015-7-11 07:45:44 | 显示全部楼层 |阅读模式
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内容

     
      
         dfs.permissions
         false
      
      
         dfs.name.dir
         /var/local/hadoop/cache/hadoop/dfs/name
      
   
   
    设置mapred-site.xml内容

   
      
        mapred.job.tracker
        s1:8021
      
   
   
    设置core-site.xml内容

     
      
        fs.default.name
        hdfs://s2:8020
      
      
         hadoop.tmp.dir
         /var/local/hadoop/cache/${user.name}
      
      
        webinterface.private.actions
        true
      
   
   
    设置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    
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-85311-1-1.html 上篇帖子: Hadoop实战之三~ Hello World 下篇帖子: Hadoop作业提交分析(一)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表