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