hadoop分布式环境搭建

6 篇文章 0 订阅
5 篇文章 0 订阅

首先规划:
三台机器,域名分别是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
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    <description>hdfs系统的根目录</description>
    </property>
  (2)配置etc/hadoop/hdfs-site.xml并创建/usr/local/hdfs/namedir和/usr/local/hdfs/datadir目录
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/usr/local/hdfs/namedir</value>
    <description>NameNode存储命名空间和持久化事物日志的路径</description>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/usr/local/hdfs/datadir</value>
    <description>datanode存储block的路径</description>
    </property>
   (3)etc/hadoop/yarn-site.xml
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    <description>resourcemanager的ip</description>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    <description>配置mapreduce的shuffle</description>
    </property>
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    <description>开启日志聚集功能</description>
    </property>
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>3600</value>
    <description>配置1个小时聚集一次日志</description>
    </property>
   (4)etc/hadoop/mapred-site.xml
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    <description>hadoop执行框架设置为yarn</description>
    </property>
   (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界面


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

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:852278138

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值