hadoop分布式环境搭建

首先规划:
三台机器,域名分别是master,slave1,slave2。master上面装NameNode、ResourceManager,slave1和slave2上面装一个NodeManager和DataNode,hadoop的安装包采用Apache的最新稳定版本hadoop-2.9.1。
注:为了方便起见,这里不考虑用户权限的问题,所有安装采用root安装

1.首先是前提条件,三台机器都必须:
(1)首先安装jdk,最好安装1.7及1.7以上版本,并且安装jdk的环境变量
    vi ~/.bashrc 
    export JAVA_HOME=/usr/local/software/jdk1.8.0_141
    export PATH=$JAVA_HOME/bin:$PATH
(2)检查ssh和sshd是否安装,如果没有安装,
  ubuntu下面安装ssh和sshd:  
    $ sudo apt-get install ssh
    $ sudo apt-get install rsync
  
  如果你用的是redhat,fedora,centos等系列linux发行版,那么使用命令,例如安装sshd:
    sudo yum install sshd

  检查ssh和sshd是否安装:
    sudo service sshd status
  开启ssh服务:
    sudo service sshd start

2.在hadoop的官网下载hadoop版本http://www-eu.apache.org/dist/hadoop/common/,选择相应的版本进行下载,然后使用winscp工具上传hadoop-2.9.1到master机器上。

3.解压hadoop
tar -zxvf hadoop-2.9.1

4.配置hadoop的环境变量,方便输入命令,vi ~/.bashrc 
    export HADOOP_HOME=/usr/local/software/hadoop-2.9.1
    export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

5.配置
  (1)etc/hadoop/core-site.xml
   
        fs.defaultFS
        hdfs://master:9000
    hdfs系统的根目录
   

  (2)配置etc/hadoop/hdfs-site.xml并创建/usr/local/hdfs/namedir和/usr/local/hdfs/datadir目录
   
        dfs.namenode.name.dir
        /usr/local/hdfs/namedir
    NameNode存储命名空间和持久化事物日志的路径
   

   
        dfs.datanode.data.dir
        /usr/local/hdfs/datadir
    datanode存储block的路径
   

   (3)etc/hadoop/yarn-site.xml
   
        yarn.resourcemanager.hostname
        master
    resourcemanager的ip
   

   
        yarn.nodemanager.aux-services
        mapreduce_shuffle
    配置mapreduce的shuffle
   

   
        yarn.log-aggregation-enable
        true
    开启日志聚集功能
   

   
        yarn.log-aggregation.retain-seconds
        3600
    配置1个小时聚集一次日志
   

   (4)etc/hadoop/mapred-site.xml
   
        mapreduce.framework.name
        yarn
    hadoop执行框架设置为yarn
   

   (5)etc/hadoop/slaves
        slave1
    slave2
    
 6.配置三台机器免密码登录,在master机器上面输入下面的命令
    $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    $ chmod 0600 ~/.ssh/authorized_keys
    $ ssh-copy-id -i slave1
    $ ssh-copy-id -i slave2
 
 7.格式化master所在机器的namenode
   bin/hdfs namenode -format
 
 8.在master机器上面启动hdfs
   start-dfs.sh
 jps可以看到的进程有,master上面有一个NameNode和一个SecondaryNameNode,slave1和slave2上面分别有一个DataNode
[root@master hdfs]# jps
27280 NameNode
27494 SecondaryNameNode
27640 Jps
 9.在master机器上面启动yarn
  start-yarn.sh
 jps这个时候可以看到,master上面有一个NameNode和一个SecondaryNameNode,同时新出现一个ResourceManager,slave1、slave2除了有一个DataNode,
 同时都新加了一个NodeManager
 [root@master hadoop-2.9.1]# jps
27280 NameNode
28612 Jps
27494 SecondaryNameNode
28286 ResourceManager

10.访问http://master:50070,就能看到hdfs的WEB界面

hadoop分布式环境搭建_第1张图片


   访问http://master:8088,就能看到yarn的WEB界面

hadoop分布式环境搭建_第2张图片

11.测试分布式模式下mapreduce单词统计
        [root@slave2 input]# cat test.txt 
        hadoop
        hdfs
        mapreduce
        nodemanager
        yarn
        hadoop
        hdfs
        nodemanager
        hadoop
        yarn
        hadoop
    1. 在hdfs系统上面创建目录input 
    hdfs dfs -mkdir /input
    2.上传test.txt到hdfs
    hdfs dfs -put  test.txt /input
    3. 在hadoop的home目录下输入命令并回车,bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.1.jar wordcount /input /output
    4.这个时候可以看见hdfs系统上面生成了一个目录output,查看output里面的内容
    [root@master hadoop-2.9.1]# hdfs dfs -text /output/*
        hadoop  4
        hdfs    2
        mapreduce       1
        nodemanager     2
        yarn    2

 如果想直接在yarn的WEB界面上看日志,可以在三台机器上输入命令,启动historyserver
   mr-jobhistory-daemon.sh start historyserver

最后,欢迎热爱技术的小伙伴加入我们的聊天群qq:715115302

你可能感兴趣的:(大数据,hadoop,hdfs,大数据,hadoop分布式环境搭建,mapreduce,yarn,hdfs)