1.3.4 管理集群

优质
小牛编辑
141浏览
2023-12-01

用户除了通过控制台管理集群外,还可以通过ssh直接登陆到主节点上进行操作。主节点上已经完成了集群环境的相关配置,您可以直接在主节点上执行命令。 您还可以通过ssh架设SOCKS5代理服务器后,访问到集群内原生的hadoop管理页面。

生成密钥对

在自己机器上,执行命令如下

  ssh-keygen -f ./hadoop_key -C "emr public key"

其中-f指定文件,-C添加注释。执行命令后将会得到两个文件:hadoop_keyhadoop_key.pubhadoop_key为密钥文件,由用户自己妥善保存;hadoop_key.pub为公钥文件,可通过控制台添加到集群上。

NOTE: 如果密钥文件丢失,请及时删除集群上对应的公钥,以防止潜在的安全风险。

添加公钥

打开控制台页面,点击对应集群的管理按钮,进入集群管理页面,在最下面安全配置里,点击添加公钥,然后输入名称(任意字符,不能包含|,建议为密钥的文件名,方便自己将密钥与公钥对应上),将hadoop_key.pub内的所有内容拷贝到内容下,点击保存,即完成添加公钥。 add-publicKey

删除公钥

打开控制台页面,点击对应集群的管理按钮,进入集群管理页面,在最下面安全配置里,点击对应公钥右边的-,即可删除。 delete-publicKey

登陆到主节点

完成生成密钥对-添加公钥两步后,就可以通过ssh登陆到主节点了,具体步骤如下:

  1. 获得主节点的公网IP。打开集群管理页面,在基本信息里找到主节点入口,此处写明了IP。 manageCluster-basic

  2. 使用密钥通过ssh登陆。目前只开放了主节点的hadoop帐号,登录时请使用hadoop。命令如下($master_ip请换成实际的IP):

    ssh -i ./hadoop_key hadoop@$master_ip
    

    其中-i指定了密钥文件。

  3. 登录到主节点后,您可以直接使用诸如hadoop, hdfs, yarn等命令。 hdfs-command

架设SOCKS5代理服务器

  1. 获得主节点的公网IP。打开集群管理页面,在基本信息里找到主节点入口,此处写明了IP。
  2. 在本机上通过ssh tunnel建立SOCKS5代理,命令如下($master_ip请换成实际的主节点IP):
    ssh -i ./hadoop_key -N -D 127.0.0.1:1080 hadoop@$master_ip
    
    此命令中,代理服务器为:127.0.0.1,端口为:1080
  3. 设置本机socks v5代理。各个系统,浏览器都有不同。代理协议选择SOCKS5,或者套接字, SOCKS,版本选5;代理服务器和端口,为步骤2中的127.0.0.11080

    推荐一款代理插件SwitchyOmega,很好用。

  4. 获取集群各个服务的IP。登录到主节点,

    cat /home/hadoop/app/emr-master/${cluster_id}/emr-master/9002/deploy-helper/conf/emr/${cluster_id}.yaml
    

    ${cluster_id}请用真实的集群ID替换。

  5. 在浏览器中输入相应服务的IP和端口即可访问。

服务端口列表

服务端口
NameNode41201
ResourceManager41701

minos 使用

[minos](https://github.com/XiaoMi/minos)是一个分布式的部署监控系统。新创建的emr集群默认用minos管理hive,hdfs,hive等服务。

  • 查看hdfs各节点状态(cluster_id 请换成对应集群id)

1.配置minos配置文件目录

  export MINOS_CONFIG_FILE=/home/hadoop/app/emr-master/${cluster_id}/emr-master/9002/deploy-helper/deployment/deploy.cfg

2.通过minos 查看各节点状态

  cd /home/hadoop/app/emr-master/${cluster_id}/emr-master/9002/deploy-helper/minos/client
  ./deploy show hdfs ${cluster_id}
  • 更新hdfs配置

1.配置minos配置文件目录(如果未执行过)

2.更新所需配置

  cd /home/hadoop/app/emr-master/${cluster_id}/emr-master/9002/deploy-helper/deployment/emr-config/conf/hdfs
  # update config

3.重启hdfs集群

  cd /home/hadoop/app/emr-master/${cluster_id}/emr-master/9002/deploy-helper/minos/client
  ./deploy restart hdfs ${cluster_id} --update_config
  • minos常规使用
    ./deploy restart ${service} ${cluster} (--update_config) (--update_package) (--job ${job}) (--task ${task}) #重启集群上的${job}的${task}(不填${job}和${task}则重启集群),并(更新配置)(更新package)
    ./deploy restart yarn ${cluster} --update_config --job nodemanager --task  0 #重启yarn 的nodemanage的第0个节点, 并更新配置