组件版本
部署的各个服务及版本
服务 | 版本 | 说明 |
---|---|---|
JDK | 8u221 | JDK8是其他服务启动的基础 |
Zookeeper | 3.7.1 | 状态保存 |
Hadoop | 2.7.7 | 较新的版本不太好找找其他服务的兼容版本 |
Flink | 1.12.7 | 做大数据计算 |
Hive | 2.1.0 | 数仓使用 |
Hbase | 2.1.10 | 查询高效的数据库 |
Phonenix | 5.1.2 | SQL方式操作Hbase |
各服务名
查看
1 | jps |
如图
Master可能的进程
进程名 | 是否必须 | 所属 | 说明 |
---|---|---|---|
QuorumPeerMain | 是 | Zookeeper | 单独配置的Zookeeper集群,如果是内置的则为HQuorumPeer |
NameNode | 是 | Hadoop-HDFS | Hadoop NameNode |
DataNode | 是 | Hadoop-HDFS | 提供文件数据的存储服务 |
JournalNode | 是 | Hadoop-HDFS | 为了使Standby节点保持其状态与Active 节点同步,两个节点都与一组称为”JournalNodes”的单独守护进程进行通信。 |
DFSZKFailoverController | 是 | Hadoop-HDFS | 高可用时它负责监控NN的状态,并及时的把状态信息写入ZK。 |
NodeManager | 是 | Hadoop-Yarn | NodeManager是YARN中单个节点上的代理,它管理Hadoop集群中单个计算节点,功能包括与ResourceManager保持通信,管理Container的生命周期,监控每个Container的资源使用(内存,CPU等)情况,追踪节点健康状况,管理日志和不同应用程序用到的附属服务 |
JobHistoryServer | 否 | Hadoop-Mapreduce | WEB查看作业的历史运行情况,日志存储的位置是在hdfs文件系统中。 |
RunJar | 否 | Hadoop | |
HMaster | 是 | Hbase | 表明该Hbase是Master |
HRegionServer | 否 | Hbase | 因为我们也将该Master设置为Region |
QueryServer | 否 | Phonenix |
HRegion可能的进程
进程名 | 是否必须 | 所属 | 说明 |
---|---|---|---|
QuorumPeerMain | 是 | Zookeeper | 单独配置的Zookeeper集群,如果是内置的则为HQuorumPeer |
DataNode | 是 | Hadoop-HDFS | 数据存储 |
ResourceManager | 否 | Hadoop-Yarn | |
NodeManager | 是 | Hadoop-Yarn | |
HRegionServer | 是 | Hbase | 表明是Hbase存储节点 |
进程名
1 | ha-call.sh "jps -l" |
如下
归属 | 进程 |
---|---|
Zookeeper | org.apache.zookeeper.server.quorum.QuorumPeerMain |
Hadoop | org.apache.hadoop.hdfs.tools.DFSZKFailoverController org.apache.hadoop.mapreduce.v2.hs.JobHistoryServer org.apache.hadoop.yarn.server.nodemanager.NodeManager org.apache.hadoop.yarn.server.resourcemanager.ResourceManager org.apache.hadoop.hdfs.server.namenode.NameNode org.apache.hadoop.hdfs.server.datanode.DataNode org.apache.hadoop.hdfs.qjournal.server.JournalNode |
Hbase | org.apache.hadoop.hbase.master.HMaster org.apache.hadoop.hbase.regionserver.HRegionServer |
查看版本
JDK
1 | java -version |
Zookeeper
1 | zkCli.sh |
Hadoop
1 | hadoop version |
Flink
1 | flink -v |
Hive
1 | hive |
Hbase
1 | hbase version |
配置Host
Windows下host文件配置
C:\Windows\System32\drivers\etc
添加如下
1 | 192.168.7.101 hadoop01 |
Rsync
启动
1 | rsync --daemon --config=/etc/rsyncd.conf |
查看873端口是否起来
1 | netstat -an | grep 873 |
全部启动
Zookeeper
1 | ha-zk.sh start |
查看状态
1 | netstat -an | grep 2181 |
Hadoop
1 | ha-hadoop.sh start |
查看文件可以访问这个地址
http://hadoop01:50070/explorer.html#/
http://hadoop02:50070/explorer.html#/
Yarn监控页面查询:
Hive
启动Hive Metastore
1 | nohup hive --service metastore >/dev/null 2>&1 & |
查看服务是否启动
1 | lsof -i:9083 |
这时候已经可以在服务器上连接了
1 | $HIVE_HOME/bin/hive |
启动hiveserver2
1 | nohup hive --service hiveserver2 >/dev/null 2>&1 & |
或者
1 | nohup $HIVE_HOME/bin/hiveserver2 >/dev/null 2>&1 & |
查看服务是否启动
1 | lsof -i:10000 |
这时可以远程连接了
1 | beeline -n hive -u jdbc:hive2://hadoop01:10000/default |
Hbase
删除之前的日志
1 | ha-call.sh "rm -rf $HBASE_HOME/logs/*" |
Hbase启动
1 | $HBASE_HOME/bin/start-hbase.sh |
查看状态
1 | ha-call.sh "jps" |
访问地址
HMaster 的 Web 接口
HRegionServer 的 Web 接口
Phoenix
使用瘦客户端的时候才需要启动。
胖客户端不需要启动。
1 | queryserver.py start |
Flink
Yarn Session模式
1 | $FLINK_HOME/bin/yarn-session.sh -d -nm zflink |
查看运行状态
http://hadoop01:8088/cluster/apps/RUNNING
一键启动
ha-all-start.sh
1 |
|
全部停止
Flink
Yarn Session模式
查看
http://hadoop01:8088/cluster/apps
结束服务
1 | yarn application -kill appid |
Phoenix
胖客户端模式不用启动也不用停止。
1 | queryserver.py stop |
Hbase
1 | $HBASE_HOME/bin/stop-hbase.sh |
Hive
结束之前的服务
1 | jobs |
结束任务
1 | # 通过jobs命令查看job号(假设为num,num从1开始) |
或者
1 | lsof -i:10000 -t | xargs -I {} kill -9 {} && lsof -i:10000 |
Hadoop
1 | ha-hadoop.sh stop |
Zookeeper
1 | ha-zk.sh stop |
一键停止
ha-all-stop.sh
1 |
|
查看
1 | ha-call.sh "jps -l" |
开启关闭Yarn-Session
查看启动的ApplicationID
1 | yarn application -list | grep -o "application_[0-9]*_[0-9]*" |
结束
1 | yarn application -list | grep -o "application_[0-9]*_[0-9]*" | xargs -I {} yarn application -kill {} |
这条命令首先执行 yarn application -list
来列出所有正在运行的应用程序信息,
然后通过管道将输出传递给 grep
命令,使用正则表达式 "application_[0-9]*_[0-9]*"
来提取应用程序的 ID。
然后,管道将提取的应用程序 ID 传递给 xargs
命令,并使用 -I {}
选项指定占位符 {}
来表示每个应用程序 ID。
最后,xargs
命令将每个应用程序 ID 替换到 yarn application -kill {}
命令中,以停止相应的应用程序。
请注意,这个命令会停止匹配的所有应用程序,并且没有进一步的确认提示。
在使用此命令之前,请确保你要停止的应用程序是正确的,并且理解可能产生的影响。
查看
1 | yarn application -list |
启动
1 | $FLINK_HOME/bin/yarn-session.sh -d -nm zflink |
JPS操作
查看
1 | jps |
查看包及类
1 | jps -l |
查看启动参数(依赖Jar和内存)
1 | jps -v |
终止所有JPS进程
终止所有的hadoop进程
1 | ha-call.sh "jps -l|grep 'org.apache.hadoop'|awk '{print $1}' |xargs kill -9" |
终止所有的Hbase进程
1 | ha-call.sh "jps -l|grep 'org.apache.hadoop.hbase'|awk '{print $1}' |xargs kill -9" |
各环境基本操作
Zookeeper
启动ZK
1 | ha-zk.sh start |
端口2181
连接
1 | zkCli.sh |
输入命令
1 | #查看zk的根目录kafka相关节点 |
Hadoop
启动前要先启动ZK。
HDFS监控页面查询:
查看文件可以访问这个地址
http://hadoop01:50070/explorer.html#/
http://hadoop02:50070/explorer.html#/
Yarn监控页面查询:
连接具体的NameNode需要用9000
端口
1 | hdfs://hdfsns/hbase |
Flink
Flink有个UI界面,可以用于监控Flilnk的job运行状态
http://hadoop01:8081/
Hive
结束之前的服务
1 | jobs |
结束任务
1 | # 通过jobs命令查看job号(假设为num) |
数据库初始化
这个只执行一次
Hive的数据库MySQL在安装的时候没有初始化
在MySQL中
1 | # 删除mysql中的元数据库 |
命令行中执行
1 | # 在命令行中,重新初始化 |
启动Hive Metastore
1 | nohup hive --service metastore >/dev/null 2>&1 & |
启动Hive
1 | $HIVE_HOME/bin/hive |
查询表
1 | show tables; |
启动Hive远程服务
远程连接要启动下面的服务
1 | jdbc:hive2://hadoop01:10000 |
启动远程服务
1 | nohup $HIVE_HOME/bin/hiveserver2& |
查看服务是否启动
1 | lsof -i:10000 |
HBase
HMaster 的 Web 接口
HRegionServer 的 Web 接口
两个重要配置
在HDFS中的Path和ZK中的Path
1 | <property> |
注意
hbase.zookeeper.quorum
中不能添加端口号
连接
1 | hbase shell |
创建表
1 | create 'student','s_name','s_sex','s_age','s_dept','s_course' |
查看表详情
1 | describe 'student' |
显示所有的表
1 | list |
插入数据
1 | put 'student','95001','s_name','LiYing' |
查看表数据
1 | scan 'student', {FORMATTER => 'toString'} |
重启
1 | $HBASE_HOME/bin/stop-hbase.sh |
查看服务
1 | ha-call.sh "jps" |
Phoenix
注意
在Phoenix中无论表还是字段只要没有双引号引起来的字段都会变成大写。
这里不建议用双引号,在后期拼接SQL的时候比较麻烦。
启动query server
1 | queryserver.py start |
连接
1 | sqlline-thin.py http://hadoop01:8765 |
创建schema
1 | create schema mdb; |
使用这个新建的 schema:
1 | use mdb; |
创建表
1 | CREATE TABLE IF NOT EXISTS tuser( |
插入数据
1 | upsert into tuser values('1001','zhangsan'); |
查询记录
1 | select * from tuser; |
分页查询
1 | select * from tuser order by id desc limit 1 offset 0; |
其中
limit
取多少条offset
从多少条开始