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 情冴

• 模拟生产者发布消息

• 模拟消费者接收消息

最新文章

  1. UIStackView before iOS9.0
  2. IOS第三天-新浪微博 - 版本新特性,OAuth授权认证
  3. UITableView 一直显示滚动条(ScrollBar Indicators)、滚动条Width(宽度)、滚动条Color(颜色)
  4. android-webview开发中的各种使用方法(持续更,尽量全)
  5. C# Chrome内核
  6. 代理、通知、KVO的应用
  7. IOS第一天
  8. ie6并不是不支持!important
  9. JavaScript简介及基础知识(1)
  10. Express/Koa/Hapi
  11. 面向对象五大原则(SRP、OCP、LSP、DIP、ISP)
  12. 论文笔记(9):Multiscale Combinatorial Grouping
  13. SAE提供服务分析
  14. float样式的使用
  15. 【转】iOS 音频-AVAudioSession
  16. JS创建对象之组合使用构造函数模式和原型模式
  17. php多种方式获得文件扩展名
  18. 移动端input 无法获取焦点的问题
  19. postgresql 主从 patroni
  20. MyEclipse 本地安装插件

热门文章

  1. 自动控制理论的MATLAB仿真实例(二)
  2. ES6: let 与 const
  3. Windows通过VNC连接并显示Linux桌面(Ubuntu16.04)
  4. 《Linux环境进程间通信》系列文章链接
  5. HTTP中主要的头字段
  6. 苹果笔记本 安装 ubuntu 默认没有无线网卡 的 解决方案
  7. 再刷JVM-JVM运行时数据区域
  8. Linux服务器(Centos)上安装jexus
  9. JWT校验流程源码
  10. MySQL----DML(增删改表中数据)