|NO.R.00001|——————————|Navigation|————|PB级企业电商离线数仓|——|服务启动导航|

一、PB级别企业电商离线仓库:部署规划
  IP地址 主机名
第一台机器 192.168.1.121 Hadoop01
第二台机器 192.168.1.122 Hadoop02
第三台机器 192.168.1.123 Hadoop03
第四台机器 192.168.1.124 Hadoop04
第五台机器 192.168.1.125 Hadoop05
### --- 软件选型

~~~     数据采集:DataX、Flume、Sqoop、Logstash、Kafka
~~~     数据存储:HDFS、HBase
~~~     数据计算:Hive、MapReduce、Tez、Spark、Flink
~~~     调度系统:Airflow、azkaban、Oozie
~~~     元数据管理:Atlas
~~~     数据质量管理:Griffin
~~~     即席查询:Impala、Kylin、ClickHouse、Presto、Druid
~~~     其他:MySQL
~~~     框架、软件尽量不要选择最新的版本,选择半年前左右稳定的版本。
  hadoop1 hadoop2 hadoop3 hadoop4 hadoop5
NameNode          √        
SecondaryNameNode           √      
DataNode         √         √         √         √         √
ResourceManager         √        
DataManager         √         √         √         √         √
historyserver         √        
Hive         √         √             √
HiveServer2                 √
Flume           √      
DataX           √      
Airflow           √      
Atlas           √      
Griffin           √      
Impala         √         √         √         √         √
MySQL           √      

二、HDFS和YARN集群部署规划
框架 HDFS YARN
Hadoop01 NameNode
DataNode
Jobhistory
ResourceManager
DataManager
Hadoop02 SecondaryNameNode
DataNode
DataManager
Hadoop03 DataNode DataManager
Hadoop04 DataNode DataManager
Hadoop05 DataNode DataManager
### --- 启动/停止HDFS服务

[root@hadoop01 ~]# start-dfs.sh 
[root@hadoop01 ~]# stop-dfs.sh 
### --- 启动/停止YARN服务

[root@hadoop01 ~]# start-yarn.sh 
[root@hadoop01 ~]# stop-yarn.sh  
### --- 访问地址

~~~     # web端查看Hdfs界面
~~~     http://hadoop01:50070/dfshealth.html#tab-overview
~~~     # HDFS访问地址:
~~~     http://hadoop01:50070/
~~~     # 查看详细日志:
~~~     http://hadoop01:8088/cluster
三、启动HDFS的jobhistory服务
### --- 启动jobhistory服务

[root@hadoop01 ~]# /opt/yanqi/servers/hadoop-2.9.2/sbin/mr-jobhistory-daemon.sh start historyserver
### --- 访问地址

~~~     # 插件历史日志服务地址JobHistory:
~~~     http://hadoop01:19888/jobhistory

一、Hive安装配置:单机模式:部署规划
软件 Hadoop01 Hadoop02 Hadoop03 Hadoop04 Hadoop05
Hadoop
mysql        
hive    
HiveServer2        
### --- hive启动

~~~     # mysql部署节点:Hadoop05
[root@hadoop05 ~]# systemctl start mysqld
~~~     # Hive单机部署节点:Hadoop01
~~~     # 启动hive服务之前,请先启动hdfs、yarn的服务

[root@hadoop01 ~]# start-dfs.sh 
[root@hadoop01 ~]# start-yarn.sh
[root@hadoop01 ~]# hive
hive> show functions;
二、Hive远程模式:metastore模式:部署规划
节点 metastore client
Hadoop01  
Hadoop02  
Hadoop05  
### --- 启动hive-metastore服务

~~~     # 启动hdfs和yarn
[root@hadoop01 ~]# start-dfs.sh
[root@hadoop01 ~]# start-yarn.sh  
~~~     # 分别在Hadoop01和Hadoop05上执行以下命令,查看连接情况
~~~     # 启动 metastore 服务

[root@hadoop01 ~]# nohup hive --service metastore &
[root@hadoop01 ~]# lsof -i:9083
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    10459 root  513u  IPv4  93320      0t0  TCP *:emc-pp-mgmtsvc (LISTEN)
~~~     # 在client.Hadoop02上写入数据
[root@hadoop02 ~]# hive
 
~~~     # 查看hadoop01和hadoop03查看进程的变化
[root@hadoop05 ~]# lsof -i:9083
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    15624 root  513u  IPv4 122919      0t0  TCP *:emc-pp-mgmtsvc (LISTEN)
java    15624 root  514u  IPv4 123038      0t0  TCP hadoop05:emc-pp-mgmtsvc->hadoop02:56232 (ESTABLISHED)
三、HiveServer2配置:HiveServer2配置配置规划:
节点 HiveServer2 client(beeline)
Hadoop02  
Hadoop05  
四、配置并启动HiveServer2服务
### --- 启动hadoop05上的 HiveServer2 服务

~~~     # 启动 hiveserver2 服务
[root@hadoop05 ~]# nohup hiveserver2 &
~~~     # 检查 hiveserver2 端口
[root@hadoop05 ~]# lsof -i:10000
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    15888 root  521u  IPv4 128333      0t0  TCP *:ndmp (LISTEN)
~~~     # 从2.0开始,HiveServer2提供了WebUI
五、HCatalog
### --- HCatalog

~~~     # 进入 hcat 所在目录。$HIVE_HOME/hcatalog/bin
[root@hadoop02 ~]# cd $HIVE_HOME/hcatalog/bin
~~~     # 执行命令,创建表
[root@hadoop02 bin]# ./hcat -e "create table default.test1(id string, name string, age int)"
~~~     # 长命令可写入文件,使用 -f 选项执行
[root@hadoop02 bin]# ./hcat -f createtable.txt
~~~     # 查看元数据 
[root@hadoop02 bin]#  ./hcat -e "use mydb; show tables"
~~~     # 查看表结构
[root@hadoop02 bin]# ./hcat -e "desc mydb.emp"
~~~     # 删除表
[root@hadoop02 bin]# ./hcat -e "drop table default.test1"
六、访问地址:
### --- 访问地址:

~~~     # HiveServer2访问地址:
~~~     通过浏览器检查hiveserver2的启动情况http://Hadoop05:10002/

一、Flume部署配置
### --- Flume部署节点:Hadoop02

~~~     # 检查 8888 端口是否被占用。如果该端口被占用,可以选择使用其他端口完成任务
[root@hadoop02 ~]# lsof -i:8888
~~~     # 使用 telnet 向本机的 8888 端口发送消息 
[root@hadoop02 ~]# telnet hadoop02 8888
~~~     # 使用Flume监听页面查看数据接收情况
$FLUME_HOME/bin/flume-ng agent --name a1 \
--conf-file $FLUME_HOME/conf/flume-netcat-logger.conf \
-Dflume.root.logger=INFO,console

### --- DATAX启动
~~~     DATAX启动以脚本为主

### --- Tez启动
~~~     Tez启动以脚本为主

一、Airflow启动
### --- 启动Python3

~~~     # 进入python3的运行环境
cd /opt/yanqi/servers/python3.6/bin/
./virtualenv env
. env/bin/activate
       
~~~     # 退出python3虚拟环境命令
(env) [root@hadoop02 ~]# deactivate
### --- 启动airflow服务

(env) [root@hadoop02 ~]# airflow scheduler -D
       
(env) [root@hadoop02 ~]# airflow webserver -D
### --- 停止airflow服务

~~~     # 停止airflow服务
~~~     关闭 airflow webserver 对应的服务
(env) [root@hadoop02 ~]# ps -ef | grep 'airflow-webserver' | grep -v 'grep' | awk '{print $2}' | xargs -i kill -9 {}
~~~     关闭 airflow scheduler 对应的服务
(env) [root@hadoop02 ~]# ps -ef | grep 'airflow' | grep 'scheduler' | awk '{print $2}' | xargs -i kill -9 {}
### --- 删除对应的pid文件
~~~     正常停止的话,这两个文件会关闭,
~~~     若是通过kill掉的,需要把这两个pid文件删除掉

(env) [root@hadoop02 ~]# cd $AIRFLOW_HOME
(env) [root@hadoop02 airflow]# rm -rf *.pid
二、访问airflow.UI界面
### --- 访问airflow.UI界面

~~~     # Chrome访问:安装完成,
~~~     可以使用浏览器登录 hadoop02:8080;输入用户名、口令:airflow /airflow123
三、运行airflow服务案例
### --- 执行helloworld.py案例文件

~~~     # 执行命令检查脚本是否有错误。如果命令行没有报错,就表示没问题
(env) [root@hadoop02 ~]# python $AIRFLOW_HOME/dags/helloworld.py
~~~     # 查看生效的 dags

(env) [root@hadoop02 ~]# airflow list_dags -sd $AIRFLOW_HOME/dags
~~~     # 查看指定dag中的task

(env) [root@hadoop02 ~]# airflow list_tasks HelloWorldDag  
~~~     # 测试dag中的task

(env) [root@hadoop02 ~]# airflow test HelloWorldDag MyTask2 20211010

一、Atlas服务
### --- 启动atlas:Hadoop02

~~~     # 启动服务(第一次启动服务的时间比较长)
[root@hadoop02 ~]# cd $ATLAS_HOME/bin
[root@hadoop02 bin]# ./atlas_start.py       #  启动服务
~~~ 输出参数
starting atlas on port 21000
..............................................................................................................................................................................................................................................................................................................
Apache Atlas Server started!!!
[root@hadoop02 bin]# ./atlas_stop.py        # 关闭服务
[root@hadoop02 bin]# ./solr status          #  查看服务状态
~~~     # 检查后台进程 (1个atlas、2个HBase、1个solr后台进程)

[root@hadoop02 ~]# ps -ef | grep atlas
 ~~~ 启动的进程
/opt/yanqi/servers/atlas-1.2.0/server/webapp/atlas
/opt/yanqi/servers/atlas-1.2.0/hbase/bin/hbase-daemon.sh
org.apache.hadoop.hbase.master.HMaster
/opt/yanqi/servers/atlas-1.2.0/solr/server/solr
### --- atlas.UI管理

~~~     http://hadoop02:21000/login.jsp
~~~     用户名 / 口令:admin / admin
### --- 账户密码管理

~~~     # 账号的信息存储在文件 conf/users-credentials.properties 中。
[root@hadoop02 ~]# cd /opt/yanqi/servers/atlas-1.2.0/
[root@hadoop02 atlas-1.2.0]# vim conf/users-credentials.properties
~~~     # 用户名口令参数
#username=group::sha256-password
admin=ADMIN::8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
rangertagsync=RANGER_TAG_SYNC::e3f67240f5117d1753c940dae9eea772d36ed5fe9bd9c94a300e40413f1afb9d
~~~     # 其中 Password 通过如下方式产生sha256sum 摘要信息:

[root@hadoop02 ~]# echo -n  "admin" | sha256sum
8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918  -
 
[root@hadoop02 ~]# echo -n  "rangertagsync" | sha256sum
e3f67240f5117d1753c940dae9eea772d36ed5fe9bd9c94a300e40413f1afb9d  -

一、Griffin服务
### --- 启动spark

~~~     # 进入spark-shell
[root@hadoop02 ~]# spark-shell
~~~ 输出参数
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.2.1
      /_/
~~~     # 查看启动的进程

[root@hadoop02 ~]# jps
9422 SparkSubmit
~~~     # 打开该文件读取内容

scala> val lines = sc.textFile("/wcinput/wc.txt")
scala> lines.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect()
~~~ 输出参数
res1: Array[(String, Int)] = Array((#在文件中输入如下内容,1), (yanqi,3), (mapreduce,3), (yarn,2), (hadoop,2), (hdfs,1))
### --- 启动livy

[root@hadoop02 ~]# cd $LIVY_HOME/
[root@hadoop02 livy-0.5.0]# mkdir logs

[root@hadoop02 livy-0.5.0]# nohup bin/livy-server &
~~~     # OR
[root@hadoop02 ~]# nohup $LIVY_HOME/bin/livy-server &
~~~     # 查看启动的服务

[root@hadoop02 ~]# jps
7897 SparkSubmit
8139 LivyServer
### --- 启动es

~~~     # 到ES安装目录下,执行命令(-d表示后台启动)
~~~     通过浏览器访问es服务:http://hadoop02:9200/
[root@hadoop02 ~]# su elasticsearch
 
[elasticsearch@hadoop02 ~]$ cd /opt/yanqi/servers/elasticsearch-5.6.0/
[elasticsearch@hadoop02 elasticsearch-5.6.0]$ bin/elasticsearch -d
### --- 启动Griffin
~~~     通过Chrome访问Apache Griffin的UI:http://hadoop02:9876 用户名口令:admin / admin

[root@hadoop02 ~]# cd /opt/yanqi/servers/griffin-0.5.0
[root@hadoop02 griffin-0.5.0]# nohup java -jar service-0.5.0.jar>service.out 2>&1 &

 
 
 
 
 
 
 
 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

posted on   yanqi_vip  阅读(37)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示