由于机器安装时,硬盘挂在不同,所以hadoop安装路径可能不同。默认hadoop相关集群项目路径在/app目录下。
使用以下所有命令请切换到hadoop用户之下,请使用
su - hadoop
请不要使用hadoop用户之外的用户进行操作。
zookeeper默认安装目录为/app/zookeeper,zookeeper默认安装为集群模式,需要按照namenode与datanode的编号顺序进行查找,保证所有机器的zookeeper都启动,启动命令为:
/app/zookeeper/bin/zkServer.sh start
/app/zookeeper/bin/zkServer.sh status
hadoop的命令分为两种,一种为bin命令,一种为sbin命令,bin命令一般是维护hadoop集群内部文件系统的相关指令,而sbin命令是维护hadoop本身的指令。
hadoop命令在hadoop安装目录下的bin和sbin目录中,即
%HADOOP_HOME%/bin
%HADOOP_HOME%/sbin
此命令可以启动hadoop集群中的所有节点,建议在namenode节点中执行,HA的集群启动之前需要确认zookeeper是否启动,如未启动需要优先启动zookeeper
%HADOOP_HOME%/sbin/start-all.sh
%HADOOP_HOME%/sbin/stop-all.sh
启动hadoop中datanode与nodemanager
# 启动所有datanode
%HADOOP_HOME%/sbin/hadoop-daemons.sh start datanode
# 启动所在机器的datanode
%HADOOP_HOME%/sbin/hadoop-daemon.sh start datanode
# 启动所有nodemanager
%HADOOP_HOME%/sbin/yarn-daemons.sh start nodemanager
# 启动当前节点的nodemanager
%HADOOP_HOME%/sbin/yarn-daemon.sh start nodemanager
# 停止所有datanode
%HADOOP_HOME%/sbin/hadoop-daemons.sh stop datanode
# 停止所在机器的datanode
%HADOOP_HOME%/sbin/hadoop-daemon.sh stop datanode
# 停止所有nodemanager
%HADOOP_HOME%/sbin/yarn-daemons.sh stop nodemanager
# 停止当前节点的nodemanager
%HADOOP_HOME%/sbin/yarn-daemon.sh stop nodemanager
启动hadoop中的namenode
%HADOOP_HOME%/sbin/hadoop-daemon.sh start namenode
启动jobhistory,zhege ji
%HADOOP_HOME%/sbin/mr-jobhistory-daemon.sh start historyserver
关闭安全模式,当集群出现问题时,hadoop可能开启安全模式,此时集群只读,关闭可以使用以下指令
hdfs dfsadmin -safemode leave
启动hadoop数据平衡
%HADOOP_HOME%/sbin/start-balancer.sh
启动journalnode,在HA架构中journalnode进程负责同步主备之间的namenode元数据
# 启动所有的journalnode进程
hadoop-daemons.sh start journalnode
# 启动所有的journalnode进程
hadoop-daemons.sh start journalnode
# 启动当前节点的journalnode进程
hadoop-daemon.sh start journalnode
检查集群状态
hdfs fsck /
以下命令启动hvie的jdbc的命令
nohup hive --service hiveserver2 &
我编写了一个重启hive的脚本
#!/bin/bash --login
ps -ef | grep HiveServer2| awk '{print $2}' |xargs kill -9
su - hadoop << EOF
kill -9 $hivepid
nohup hive --service hiveserver2 &
EOF
默认路径在/home/hadoop/script下
spark默认安装路径放于/app下,启动spark的jdbc需要增加参数,这些参数直接影响了启动后的查询效果
以下是启动指令
%SPAKR_HOME%/sbin/start-thriftserver.sh --master yarn --driver-memory 10G --executor-memory 12288m --driver-cores 4 --executor-cores 4 --conf spark.sql.hive.verifyPartitionPath=true --conf spark.executor.memoryOverhead=2048m --conf spark.dynamicAllocation.enabled=true --conf spark.shuffle.service.enabled=true --conf spark.dynamicAllocation.executorIdleTimeout=60 --conf spark.dynamicAllocation.cachedExecutorIdleTimeout=18000 --conf spark.dynamicAllocation.initialExecutors=8 --conf spark.dynamicAllocation.maxExecutors=10 --conf spark.dynamicAllocation.minExecutors=8 --conf spark.dynamicAllocation.schedulerBacklogTimeout=1000 --conf spark.eventLog.enabled=true --conf spark.sql.broadcastTimeout=20000 --conf spark.sql.hive.verifyPartitionPath=true --conf spark.sql.parquet.cacheMetadata=false --conf spark.default.parallelism=600 --conf spark.sql.auto.repartition=true --conf spark.sql.shuffle.partitions=400 --conf spark.shuffle.service.enabled=true --conf spark.scheduler.mode=FAIR --conf spark.rdd.compress=true