喵星之旅-狂奔的兔子-cdh修改默认端口号

cdh版本6.3.1

cdh本身端口号

涉及3个端口:7180、7182、7183。存储元数据的 MySQL 数据库端口3306。

mysql端口修改

查询的结果,6.3.1版本未生效

取决于mysql部署方式,根据不同方式进行不同修改。直接部署的修改配置文件,docker部署的重新打包容器,重新创建。

然后修改cloudera-scm-server。

1
2
3
/etc/cloudera-scm-server/db.properties
#添加一行(或修改)
com.cloudera.cmf.db.port=新端口

CDH 6.3.1 运行在 CentOS7/RHEL7 上时,SELinux 默认只允许 3306:

1
sudo semanage port -l | grep mysqld

如果只有 3306,添加 新端口:

1
sudo semanage port -a -t mysqld_port_t -p tcp 新端口

重启cloudera-scm-server。

进入web端配置相关组件,并重启组件。

组件 配置路径(Cloudera Manager 界面) 需修改的配置项
Hive 进入 Hive 服务 → “配置” → 搜索 “元存储数据库” 元存储数据库端口(hive_metastore_database_port)
Oozie 进入 Oozie 服务 → “配置” → 搜索 “数据库连接” 数据库端口(oozie_database_port)
Hue 进入 Hue 服务 → “配置” → 搜索 “数据库” 数据库端口(hue_database_port)
Sentry 若启用 Sentry,进入 Sentry 服务 → “配置” → 搜索 “数据库” 数据库端口(sentry_database_port)
Navigator 若启用 Navigator,进入 Navigator 服务 → “配置” → 搜索 “数据库连接”(仅部分版本支持 MySQL) 数据库端口(navigator_database_port)

防火墙限制权限

6.3.1版本中cm经测试验证,无法修改3306端口。采用防火墙限制,只有cdh内部可以访问。原有机器防火墙处于关闭状态。改为启用,但是放行所有端口,然后针对特殊端口单独配置.由于111和2049端口也存在类似问题,一并调整。

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
# 启动 firewalld
sudo systemctl start firewalld
sudo systemctl enable firewalld

# 默认允许所有流量
sudo firewall-cmd --set-default-zone=public
sudo firewall-cmd --permanent --zone=public --set-target=ACCEPT

# 创建白名单 zone
sudo firewall-cmd --permanent --new-zone=whitelist
sudo firewall-cmd --permanent --zone=whitelist --set-target=ACCEPT

# 添加白名单 IP
sudo firewall-cmd --permanent --zone=whitelist --add-source=172.16.120.31/32
sudo firewall-cmd --permanent --zone=whitelist --add-source=172.16.120.32/32
sudo firewall-cmd --permanent --zone=whitelist --add-source=172.16.120.33/32
sudo firewall-cmd --permanent --zone=whitelist --add-source=192.168.122.1/32

# 配置 public zone(拒绝 111 和 3306)
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" port protocol="tcp" port="111" reject'
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" port protocol="tcp" port="3306" reject'
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" port protocol="tcp" port="2049" reject'


# 重新加载防火墙规则
sudo firewall-cmd --reload


如果有docker或者podman,需要单独处理。docker从守护进程开始重启,podman直接重启容器。

服务端

可在管理界面的设置中进行配置。管理》设置》端口和地址。

然后重启相关服务

1
systemctl restart cloudera-scm-server

Agent修改7180端口

1
sudo vi /etc/cloudera-scm-agent/config.ini

里面包含服务端的地址和端口号,修改为和服务端一致。也有监听端口9000的一行注释内容,也需要一并修改。还有 19001的使用。
其中9000配置会启用2个端口9000、9001,修改为29000,则会启动29000、29001。原有19001改为39001。

重启Agent

1
systemctl restart cloudera-scm-agent

airflow及相关端口号

均来自配置文件,

内部组件端口号

进入web管理端,选择相关组件,进入配置,选择端口相关。修改后重启组件。

例如:

查询端口10000的使用情况:

1
2
3
4
5
6
7
8
9
10
11
12
# 如果不提权,可能无法查看到具体的进程号
sudo ss -tulnp | grep 10000
# 结果如下
tcp LISTEN 0 50 *:10000 *:* users:(("java",pid=2907,fd=533))

# 最后的pid=2907 即为进程号,根据进程号查询涉及的服务
ps -ef |grep 2907

# 返回结果内容过多,主要内容为:

hive java .str=hive hive-service-2.1.1-cdh6.3.2.jar org.apache.hive.service.server.HiveServer2 --hiveconf

从最终结果可以初步确认来源于hive服务。进入cdh的web管理端。找到hive服务,查询配置信息,会有相关端口使用。

个别端口可能是计算出来的,配置信息不一定有。例如agent的9000配置后,计算+1的结果9001也会启动。像nacos8848端口也会进行计算相应端口,如9848等。只需要修改一个配置端口,其他的会根据偏移量自动计算出来。

文章目录
  1. cdh本身端口号
    1. mysql端口修改
      1. 查询的结果,6.3.1版本未生效
      2. 防火墙限制权限
    2. 服务端
    3. Agent修改7180端口
  2. airflow及相关端口号
  3. 内部组件端口号
|