• [hadoop] 集群启动和内存调优


    1、启动Hadoop集群

    #首先查看下zoo.cfg里面配置的server.id和集群主机的id是否一致
    #如果不一致会造成yarn控制不了从节点的启动
    
    cat /home/hadoop/zookeeper/conf/zoo.cfg 
    cat /home/hadoop/zookeeper/data/myid
    
    #分别停止和启动各节点的zookeeper 
    #保证每台节点的状态为follow或者leader
    
    /home/hadoop/zookeeper/bin/zkServer.sh stop
    /home/hadoop/zookeeper/bin/zkServer.sh start
    /home/hadoop/zookeeper/bin/zkServer.sh status
    
    #启动hadoop
    #成功启动后可访问 
    #http://master:50070/dfshealth.html#tab-overview
    #http://master:8088/cluster/nodes
    
    /home/hadoop/hadoop/sbin/start-all.sh 
    /home/hadoop/hadoop/sbin/stop-all.sh 
    
    #启动hbase
    #成功启动后可访问 
    #http://master:60010/master-status?filter=all#baseStats
    #Region Servers 会列出hbase的节点列表
    
    /home/hadoop/hbase/bin/start-hbase.sh 
    /home/hadoop/hbase/bin/stop-hbase.sh 

    2、提示信息

    #hadoop
    
    [hadoop@master sbin]$ ./start-all.sh 
    This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
    Starting namenodes on [master]
    master: starting namenode, logging to /home/hadoop/hadoop/logs/hadoop-hadoop-namenode-master.out
    localhost: starting datanode, logging to /home/hadoop/hadoop/logs/hadoop-hadoop-datanode-master.out
    node1: starting datanode, logging to /home/hadoop/hadoop/logs/hadoop-hadoop-datanode-node1.out
    node2: starting datanode, logging to /home/hadoop/hadoop/logs/hadoop-hadoop-datanode-node2.out
    Starting secondary namenodes [master]
    master: starting secondarynamenode, logging to /home/hadoop/hadoop/logs/hadoop-hadoop-secondarynamenode-master.out
    starting yarn daemons
    starting resourcemanager, logging to /home/hadoop/hadoop/logs/yarn-hadoop-resourcemanager-master.out
    localhost: starting nodemanager, logging to /home/hadoop/hadoop/logs/yarn-hadoop-nodemanager-master.out
    node1: starting nodemanager, logging to /home/hadoop/hadoop/logs/yarn-hadoop-nodemanager-node1.out
    node2: starting nodemanager, logging to /home/hadoop/hadoop/logs/yarn-hadoop-nodemanager-node2.out
    
    
    #hbase
    
    [hadoop@master sbin]$ start-hbase.sh 
    master: starting zookeeper, logging to /home/hadoop/hbase/bin/../logs/hbase-hadoop-zookeeper-master.out
    node1: starting zookeeper, logging to /home/hadoop/hbase/bin/../logs/hbase-hadoop-zookeeper-node1.out
    node2: starting zookeeper, logging to /home/hadoop/hbase/bin/../logs/hbase-hadoop-zookeeper-node2.out
    starting master, logging to /home/hadoop/hbase/logs/hbase-hadoop-master-master.out
    node2: starting regionserver, logging to /home/hadoop/hbase/bin/../logs/hbase-hadoop-regionserver-node2.out
    node1: starting regionserver, logging to /home/hadoop/hbase/bin/../logs/hbase-hadoop-regionserver-node1.out

    3、守护进程

    #主节点
    [hadoop@master sbin]$ jps
    11178 Jps
    10212 ResourceManager(资源管理者)
    9691 NameNode(主节点)
    10028 SecondaryNameNode(备用主节点)
    11032 HMaster(Hbase管理者)
    10332 NodeManager(节点管理者)
    6923 QuorumPeerMain(zookeeper守护进程)
    9809 DataNode(主节点也作为数据节点)
    
    #从节点
    [hadoop@node2 conf]$ jps
    6782 Jps
    6640 HRegionServer(Hbase从节点)
    6225 NodeManager(节点管理)
    6532 HQuorumPeer(zookeeper守护进程)
    6103 DataNode(数据节点)

    4、心得总结

    #启动顺序
    
    (1)先用jps查看是否还有没有停止的hadoop服务,有就先全部停止
    (2)先启动 zookeeper:~/zookeeper/bin/zkServer.sh start
    不管主从每一个节点的zk都要单独启动 启动后
    用jps查看 有没有 QuorumPeerMain 进程 
    或者用 ~/zookeeper/bin/zkServer.sh status 查看角色
    从属:follower
    主:leader
    
    (3)再启动hadoop:~/hadoop/sbin/start-all.sh
    主节点 jps查看是否有Namenode等进程
    从节点 jps查看是否有Datanode等进程
    
    (4)最后启动hbase:~/hbase/bin/start-hbase.sh
    主节点 jps查看是否有HMaster等进程
    从节点 jps查看是否有HRegionserver等进程

    #其他

      (1)如果从节点HBASE启动失败
      1、检查zookeeper/data下myid是否正确
      2、实在不行单独启动从节点
      hbase-daemon.sh start regionserver

    
    

      (2)namenode没启动成功先检查是不是端口被占用
      netstat -atunp | grep 9000
      ps -aux | grep hadoop

    
    

      (3)如果zk的端口被绑定占用
      ps -aux | grep zookeeper
      看看是否有其他的用户比如【root】启动过zk

     

    5、内存调优

    【hadoop】512 - 4096
    
    /home/hadoop/hadoop/etc/hadoop/hadoop-env.sh
    export HADOOP_PORTMAP_OPTS="-Xmx4096m $HADOOP_PORTMAP_OPTS"
    export HADOOP_CLIENT_OPTS="-Xmx4096m $HADOOP_CLIENT_OPTS"
    
    【yarn】2048 - 4096
    /home/hadoop/hadoop/etc/hadoop/yarn-env.sh
    JAVA_HEAP_MAX=-Xmx4096m
    
    
    【hbase】
    
    #以前的
    export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS $HBASE_JMX_BASE -Xmx1000m -Xms1000m -Xmn750m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70"
    export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS $HBASE_JMX_BASE -Xmx3096m -Xms3096m -Xmn1220m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70"
    export HBASE_THRIFT_OPTS="$HBASE_THRIFT_OPTS $HBASE_JMX_BASE -Xms100m -Xmx1024m"
    export HBASE_ZOOKEEPER_OPTS="$HBASE_ZOOKEEPER_OPTS $HBASE_JMX_BASE -Xms100m -Xmx1024m"
    
    #现在修改为
    export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS $HBASE_JMX_BASE -Xmx8192m -Xms8192m -Xmn6144m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70"
    export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS $HBASE_JMX_BASE -Xmx10240m -Xms10240m -Xmn5120m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=70"
    export HBASE_THRIFT_OPTS="$HBASE_THRIFT_OPTS $HBASE_JMX_BASE -Xms1024m -Xmx4096m"
    export HBASE_ZOOKEEPER_OPTS="$HBASE_ZOOKEEPER_OPTS $HBASE_JMX_BASE -Xms2048m -Xmx4096m"
  • 相关阅读:
    java命名规范:注重细节
    撒旦法撒旦法三阿斯顿发暗室逢灯
    369绿色浏览器开发记录
    时间过得好快
    C++进程间通信(常用理解例子)-买票
    MFC常用 控制对话框透明属性函数
    DedeCms 建站随笔(一)
    个人作业收官——软件工程实践总结
    第三次作业——个人作业——软件产品案例分析
    UML用例图
  • 原文地址:https://www.cnblogs.com/avivaye/p/5250295.html
Copyright © 2020-2023  润新知