Hadoop集群的搭建

Hadoop集群的搭建

1、准备工作:

  • (1)、三台Linux机器(我的三台是hadoop01,hadoop02,hadoop03),可以相互通信,设置了ssh
  • (2)、设置了时间同步
  • (3)、关闭了防火墙
  • (4)、HadoopJDK(我用的是Hadoop-2.7.1和jdk1.7.0_79)
  • (5)、在home下创建用户hadoop

2、安装JDK和Hadoop

(1) 将JDK解压到home/hadoop下

tar -zxvf jdk-7u79-linux-x64.gz -C /home/hadoop

(2) 将Hadoop解压到home/hadoop下

tar -zxvf hadoop-2.7.1.tar.gz -C /home/hadoop

(3) 配置环境变量

vi /etc/profile
#添加
export JAVA_HOME=/home/hadoop/jdk1.7.0_79
export HADOOP_HOME=/home/hadoop/hadoop-2.7.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME:sbin:

source  /etc/profile

3、修改配置文件

打开hadoop-2.7.1下的etc/hadoop目录

(1)设置hadoop-env.sh配置文件

vi   hadoop-env.sh  #添加如下内容
#java 添加
export JAVA_HOME=/home/hadoop/jdk1.7.0_79

#最好是原目录,之前写$JAVA_HOME一直出错

(2)设置core-site.xml配置文件

#在hadoop-2.7.1目录下新建hdfs的储存目录data
mkdir -r /home/hadoop/hadoop-2.7.1/data

vi core-site.xml   #添加如下内容

<configuration>
      <property>
           <name>fs.defaultFS</name>
           <value>hdfs://hadoop01:9000</value>
      </property>
      <property>
           <name>hadoop.tmp.dir</name>
           <value>/home/hadoop/hadoop-2.7.1/data</value>
      </property>
</configuration>

(3)设置hdfs-site.xml配置文件

vi hdfs-site.xml  #添加如下内容

<configuration>
    <property>
            <name>dfs.replication</name>
            <value>2</value>
    </property>
</configuration>

(4)设置mapred-site.xml配置文件

#修改文件
mv  mapred-site.xml.template   mapred-site.xml  
#默认mapred-site.xml不存在,使用mapred-site.xml.template生成
vi  mapred-site.xml  #添加如下内容

<configuration>
    <property>
          <name>mapreduce.framework.name</name>
          <value>yarn</value>
    </property>
</configuration>

(5)设置yarn-site.xml配置文件

vi   yarn-site.xml   #添加如下内容

<configuration>
       <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>hadoop01</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
    </property>
</configuration>

(6)设置slaves配置文件

vi  slaves    #修改后显示如下内容
两台主机名

4、启动

(1) 发送给另外两台机器

#删除share下的doc 目的是在发送的时候比较快
rm -rf /home/hadoop/hadoop-2.7.1/share/doc

cd /home/hadoop     #切换到/home/hadoop目录下
scp -r /home/hadoop/hadoop-2.7.1  hadoop02:/home/hadoop
scp -r /home/hadoop/hadoop-2.7.1  hadoop03:/home/hadoop

(2) 两台电脑配置环境变量,并重启

(3) 格式化HDFS 因为HDFS也是文件系统,第一次使用一个文件系统都要格式化

hadoop  namenode  -format      #在min1机器上执行格式化命令

(4) 启动hdfs集群

start-all.sh #启动
jsp #查看

显示成功
这里写图片描述

显示成功

这里写图片描述

(5) 查看

使用web查看集群的状态

使用浏览器打开 http://192.168.138.101:50070/(hadoop01的ip地址)

这里写图片描述

使用浏览器打开 http://192.168.138.101:8088/(hadoop01的ip地址)

这里写图片描述

5、测试

(1) hdfs简单操作演示

#浏览hdfs服务器上的文件列表
 hadoop fs -ls /        #在三台机器中任何机器上执行此操作都可以 显示hdfs的根目录下的所有文件
                       #由于第一次执行查询根目录下文件内容,所以为空

#在hdfs服务器上创建一个文件夹
  hadoop   fs  -mkdir  -p  /wordcount/input     #在三台机器中任何机器上执行此操作都可以
                                             #在根目录下创建一个名为input的文件夹
#上传本地文件到hdfs服务器上
  hadoop   fs  -put /home/hadoop/wordcount_content.txt /wordcount/input 
                            #在三台机器中任何机器上执行此操作都可以
                            #将本地的/home/hadoop/test.txt文件上传到hdfs的/input目录下

(2) 系统自带mapreduce案例演示

#启动系统自带的名为“wordcount”的mapreduce程序
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /wordcount/input /wordcount/output02   #执行一个mapreduce例子

(3) 运行结果

这里写图片描述
这里写图片描述

(4) 查看

hadoop fs -ls /wordcount/output02 
#-rw-r--r--   2 root supergroup          0 2018-09-10 20:16 /wordcount/output02/_SUCCESS
#-rw-r--r--   2 root supergroup        173 2018-09-10 20:16 /wordcount/output02/part-r-00000

hadoop fs -cat /wordcount/input /wordcount/output02/part-r-00000
#结果
License 1
ONDITIONS       1
OR      1
Unless  1
WARRANTIES      1
WITHOUT 1
agreed  1
an      1
applicabl       1
by      1
distributed     2
in      1
is      1
law     1
on      1
or      1
required        1
software        1
the     1
to      1
writing 1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值