hadoop安装

 准备阶段

  • 3台模拟机,安装好CentOS7 的系统
IP主机用户名
192.168.1.151 hadoop-master-001 hadoop
192.168.1.152hadoop-master-0012hadoop
192.168.1.153hadoop-master-0013hadoop

增加用户

useradd hadoop
passwd hadoop

禁用 Transparent Hugepage

  1. 查看Transparent Hugepage 的状态
    cat /sys/kernel/mm/transparent_hugepage/enabled 

     

  2. 返回 结果 

  3. [always] madvise never  

     

   3.永久关闭

vim /etc/rc.local
加入如下代码:
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
   echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
   echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

 

  1. 重启机器
  2. 查看状态
  3. cat /sys/kernel/mm/transparent_hugepage/enabled  
  4. 返回结果always madvise [never] 

 在master 和 slave的服务器上都设置 hosts
 


192.168.1.151   hadoop-master-001
192.168.1.152   hadoop-slave-001
192.168.1.153   hadoop-slave-002

打通001到001, 002,003的SSH无密码登陆

  1. 安装ssh
  2. 在001 的机器上进入 hdfs 用户 的 .ssh 目录
  3.  使用 ssh-keygen -t rsa  来生成公钥和私钥(连续回车,不设置密码)
  4. 把公钥文件复制到要访问的机器的hdfs的用户目录下的.ssh 目录
     scp ~/.ssh/id_rsa.pub hadoop@hadoop-master-001:/home/hadoop/.ssh/authorized_keys
     scp ~/.ssh/id_rsa.pub hadoop@hadoop-slave-001:/home/hadoop/.ssh/authorized_keys
  5.  scp ~/.ssh/id_rsa.pub hadoop@hadoop-slave-001:/home/hadoop/.ssh/authorized_keys
  6. 检测是否可以不需要密码登陆
    ssh localhost
    ssh hadoop@hadoop-master-001
    ssh hadoop@hadoop-slave-001
    ssh hadoop@hadoop-slave-001
    这里只有001是master,如果有多个namenode,或者rm的话则需要打通所有master到其他剩余节点的免密码登陆。(将001的authorized_keys追加到002和003的authorized_keys)

    注意:在centos7 下面 要打通本地 ssh localhost 的免密码登陆的过程,如果使用网上的 
    cat ./id_rsa.pub >> ./authorized_keys  这种方法,是无法免密码的。什么原因未知。 现在采用
    scp ~/.ssh/id_rsa.pub hdfs@hadoop-master-001:/home/hdfs/.ssh/authorized_keys
    这种方式来完成本机免密码ssh
  7. hadoop的安装
  8. hadoop 下载http://hadoop.apache.org/releases.html  。 下载页面 访问  http://apache.fayea.com/hadoop/common/ 
    wget  http://apache.fayea.com/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz
  9. tar -xzvf hadoop-2.7.2.tar.gz
  10. 把hadoop-2.7.2 移动到 /usr/local目录下
    1. sudo cd /usr/local
    2. sudo tar -xzvf hadoop-2.7.2.tar.gz
    3. sudo chown -R hadoop:hadoop ./hadoop-2.7.2
    4. ln -s /usr/local/hadoop-2.7.2  /usr/local/hadoop
  11. 判断hadoop的版本
    /usr/local/hadoop/bin/hadoop version
  12. 配置环境变量

    vim /etc/profile
  13. hadoop配置过程
  14. 配置之前,需要在001本地文件系统创建以下文件夹:

    /home/hadoop/name

    /home/hadoop/data

    /home/hadoop/temp

  15.  

    这里要涉及到的配置文件有7个:

    ~/hadoop-2.7.2/etc/hadoop/hadoop-env.sh

    ~/hadoop-2.7.2/etc/hadoop/yarn-env.sh

    ~/hadoop-2.7.2/etc/hadoop/slaves

    ~/hadoop-2.7.2/etc/hadoop/core-site.xml

    ~/hadoop-2.7.2/etc/hadoop/hdfs-site.xml

    ~/hadoop-2.7.2/etc/hadoop/mapred-site.xml

    ~/hadoop-2.7.2/etc/hadoop/yarn-site.xml

  16.  

    修改配置(如何系统已经设置了JAVA_HOME,也要配置env.sh)
    在192.168.1.151 服务器上进入 /home/hdfs/hadoop-2.7.2/etc/hadoop
    配置文件1:hadoop-env.sh

    修改JAVA_HOME值(export JAVA_HOME=/usr/java/default)

    配置文件2:yarn-env.sh

    修改JAVA_HOME值(export JAVA_HOME=/usr/java/default)

    配置文件3:slaves (这个文件里面保存所有slave节点)

    写入以下内容:

  17. hadoop-slave-001  
    hadoop-slave-002  

    配置文件4:core-site.xml

    <configuration>
    <property>
      <name>fs.defaultFS</name>
      <value>hdfs://hadoop-master-001:9000</value>
    </property>
    <property>
      <name>hadoop.tmp.dir</name>
      <value>file:/home/hadoop/temp</value>
      <description>Abase for other temporary directories.</description>
    </property>
    </configuration>
    

    配置文件5:hdfs-site.xml

  18. <configuration>
    <property>
       <name>dfs.namenode.secondary.http-address</name>
       <value>hadoop-master-001:9001</value>
    </property>
    <property>
         <name>dfs.namenode.name.dir</name>
         <value>file:/home/hadoop/name</value>
    </property>
    <property>
         <name>dfs.datanode.data.dir</name>
         <value>file:/home/hadoop/data</value>
    </property>
    <property>
         <name>dfs.replication</name>
         <value>3</value>
    </property>
    <property>
         <name>dfs.webhdfs.enabled</name>
         <value>true</value>
    </property>
    </configuration>

    配置文件6:mapred-site.xml

  19. <configuration>
    <property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
    </property>
    <property>
     <name>mapreduce.jobhistory.address</name>
     <value>hadoop_master_001:10020</value>
    </property>
    <property>
     <name>mapreduce.jobhistory.webapp.address</name>
     <value>hadoop_master_001:19888</value>
    </property>
    </configuration>	

    配置文件7:yarn-site.xml

  20. <configuration>
    <property>
       <name>yarn.nodemanager.aux-services</name>
       <value>mapreduce_shuffle</value>
    </property>
    <property>
       <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
       <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    <property>
       <name>yarn.resourcemanager.address</name>
       <value>hadoop_master_001:8032</value>
    </property>
    <property>
       <name>yarn.resourcemanager.scheduler.address</name>
       <value>hadoop_master_001:8030</value>
    </property>
    <property>
       <name>yarn.resourcemanager.resource-tracker.address</name>
       <value>hadoop_master_001:8031</value>
    </property>
    <property>
       <name>yarn.resourcemanager.admin.address</name>
       <value>hadoop_master_001:8033</value>
    </property>
    <property>
       <name>yarn.resourcemanager.webapp.address</name>
       <value>hadoop_master_001:8088</value>
    </property>
    </configuration>

     

    1. 复制到hadoop 到其他节点
      scp -r /usr/local/hadoop hadoop@hadoop-slave-001:/usr/local/hadoop-2.7.2
      scp -r /usr/local/hadoop hadoop@hadoop-slave-002:/usr/local/hadoop-2.7.2

  21. 启动hadoop
    1. 进入安装目录: cd  /usr/local/hadoop
    2. 格式化namenode:./bin/hdfs namenode  -format (format前面只有一个减号)成功的话,会看到 “successfully formatted” 和 “Exitting with status 0″ 的提示,若为 “Exitting with status 1″ 则是出错。
    3. 启动hdfs: ./sbin/start-dfs.sh

      001上面运行的进程有:NameNode  SecondaryNameNode

      002和003上面运行的进程有:DataNode
       

    4. 启动yarn: ./sbin/start-yarn.sh

      YARN 是从 MapReduce 中分离出来的,负责资源管理与任务调度。YARN 运行于 MapReduce 之上,提供了高可用性、高扩展性

      001上面运行的进程有:NameNode  SecondaryNameNode ResourceManager
      002和003上面运行的进程有:DataNode NodeManager

      启动完成后,可以通过命令 jps 来判断是否成功启动,若成功启动则会列出如下进程: “NameNode”、”DataNode” 和 “SecondaryNameNode”

  22. 检测运行事例
    查看集群状态:./bin/hdfs dfsadmin -report
    出现 
    Live datanodes (2):

    这个信息才表示集群建立成功
    成功启动后,可以访问 Web 界面 http://192.168.1.151:50070 查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件。
    启动 YARN 可以通过 Web 界面查看任务的运行情况:http://192.168.1.151:8088/cluster
  23. 操作hdfs 的命令

    hadoop fs

    这个命令可以列出所有的 hdfs的子命令的帮助界面。基本上语法和linux上的文件操作类似

    例如 : 复制本地文件到 hdfs 系统 

    hadoop fs -copyFromLocal *.log hdfs://192.168.1.151:9000/data/weblogs

    命令详解,官方文档
    https://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html

转载于:https://my.oschina.net/jywm/blog/726088

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值