Hadoop(学习·2)
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
l kafka集群
• kafka 角色不集群结构
l 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 在监听
l 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
l 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 表示从开始读取消息
l kafka集群实验
• 利用 zookeeper 搭建一个 kafka 集群
• 创建一个 topic
• 查看系统 topic 情冴
• 模拟生产者发布消息
• 模拟消费者接收消息
Hadoop(学习·2)的更多相关文章
- Hadoop学习之旅二:HDFS
本文基于Hadoop1.X 概述 分布式文件系统主要用来解决如下几个问题: 读写大文件 加速运算 对于某些体积巨大的文件,比如其大小超过了计算机文件系统所能存放的最大限制或者是其大小甚至超过了计算机整 ...
- Hadoop学习笔记—22.Hadoop2.x环境搭建与配置
自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...
- Hadoop学习之旅三:MapReduce
MapReduce编程模型 在Google的一篇重要的论文MapReduce: Simplified Data Processing on Large Clusters中提到,Google公司有大量的 ...
- [Hadoop] Hadoop学习历程 [持续更新中…]
1. Hadoop FS Shell Hadoop之所以可以实现分布式计算,主要的原因之一是因为其背后的分布式文件系统(HDFS).所以,对于Hadoop的文件操作需要有一套全新的shell指令来完成 ...
- Hadoop学习笔记—2.不怕故障的海量存储:HDFS基础入门
一.HDFS出现的背景 随着社会的进步,需要处理数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是却不方便管理和维护—>因此,迫切需要一种系统来管理多 ...
- Hadoop学习路线图
Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括, ...
- Hadoop学习(5)-- Hadoop2
在Hadoop1(版本<=0.22)中,由于NameNode和JobTracker存在单点中,这制约了hadoop的发展,当集群规模超过2000台时,NameNode和JobTracker已经不 ...
- Hadoop学习总结之五:Hadoop的运行痕迹
Hadoop学习总结之五:Hadoop的运行痕迹 Hadoop 学习总结之一:HDFS简介 Hadoop学习总结之二:HDFS读写过程解析 Hadoop学习总结之三:Map-Reduce入门 Ha ...
- Hadoop学习笔记(7) ——高级编程
Hadoop学习笔记(7) ——高级编程 从前面的学习中,我们了解到了MapReduce整个过程需要经过以下几个步骤: 1.输入(input):将输入数据分成一个个split,并将split进一步拆成 ...
- Hadoop学习笔记(6) ——重新认识Hadoop
Hadoop学习笔记(6) ——重新认识Hadoop 之前,我们把hadoop从下载包部署到编写了helloworld,看到了结果.现是得开始稍微更深入地了解hadoop了. Hadoop包含了两大功 ...
随机推荐
- java面试汇总一
第一部分 Java SE基础(1) 1.1 java的8种基本数据类型 装箱 拆箱 1.1.1 8种基本的数据类型 1.1.2装箱 拆箱 自动装箱是 Java 编译器在基本数据类型和对应的对象包 ...
- Java反射之数组的反射应用
上一篇我们说了Java反射之成员方法的反射 这一篇我们说一说数组的反射应用,数组的有长度等属性,所以也会有相应的方法获得这些属性,这里我们不一一列举哪些方法.我们来了解反射包中的一个类----Arra ...
- CSS3-3D技术
CSS3-3D技术 transform翻译成汉语具有"变换"或者"改变"的意思. 此属性具有非常强大的功能,比如可以实现元素的位移.拉伸或者旋转等效果, 最能体 ...
- Linux常用命令总结(一)
一.cd命令 用于切换当前目录,类似与win的命令.它可以切换到绝对路径,也可以是相对路径. cd /root/Doce # 切换到绝对路径/root/Doce目录下 cd ./path # 切 ...
- GO语言web框架Gin之完全指南(一)
作为一款企业级生产力的web框架,gin的优势是显而易见的,高性能,轻量级,易用的api,以及众多的使用者,都为这个框架注入了可靠的因素.截止目前为止,github上面已经有了 35,994 star ...
- JDK14的新特性-Switch新功能
2020年3月17日,Oracle正式发布了JDK14版本,共新增了16项新特性 本文重点写一下关于switch的新功能: switch 表达式扩展了 switch 语句,使其不仅可以作为语句(sta ...
- Oracle设置和修改system和scott的口令,并且如何连接到system和scott模式下
1.在Oracle数据库中,有个示例模式scott和系统模式system. 2.在安装数据库时只是设置了system的口令,即密码,如果忘记的话可以使用如下办法,首先打开sqlplus工具或者cmd命 ...
- Idea无法调出搜狗等中文输入法
在用户目录下的文件.xprofile 中添加一下内容 export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=“@ ...
- 服务器模型---socket!!!
/*********************服务器模型******************/ 一.循环服务器:循环服务器在同一时刻只可以相应一个客户端请求: 二.并发服务器:并发服务器在同一时刻可以相 ...
- [Jenkins01] Jenkins的安装和部署(jenkins教程)
一.jenkins的下载.安装以及环境的搭建部署. 1.什么是jenkins以及它的作用: Jenkins 是一个可扩展的持续集成(CI)平台.它只是一个平台,真正运作的都是插件. Jenkins的主 ...