[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"

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM