HAOOP完全分布式

一、 Hadoop介绍

** HDFS:分布式存储文件 //用来存数据

角色:NameNode和DataNode

** YARN:分布式资源调度框架(Hadoop2.x以上才引用) //调用计算机资源来进行操作

角色:ResourceManager和NodeManager

** MapReduce:分布式数据处理框架 //用来对数据分析

** 解压Hadoop

tar -zxf xxx.tar.gz -C xxxx

** Hadoop完全分布式配置

** 准备部署的环境:

linux01 linux02 linux03

namenode resourcemanager

datanode datanode datanode

nodemanager nodemanager nodemanager

** 进入到hadoop的etc/hadoop目录下

删除windows脚本:

$ rm -rf *.cmd

** 重命名文件:

$ mv mapred-site.xml.template mapred-site.xml

配置文件:

evn文件:只需要修改JAVA_HOME,我的机器:/home/admin/modules/jdk1.8.0_181

//查看java_home的路径 echo $JAVA_HOME

hadoop-env.sh

yarn-env.sh

mapred-env.sh

site文件:

core-site.xml

<configuration>

<!--【这里的值指的是默认的HDFS路径。这里只有一个HDFS集群,在这里指定!该值来自于hdfs-site.xml中的配置】-->

<property>

<name>fs.defaultFS</name>

<value>hdfs://node1:9000</value>

</property>

<!--【这里的路径默认是NameNode、DataNode、JournalNode等存放数据的公共目录。用户也可以自己单独指定这三类节点的目录 -->

<property>

<name>hadoop.tmp.dir</name>

<value>/export/server/hadoop-2.7.4/data/temp</value>

</property>

</configuration>

 

hdfs-site.xml

<configuration>

<!-- 指定数据冗余份数 -->

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<!-- 关闭权限检查-->

<property>

<name>dfs.permissions.enable</name>

<value>false</value>

</property>

 

<!-- secondary namenode 所在主机的 ip 和端口-->

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>node2:50090</value>

</property>

 

<property>

<name>dfs.namenode.http-address</name>

<value>node1:50070</value>

</property>

 

<property>

<name>dfs.webhdfs.enabled</name>

<value>true</value>

</property>

</configuration>

 

 

** yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

 

<property>

<name>yarn.resourcemanager.hostname</name>

<value>node1</value>

</property>

 

<property>

<name>yarn.log-aggregation-enable</name>

<value>true</value>

</property>

 

<property>

<name>yarn.log-aggregation.retain-seconds</name>

<value>86400</value>

</property>

 

<property>

<name>yarn.log.server.url</name>

<value>http://node1:19888/jobhistory/logs/</value>

</property>

</configuration>

 

** mapred-site.xml

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<!-- 配置 MapReduce JobHistory Server 地址 ,默认端口10020 -->

<property>

<name>mapreduce.jobhistory.address</name>

<value>node1:10020</value>

</property>

 

<!-- 配置 MapReduce JobHistory Server web ui 地址, 默认端口19888 -->

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>node1:19888</value>

</property>

</configuration>

 

slaves文件:从节点

node1

node2

node3

 

 

/export/server/hadoop-2.7.4

** 分发安装配置完成的hadoop到linux02以及linux03

$ scp -r hadoop-2.7.4/ node2:/export/server

$ scp -r hadoop-2.7.4/ node3:/export/server

scp -r /etc/profile node2:/etc/profile

** 格式化namenode(尖叫提示:在hadoop的根目录下执行)

$ bin/hdfs namenode -format

** 启动服务

HDFS:

$ sbin/start-dfs.sh

YARN:(尖叫提示:一定要在ResourceManager所在机器启动 linux02)

$ sbin/start-yarn.sh

JobHistoryServer:

$ sbin/mr-jobhistory-daemon.sh start historyserver

三、常用工具脚本

** 概念梳理

** 系统变量与用户变量

** 使用CRT开启一个远程会话的时候,计算机默认加载:

/etc/profile //系统变量

/home/admin/.bash_profile //用户变量

/home/admin/.bashrc //用户变量

** 使用SSH访问另一台机器的时候,不加载系统变量

** 操作

** 将系统变量追加到用户变量中(3台机器都要操作)

$ cat /etc/profile >> .bashrc //两个大于号是追加的意思

 

** 编写脚本

#!/bin/bash

for i in admin@linux01 admin@linux02 admin@linux03

do

echo "==================$i==================="

ssh $i 'jps'

done

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值