大数据运维文档

大数据运维文档

一 hadoop相关运维

1 系统环境

由于机器安装时,硬盘挂在不同,所以hadoop安装路径可能不同。默认hadoop相关集群项目路径在/app目录下。

使用以下所有命令请切换到hadoop用户之下,请使用

su - hadoop

请不要使用hadoop用户之外的用户进行操作。

3 常用操作指令

3.1 启动zookeeper集群

zookeeper默认安装目录为/app/zookeeper,zookeeper默认安装为集群模式,需要按照namenode与datanode的编号顺序进行查找,保证所有机器的zookeeper都启动,启动命令为:

/app/zookeeper/bin/zkServer.sh start
/app/zookeeper/bin/zkServer.sh status

3.2 hadoop启动命令

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 /

3.3 启动hive

以下命令启动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下

3.4 启动spark指令

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

你可能感兴趣的:(hadoop)