“Hadoop集群部署以后,通常需要对节点进行扩容,以满足不断增加的存储和计算需要,本文将对已配置Kerberos认证的测试集群进行DataNode、NodeManager的增删操作。”
Hadoop集群部署以后,通常需要对节点进行扩容,以满足不断增加的存储和计算需要,本文将对已配置Kerberos认证的测试集群进行DataNode、NodeManager的增删操作。
准备工作
安装Hadoop并进行配置
当前集群节点状况: host-104、host-105:安装NameNode,ResourceManager host-103:安装datanode
新增加节点: host-106、 host-107、 host-108
在新增节点上,Hadoop的安装配置与其他节点一致,可以直接将相关文件从其他节点远程复制,这里不做描述。
准备Kerberos client及配置
kerberos的安装配置也与其他节点一致,这里不做描述,后续将基于此配置进行生成keytab操作。
修改/etc/hosts文件
在集群中的节点统一更新hosts文件。
192.168.2.101 host-101
192.168.2.102 host-102
192.168.2.103 host-103
192.168.2.104 host-104
192.168.2.105 host-105
192.168.2.106 host-106
192.168.2.107 host-107
192.168.2.108 host-108
HDFS添加、删除DataNode节点
Kerberos相关配置
-
添加principal
kadmin -p root/admin@TAYLOR.COM -w 123456 -q 'addprinc -randkey datanode/host-106@TAYLOR.COM' kadmin -p root/admin@TAYLOR.COM -w 123456 -q 'addprinc -randkey HTTP/host-106@TAYLOR.COM' kadmin -p root/admin@TAYLOR.COM -w 123456 -q 'addprinc -randkey datanode/host-107@TAYLOR.COM' kadmin -p root/admin@TAYLOR.COM -w 123456 -q 'addprinc -randkey HTTP/host-107@TAYLOR.COM' kadmin -p root/admin@TAYLOR.COM -w 123456 -q 'addprinc -randkey datanode/host-108@TAYLOR.COM' kadmin -p root/admin@TAYLOR.COM -w 123456 -q 'addprinc -randkey HTTP/host-108@TAYLOR.COM'
-
导出keytab文件
- host-106
kadmin -p root/admin@TAYLOR.COM -w 123456 -q 'xst -k /etc/security/keytab/hdfs/hdfs.keytab datanode/host-106@TAYLOR.COM' kadmin -p root/admin@TAYLOR.COM -w 123456 -q 'xst -k /etc/security/keytab/hdfs/hdfs.keytab HTTP/host-106@TAYLOR.COM'
- host-107
kadmin -p root/admin@TAYLOR.COM -w 123456 -q 'xst -k /etc/security/keytab/hdfs/hdfs.keytab datanode/host-107@TAYLOR.COM' kadmin -p root/admin@TAYLOR.COM -w 123456 -q 'xst -k /etc/security/keytab/hdfs/hdfs.keytab HTTP/host-106@TAYLOR.COM'
- host-108
kadmin -p root/admin@TAYLOR.COM -w 123456 -q 'xst -k /etc/security/keytab/hdfs/hdfs.keytab datanode/host-108@TAYLOR.COM' kadmin -p root/admin@TAYLOR.COM -w 123456 -q 'xst -k /etc/security/keytab/hdfs/hdfs.keytab HTTP/host-108@TAYLOR.COM'
- host-106
-
修改keytab权限
chown hdfs:hadoop /etc/security/keytab/hdfs/hdfs.keytab
添加DataNode节点
- 启动datanode
mkdir -p /var/run/hadoop && chown hdfs:hadoop /var/run/hadoop
mkdir -p /opt/data/hadoop/datanode && chown hdfs:hadoop /opt/data/hadoop/datanode
cp /opt/jsvc/jsvc /opt/cdh/hadoop/libexec/
/opt/cdh/hadoop/sbin/hadoop-daemon.sh --config /opt/cdh/hadoop/etc/hadoop start datanode 2>&1
- NameNode上刷新节点
/usr/bin/sudo su hdfs -l -s /bin/bash -c 'ulimit -c unlimited ; /opt/cdh/hadoop/bin/hdfs dfsadmin -refreshNodes'
在UI中查看节点状态:
删除DataNode节点
- 在hdfs-site.xml文件中加入如下配置
<property>
<name>dfs.hosts.exclude</name>
<value>/opt/cdh/hadoop/etc/hadoop/hdfs_excludes</value>
</property>
hdfs_excludes中写入要删除的DataNode节点名
host-106
host-108
- NameNode上刷新节点
/usr/bin/sudo su hdfs -l -s /bin/bash -c 'ulimit -c unlimited ; /opt/cdh/hadoop/bin/hdfs dfsadmin -refreshNodes'
在UI中查看节点状态:
下线完成后节点状态:
Yarn添加、删除NodeManager
Kerberos相关配置
- 添加principal
kadmin -p root/admin@TAYLOR.COM -w 123456 -q 'addprinc -randkey nodemanager/host-106@TAYLOR.COM' kadmin -p root/admin@TAYLOR.COM -w 123456 -q 'addprinc -randkey nodemanager/host-107@TAYLOR.COM' kadmin -p root/admin@TAYLOR.COM -w 123456 -q 'addprinc -randkey nodemanager/host-108@TAYLOR.COM'
- 导出keytab文件
- host-106
kadmin -p root/admin@TAYLOR.COM -w 123456 -q 'xst -k /etc/security/keytab/yarn/yarn.keytab nodemanager/host-106@TAYLOR.COM'
- host-107
kadmin -p root/admin@TAYLOR.COM -w 123456 -q 'xst -k /etc/security/keytab/yarn/yarn.keytab nodemanager/host-107@TAYLOR.COM'
- host-108
kadmin -p root/admin@TAYLOR.COM -w 123456 -q 'xst -k /etc/security/keytab/yarn/yarn.keytab nodemanager/host-108@TAYLOR.COM'
-
修改keytab权限
chown yarn:hadoop /etc/security/keytab/yarn/yarn.keytab
添加NodeManager节点
-
启动NodeManager
mkdir -p /var/run/yarn && chown yarn:hadoop /var/run/yarn /usr/bin/sudo su yarn -l -s /bin/bash -c 'ulimit -c unlimited ; /opt/cdh/hadoop/sbin/yarn-daemon.sh start nodemanager 2>&1'
-
ResourceManager上刷新节点
/usr/bin/sudo su yarn -l -s /bin/bash -c 'kinit -t /etc/security/keytab/yarn/yarn.keytab resourcemanager/host-105@TAYLOR.COM;/opt/cdh/hadoop/bin/yarn --config /opt/cdh/hadoop/etc/hadoop rmadmin -refreshNodes ' /usr/bin/sudo su yarn -l -s /bin/bash -c 'kinit -t /etc/security/keytab/yarn/yarn.keytab resourcemanager/host-105@TAYLOR.COM;/opt/cdh/hadoop/bin/yarn node -list '
在UI中查看节点状态:
删除NodeManager节点
- 在ResourceManager的yarn-site.xml文件中加入如下配置
<property>
<name>yarn.resourcemanager.nodes.exclude-path</name>
<value>/opt/cdh/hadoop/etc/hadoop/yarn_excludes</value>
</property>
yarn_excludes中写入要删除的DataNode节点名
host-108
- ResourceManager上刷新节点
/usr/bin/sudo su yarn -l -s /bin/bash -c 'kinit -t /etc/security/keytab/yarn/yarn.keytab resourcemanager/host-105@TAYLOR.COM;/opt/cdh/hadoop/bin/yarn --config /opt/cdh/hadoop/etc/hadoop rmadmin -refreshNodes '
在UI中查看节点状态: