Hadoop

操作步骤:

192.168.1.110-113 主机名分别为 nn01(zhuji)  node1 node2 node3 个个主机之间要免密 互通/etc/host

1. 安装openjdk-devel

# yum -y install java-1.8.0-openjdk-devel

# yum -y install java-1.8.0-openjdk.x86_64

 2. 修改配置文件

# vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh

ExportJAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre"

export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-"/usr/local/hadoop/etc/hadoop"}

修改这两行给配置路径

 3. 把hadoop包发送到管理机nn01

# mv hadoop /usr/local/hadoop

# cd /usr/local/hadoop/etc/hadoop/

# vim slaves

Node1

Node2

Node3

# core-site.xml

<configuration>

vim<name>fs.defaultFS</name>

<value>hdfs://nn01:9000</value>

</property>

<property>

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

<value>/var/hadoop</value>

</property>

</configuration>

# for i in 192.168.1.11{1..3}; do ssh $i mkdir /var/hadoop; done

# vim hdfs-site.xml

<configuration>

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

<value>nn01:50070</value>

</property>

<property>

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

<value>nn01:50090</value>

</property>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

</configuration>

4. 上述配置文件中的如<name>dfs.namenode.secondary.http-address</name>中间这些可以在登录dahoop.hapache.org复制

以上可以登录hadoop.apache.org

然后在左下角找与自己安装最近的版本然后

在左下角最下面

然后把hadoop整个文件都发送到其他的节点node1 node2 node3

# for i in 192.168.1.11{1..3}; do scp -r /usr/local/hadoop/ $i:/usr/local/; done

# ./bin/hdfs namenode -format

# ./sbin/start-dfs.sh

# jps

# vim /usr/local/hadoop/etc/hadoop/mapred-site.xml

<configuration>

<property>

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

<value>yarn</value>

</property>

</configuration>

# vim yarn-site.xml

<configuration>

<property>

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

<value>nn01</value>

</property>

<property>

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

<value>mapreduce_shuffle</value>

</property>

</configuration>

# cd /usr/local/hadoop

# ./sbin/start-yarn.sh 重启

# ./bin/yarn node -list

# http://192.168.1.110:50070

# http://192.168.1.110:50090

# http://192.168.1.110:8088

# http://192.168.1.111:50075

# http://192.168.1.111:8042

5. 成功可以看网页就算为成功

# ./bin/hadoop fs -ls / 查看【集群】文件系统的/情况

ls / 查看【本地】文件系统的/ 情况

# ./bin/hadoop fs -mkdir /oo 在【集群】文件系统创建文件夹

mkdir /oo 在【本地】文件系统创建文件夹

# ./bin/hadoop fs  -put 上传到集群文件系统

# ./bin/hadoop fs  *.txt -put /oo

# ./bin/hadoop fs -ls /

# ./bin/hadoop fs  -get 下载到本地文件系统

调用集群分析

# ./bin/hadoop jar

share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar wordcount /oo /xx

# ./bin/hadoop fs -cat /xx/*


安装两台机器。禁用selinux,卸载firewalld

192.168.1.115  》 nsfgw

192.168.1.120  》 client

注意:Nfsgw配置/etc/hosts 需要把nn01主机的/etc/hosts

在nn01与nfsgw添加用户nsd1802(uid giu都要一样)

1. 停止hadoop集群/usr/local/hadoop/sbin/stop-all.sh

在nn01主机上配置vim core-site.xml

<property>

<name>hadoop.proxyuser.nsd1802.groups</name>

<value>*</value>

</property>

<property>

<name>hadoop.proxyuser.nsd1802.hosts</name>

<value>*</value>

</property>

2. 同步配置到node1 node2 node3 重新启动

在nn01机发送/usr/local/hadoop给nfsgw主机

在主机nfsgw

# rm -rf /usr/local/hadoop/logs

# mkdir /usr/local/hadoop/logs

# setfacl -m usr:nsd1802:rwx logs

在nfsgw主机

# yum -y install java-1.8.0-openjdk-devel

# yum -y install java-1.8.0-openjdk.x86_64

# vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml

<property><name>nfs.exports.allowed.hosts</name>

<value>* rw</value>

</property>

<property>

<name>dfs.namenode.accesstime.precision</name>

<value>3600000</value>

</property>

<name>nfs.dump.dir</name>

<value>/var/nfstemp</value>

</property>

<property>

<name>nfs.rtmax</name>

<value>4194304</value>

</property>

<property>

<name>nfs.wtmax</name>

<value>1048576</value>

</property>

<property>

<name>nfs.port.monitoring.disabled</name>

<value>false</value>

</property>

</configuration>

 3. 创建/var/hadoop

创建/var/nfstemp

# chown nsd1802:users /var/nfstemp

# yum remove rpcbind nfs-utils

# /usr/local/hadoop/sbin/hadoop-daemon.sh --script ./bin/hdfs start portmap

# su -l nsd1802

# /usr/local/hadoop/sbin/hadoop-daemon.sh --script ./bin/hdfs start nfs3

# jps

1141 Nfs3

1047 Portmap

1327 Jps

4. 在client的机

# yum -y install nfs-utilsmount -t nfs -o

# mount -t nfs -o vers=3,proto=tcp,nolock,noacl,noatime,sync 192.168.1.115:/ /mnt/


zookeeper

• Zookeeper 实验

– 搭建 zookeeper 集群知

– 添加 observer

– 查找 leader

– 模拟 leader 故障

– 模拟 follower 故障

– 故障恢复

kafka集群

• kafka是什么?

– Kafka是由LinkedIn开发的一个分布式的消息系统

– kafka是使用Scala编写

– kafka是一种消息中间件

• 为什么要使用 kafka

– 解耦、冗余、提高扩展性、缓冲

– 保证顺序,灵活,削峰填谷

– 异步通信

kafka集群

• kafka 角色不集群结构

– producer:生产者,负责发布消息

– consumer:消费者,负责读取处理消息

– topic:消息的类别

– Parition:每个Topic包含一个戒多个Partition.

– Broker:Kafka集群包含一个戒多个服务器

– Kafka通过Zookeeper管理集群配置,选丼leader

kafka集群

• kafka 角色不集群结构

kafka集群

• kafka 集群的安装配置

– kafka 集 群 的 安 装 配 置 是 依 赖 zookeeper 的 , 搭 建kafka 集群乊前,首先请创建好一个可用 zookeeper集群

– 安装 openjdk 运行环境

– 分发 kafka 拷贝到所有集群主机kafka集群

• kafka 集群的安装配置

• server.properties

– broker.id

– 每台服务器的broker.id都丌能相同

– zookeeper.connect

– zookeeper 集群地址,丌用都列出,写一部分即可

– 修改配置文件

– 吭劢不验证

• kafka 集群的安装配置

– 在所有主机吭劢服务

– /usr/local/kafka/bin/kafka-server-start.sh

-daemon /usr/local/kafka/config/server.properties

– 验证

– jps 命令应该能看到 kafka 模块

– netstat 应该能看到 9092 在监听

kafka集群

• 集群验证不消息发布

– 创建一个 topic

./bin/kafka-topics.sh --create --partitions 2 --replication-

factor 2 --zookeeper node3:2181 --topic mymsg

– 查看已经存在的 topic

./bin/kafka-topics.sh --list --zookeeper node2:2181

– 查看刚刚创建的 topic

./bin/kafka-topics.sh --describe --zookeeper node1:2181 --topic mymsg

kafka集群

• 集群验证不消息发布

– 在两个终端里面,生产者发布消息,消费者读取消息

– 生产者

./bin/kafka-console-producer.sh  --broker-list master:9092,node1:9092 --topic mymsg

– 消费者

./bin/kafka-console-consumer.sh  --bootstrap-server  node2:9092,node3:9092 --topic mymsg

– --from-beginning 表示从开始读取消息

kafka集群实验

• 利用 zookeeper 搭建一个 kafka 集群

• 创建一个 topic

• 查看系统 topic 情冴

• 模拟生产者发布消息

• 模拟消费者接收消息

Hadoop(学习&#183;2)的更多相关文章

  1. Hadoop学习之旅二:HDFS

    本文基于Hadoop1.X 概述 分布式文件系统主要用来解决如下几个问题: 读写大文件 加速运算 对于某些体积巨大的文件,比如其大小超过了计算机文件系统所能存放的最大限制或者是其大小甚至超过了计算机整 ...

  2. Hadoop学习笔记—22.Hadoop2.x环境搭建与配置

    自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...

  3. Hadoop学习之旅三:MapReduce

    MapReduce编程模型 在Google的一篇重要的论文MapReduce: Simplified Data Processing on Large Clusters中提到,Google公司有大量的 ...

  4. [Hadoop] Hadoop学习历程 [持续更新中…]

    1. Hadoop FS Shell Hadoop之所以可以实现分布式计算,主要的原因之一是因为其背后的分布式文件系统(HDFS).所以,对于Hadoop的文件操作需要有一套全新的shell指令来完成 ...

  5. Hadoop学习笔记—2.不怕故障的海量存储:HDFS基础入门

    一.HDFS出现的背景 随着社会的进步,需要处理数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是却不方便管理和维护—>因此,迫切需要一种系统来管理多 ...

  6. Hadoop学习路线图

    Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括, ...

  7. Hadoop学习(5)-- Hadoop2

    在Hadoop1(版本<=0.22)中,由于NameNode和JobTracker存在单点中,这制约了hadoop的发展,当集群规模超过2000台时,NameNode和JobTracker已经不 ...

  8. Hadoop学习总结之五:Hadoop的运行痕迹

    Hadoop学习总结之五:Hadoop的运行痕迹   Hadoop 学习总结之一:HDFS简介 Hadoop学习总结之二:HDFS读写过程解析 Hadoop学习总结之三:Map-Reduce入门 Ha ...

  9. Hadoop学习笔记(7) ——高级编程

    Hadoop学习笔记(7) ——高级编程 从前面的学习中,我们了解到了MapReduce整个过程需要经过以下几个步骤: 1.输入(input):将输入数据分成一个个split,并将split进一步拆成 ...

  10. Hadoop学习笔记(6) ——重新认识Hadoop

    Hadoop学习笔记(6) ——重新认识Hadoop 之前,我们把hadoop从下载包部署到编写了helloworld,看到了结果.现是得开始稍微更深入地了解hadoop了. Hadoop包含了两大功 ...

随机推荐

  1. PHP8年开发经验原创开发文档教程

    订阅微信公众号: gzgwgas 每天为你分享PHP开发经验,坚决不踩坑,坚决不入坑. 微信扫码,关注公众号有惊喜!

  2. MySQL中INSERT INTO SELECT的使用

    1. 语法介绍      有三张表a.b.c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段.对于这种情况,可以使用如下的语句来实现: INSERT INTO db1_name (fi ...

  3. 吃透这份pdf,面试阿里、腾讯、百度等一线大厂,顺利拿下心仪offer!

    前言 最近一位年前裸辞的朋友来找我诉苦,说因为疫情原因现在都在家吃老本.本想着年后就来找工作的,但是现在这个情况也不好找,而且很多公司也随着这次疫情面临着资金紧缺导致裁员严重的甚至倒闭,导致很多人失业 ...

  4. layui的form表单的checkbox全选与全不选问题

    <!DOCTYPE html> <html> <head>     <meta charset="utf-8">     <m ...

  5. css 超过标签定义的宽度后显示----

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. 微信小程序修改request合法域名不生效及解决方法

    在小程序微信公众平台修改后请求,依然在console中显示修改前的域名. 解决:在小程序开发者工具中点击“详情”后点击“域名信息”,就会自动刷新

  7. 【TIJ4】照例,每个分类的第一篇文章随便说两句

    [其实没啥好说的,完].... 嘛,其实本来也就是放练习的地方. 如果说世界上的课本按练习难度分成两类,一类是像Weiss那种习题比内容难的,还有就是TIJ这种讲得详尽但是习题相对简单的了吧. 不过不 ...

  8. SpringCloud微服务:Sentinel哨兵组件,管理服务限流和降级

    源码地址:GitHub·点这里||GitEE·点这里 一.基本简介 1.概念描述 Sentinel 以流量为切入点,从流量控制.熔断降级.系统负载保护等多个维度保护服务的稳定性.包括核心的独立类库,监 ...

  9. 【攻防世界】open-source

    难度系数: 3.0 题目来源: Pediy CTF 2018 题目描述:菜鸡发现Flag似乎并不一定是明文比较的 先用:PE查壳,发现没有

  10. SpringBoot集成Swagger(根据源码深入学习Swagger的用法)

    从源码层面讲解Swagger的用法,快速了解掌握Swagger 简介 Swagger 是一个规范且完整的框架,用于生成.描述.调用和可视化 Restful 风格的 Web 服务. 自动生成html文档 ...