Hadoop 3.1.2 踩坑入门

3 篇文章 0 订阅
2 篇文章 0 订阅

使用hadoop3.1.5,centOS 7,以及jdk8作为实验环境。

完成hadoop,三个模块,安装,调试,以及简单实验。此文章最后将分析一段日志里面的单词的出现个数,作为实验的最终目的。

1.hdfs(Hadoop Distributed File System)(其实就是一个文件系统,理解成存放数据的大硬盘)

2.yarn(Yet Another Resource Negotiator)(一个资源调度器,安排谁来干什么)

3.map/reduce(计算框架,帮助进行计算的)

0.1首先安装虚拟机软件

0.1.1 首先安装一个虚拟机软件VMware或者virtualBox。

0.1.2 然后使用。这里使用的是CentOS-7-x86_64-DVD-1810.iso 安装。关于linux发行版的安装,不多做解释。

配置使用以下的默认配置就可以了。安装完一份,使用复制虚拟机,再复制一模一样的三份出来。

选择最低基础设施服务器,也可以更高,低了需要手动安装一些

 

然后下一步,在这里安装的过程中配置以下root密码,这里使用root,由于太短,需要按两次确认才可以。

然后等待安装完成。

安装完成后,复制此虚拟机3份,修改在虚拟机的名字,在自己新建的hadoop文件夹下,方便管理,如下。

0.1.3 配置网络,注意,这边推荐使用static而不是dhcp,这样自己的ip地址不会因为路由的分配不同,而发生改变,除非路由根据mac绑定分配ip。关于linux网络配置,请自行百度。此处注意对虚拟机网卡的配置,选择无线桥接。配置完成之后,应该四台虚拟机都可以和本机相互ping通,四台虚拟机也能互相ping通。然后使用xshell连接四台虚拟机,这样可以远程连接四台设备,而不用在虚拟机中操作了,这边完成如下

0.1.4 检查是否安装了java,hadoop的运行是需要java环境的,参见 https://www.cnblogs.com/yjlch1016/p/8900841.html,或者直接下载rpm包安装,更简单,不用配置环境变量 安装好四台之后。如下:

0.1.5为了方便起见,可以修改linux主机名,方便观察设备。修改如下

hostnamectl set-hostname xxx 可以修改主机名为xxx 
hostname 可以查看主机名 
此处将200的主机名改为master 201-203 分别为slave1-3

1.1安装hadoop

1.1.1 解压hadoop,配置

1、在linux /usr/local路径创建目录:mkdir /usr/local/

2、解压hadoop到local目录中:tar -zxvf hadoop-2.2.0.tar.gz -C /usr/local/hadoop

3、重命名 mv hadoop-3.1.2/ hadoop/

4、进入目录:/usr/local/hadoop/,为hadoop主目录

5、告诉hadoop,java在哪里,修改/usr/local/hadoop/etc/hadoop/hadoop-env.sh 。

      47行修改为JAVA_HOME目录。export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64/

6、配置core-site,指名使用的文件系统时啥,在哪,以及hadoop运行期间产生的文件,放在那,这个也需要在每台设备上面配置,

 <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/var/hadoop</value>
    </property>

注意,这里的master需要配置一下域名解析,改一下etc/hosts,这样可以直接通过名称访问到设备。

192.168.1.200    master
192.168.1.201    slave1
192.168.1.202    slave2
192.168.1.203    slave3

7、解释一下,当4台设备通过主机名可以互相ping通,本机也能ping通,就可以了,这是基础的配置。hadoop由一台master带起若干台slave(在hadoop3中改为worker,其实是一个东西)。然后hadoop里面的hdfs也就是master运行nameNode,slave运行dataNode;在yarn中master运行ResourceManager,slave运行NodeManager。

 masterslave
hdfsnameNodedataNode
yarnResourceManagerNodeManager

1.2 配置运行hdfs

1.2.1、运行hdfs很简单,hdfs是分布式的文件系统,nameNode负责管理,而dataNode负责实际存储。

所以启动他只需要3个点,启动nameNode,启动dataNode,将2者关联起来

1.2.2、启动nameNode,大家都用过硬盘u盘,使用前需要格式化,hdfs也是一样,首先需要格式化,注意,此处只需要格式化nameNode,因为他是管理者,实际的存储dataNode并不需要格式化,或者说nameNode已经规定好了。

使用命令:hdfs --daemon start namenode

1.2.3 启动dataNode

使用命令:hdfs --daemon start datanode

当nameNode以及datanode启动完成之后。使用jsp检查是否启动。

也可以访问master:9870页面查看其所属节点。如下则以及成功。

 

 

1.2.4 关联nameNode和datanode。其实观察上图可知,已经关联成功了。怎么关联的呢,参见1.1.1的第6步,已经告诉datanode的namenode指向master。 可以使用:hdfs dfsadmin -report 指令上报hdfs集群信息

1.3 配置运行yarn

部署yarn同理,只需要给所有的nodeManager的yarn-site.xml加上一个ResourceManager在哪的配置就可以了,如下告诉自己的管理者resourcemanager在master上,就可以了。注:master是不用加此配置的,因为自己是resourcemanager不需要告诉自己resourcemanager在哪。

<configuration>
<!-- Site specific YARN configuration properties -->
         <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>master</value>
        </property>
</configuration>

成功之后访问如下

1.4 运行示例程序

下面使用yarn来分配资源,在hdfs中调用tys-receive-2019-04-09.0.log文件,来进行wordcount数据处理,如果正常,可以在 hdfs的/output目录下找到结果

运行示例程序:hadoop jar /home/hadoop/hadoop/share/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /tys-receive-2019-04-09.0.log  /output

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值