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"