以JDK8为例
export JAVA_HOME=/home/BernardX/Toolkits/jdk8u191-b12
export PATH=${JAVA_HOME}/bin:${PATH}
export JRE_HOME=${JAVA_HOME}/jre
以scala2.11为例
export SCALA_HOME=/home/lemaker/Toolkits/scala-2.11.8
export PATH=${SCALA_HOME}/bin:${PATH}
以Spark2.4.5为例:
export SPARK_HOME=/home/lemaker/open-source/spark-2.4.5-bin-hadoop2.7
export PATH=${SPARK_HOME}/bin:${PATH}
以Hadoop2.7为例:
export HADOOP_HOME=/home/lemaker/HadoopEnv/hadoop-2.7.4
export PATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${PATH}
export LD_LIBRARY_PATH=${HADOOP_HOME}/lib/native
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
以Hive2.3.5为例:
export HIVE_HOME=/home/lemaker/HadoopEnv/apache-hive-2.3.5-bin
export PATH=${HIVE_HOME}/bin:${PATH}
export CLASSPATH=$CLASSPATH:$HIVE_HOME/lib
export HIVE_CONF_DIR=${HIVE_HOME}/conf
export HCAT_HOME=${HIVE_HOME}/hcatalog
配置完成之后运行此命令(对当前用户的环境变量进行配置):
source ~/.bashrc
不要运行(对该机器上所有用户环境变量进行配置)命令,会污染当前机器其余用户的环境变量,/etc/profile的优先级会高于~/.bashrc文件,会进行环境变量的一个覆盖:
source /etc/profile
启动standalone模式下的所有集群(master以及slave节点)
bash $SPARK_HOME/sbin/start-all.sh
启动Spark HistoryServer
bash $SPARK_HOME/sbin/start-history-server.sh
选择使用的数据库名字
sql("use tpcds_1000_parquet");
解析Query语句,打印执行过程中的计划
sql("specific query").explain(true);
以TPC-DS中的Query1为例:
sql("WITH customer_total_return AS (SELECT sr_customer_sk AS ctr_customer_sk, sr_store_sk AS ctr_store_sk, sum(sr_return_amt) AS ctr_total_return FROM store_returns, date_dim WHERE sr_returned_date_sk = d_date_sk AND d_year = 2000 GROUP BY sr_customer_sk, sr_store_sk) SELECT c_customer_id FROM customer_total_return ctr1, store, customer WHERE ctr1.ctr_total_return > (SELECT avg(ctr_total_return)*1.2 FROM customer_total_return ctr2 WHERE ctr1.ctr_store_sk = ctr2.ctr_store_sk) AND s_store_sk = ctr1.ctr_store_sk AND s_state = 'TN' AND ctr1.ctr_customer_sk = c_customer_sk ORDER BY c_customer_id LIMIT 100").explain(true);
查询表的内容
sql("select * from 表名");
启动Hive
$HIVE_HOME/bin/hive --service metastore &
查看Hive中所有数据库的名字
show databases;
删除Hive中的数据库
drop database 数据库名 cascade;
分析表的大小,行数以及具体信息
analyze table 表名 compute statistics;
查询表的所有内容
select * from 表名;
查询表的行数
select count(*) from 表名;
查看表的所有字段以及字段的所有类型
desc 表名;
查看表的详细信息
desc formatted 表名;
查看表的分区信息(如果不是分区表,会报错 Table call_center is not a partitioned table)
启动hdfs
start-dfs.sh
启动yarn
start-yarn.sh
hdfs上传文件
hdfs dfs -put 本地目录 hdfs目录
hdfs创建文件/文件夹
hdfs dfs -mkdir -p hdfs文件夹(文件)
hdfs删除文件/文件夹
hdfs dfs -rm -r hdfs文件夹(文件)
namenode格式化命令(一般用于hadoo )
hdfs namenode -format
hadoop打开安全模式
hdfs dfsadmin -safemode enter
hadoop关闭安全模式
hdfs dfsadmin -safemode leave
查看nodemanager的结点个数以及进程pid
yarn node -list
查看yarn当前application的信息
yarn application -list
启动Zookeeper
bash $ZOOKEEPER_HOME/bin/zkServer.sh start
查看Zookeeper每个节点的状态
bash $ZOOKEEPER_HOME/bin/zkServer.sh status
关闭Zookeeper所有节点
bash bin/zkServer.sh stop
重启Zookeeper所有节点
bash bin/zkServer.sh restart
前台启动Kafka
bash $KAFKA_HOME/bin/kafka-server-start.sh $KAFKA_HOME/config/server.properties
查看Kafka当前的所有topic
bash $KAFKA_HOME/bin/kafka-topics.sh --zookeeper localhost:2181 --list
Kafka删除名字为test的topic
bash $KAFKA_HOME/bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic test
Kafka创建名字为test的topic
bash $KAFKA_HOME/bin/kafka-topics.sh --create --zookeeper master:2181 --replication-factor 1 --partitions 1 --topic test
编译Flinkbench命令:
mvn -Pflinkbench -Dspark=2.4 -Dscala=2.11 clean package
编译Sparkbench命令:
mvn -Psparkbench -Dspark=2.4 -Dscala=2.11 clean package
运行Flink程序
#产生数据集
bin/workloads/streaming/identity/prepare/genSeedDataset.sh#流数据源源不断地发送给Kafka
bin/workloads/streaming/identity/prepare/dataGen.sh#Flink运行应用程序
bin/workloads/streaming/identity/flink/run.sh#等待一定的时间间隔之后(如10min),运行收集程序性能的脚本
bin/workloads/streaming/identity/common/metrics_reader.sh
运行Spark程序
#HDFS上产生数据集
bin/workloads/micro/wordcount/prepare/prepare.sh#Spark运行应用程序wordcount
bin/workloads/micro/wordcount/spark/run.sh
查看某个端口号被哪个进程占用
sudo netstat -nap | grep 端口号
ps -ef | grep 端口号
查看监听的端口号
sudo netstat -tpnl
删除用户
sudo userdel -r 用户名
切换用户(su为switch user的意思)
sudo su 用户名
添加用户
sudo useradd -m 用户名
sudo passwd 用户名(然后为其设置密码)
给新用户可以执行sudo的权限
#编辑文件
sudo vim /etc/sudoers
#找到对应的权限标识
#User privilege specification
root ALL=(ALL:ALL) ALL
#在下面添加以下内容,并保存
新用户名 ALL=(ALL:ALL) ALL
强制保存只读文件
esc执行: :w !sudo tee %
给整个目录(以及子目录)所有权限
sudo chmod -R 777 目录名
nohup后台挂起格式如下
nohup 挂起的运行的命令 > output.log 2>&1 &
nohup实际执行命令如下:
nohup bash test.sh > output.log 2>&1 &
df检查磁盘空间占用情况(并不能查看某个目录占用的磁盘大小);du用于显示文件或目录所占的磁盘空间。
查看磁盘文件系统每个挂载点的分区大小
df -h
查看目录下文件大小(比如查看kafka-logs目录下所有文件之和的总大小)
du -h --max-depth=1 /tmp/kafka-logs
安装依赖包指定国内镜像
pip3 install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com 包名
pip升级
pip3 install --upgrade pip
压缩Metrics目录下的所有文件,并将压缩包命名命名为Compress
zip -q -r Compress.zip Metrics/