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. web安全测试(上)

    前情提要: 公司的安全测试一直是安全部经理全权负责,测试部只做功能和自动化. 但是2019是公司业绩腾飞的一年,业务量越来越大了,安全部经理实在做不过来. 于是他给整个测试部培训<安全测试> ...

  2. MySQL5.7 数据库的my.cnf配置

    [client] port socket=/tmp/mysql.sock default-character-set=utf8 [mysql] no-auto-rehash default-chara ...

  3. C语言程序设计(三) 简单的算术运算和表达式

    第三章 简单的算术运算和表达式 算数运算符:一元.二元.三元(条件运算符) 1/2是整型除法,1.0/2是浮点数除法 求余运算(%)限定参与运算的两个操作数必须为整数,不能对两个实型数据进行求余运算 ...

  4. 《52讲轻松搞定网络爬虫》读书笔记 —— HTTP基本原理

    URI 和 URL URI :Uniform Resource Identifier,即统一资源标志符, URL :Universal Resource Locator,即统一资源定位符. 举栗子,加 ...

  5. ajax jsonP 解决跨域问题

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

  6. 测试必知必会系列- Linux常用命令 - cp

    21篇测试必备的Linux常用命令,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1672457.html 复制文 ...

  7. 基于 HTML5 WebGL 的发动机 3D 可视化系统

    前言     工业机械产品大多体积庞大.运输成本高,在参加行业展会或向海外客户销售时,如果没有实物展示,仅凭静态.简单的图片说明书介绍,无法让客户全面了解产品,不仅工作人员制作麻烦,客户看得也费力.如 ...

  8. 奇思妙想-java实现另类的pipeline模式

    磕叨 在公司做项目是见到前辈们写的一端任务链的代码,大概如下 Runnable task = new TaskA(new TaskB(new TaskC(new taskD()))); task.ru ...

  9. 两个奇技淫巧,将 Docker 镜像体积减小 99%

    原文链接:Docker Images : Part I - Reducing Image Size 对于刚接触容器的人来说,他们很容易被自己构建的 Docker 镜像体积吓到,我只需要一个几 MB 的 ...

  10. 如何简单的将手机投屏在windows上(可在电脑上直接操作手机)

    首先附上要使用的scrcpy源地址 接下来是如何使用(我用的是安卓手机+win10): 下载好后,首先使用数据线连接手机到电脑,并且手机需要打开开发人员选项(不知道如何打开的自行百度): 打开到安装s ...