zoukankan      html  css  js  c++  java
  • 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

    nn01nfsgw添加用户nsd1802uid 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/hadoopnfsgw主机

    在主机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 情冴

    模拟生产者发布消息

    模拟消费者接收消息

  • 相关阅读:
    使用命令安装laravel 项目
    laravel如何输出最后一条执行的SQL
    Laravel5.4 队列简单配置与使用
    PHP使用RabbitMQ实例
    初识RabbitMQ,附RabbitMQ+PHP演示实例
    Laravel 5.3 单用户登录的简单实现
    redis+thinkphp5的注册、登陆、关注基础例子
    Laravel 5.3 单用户登录的简单实现
    php面试题汇总
    (转)php读取文件使用redis的pipeline导入大批量数据
  • 原文地址:https://www.cnblogs.com/qingbai/p/11958399.html
Copyright © 2011-2022 走看看