配置 HDFS-配置 https 证书以及 ssl 配置文件|学习笔记

简介: 快速学习配置 HDFS-配置 https 证书以及 ssl 配置文件

开发者学堂课程【快速掌握 Hadoop 集成 Kerberos 安全技术配置 HDFS-配置 https 证书以及 ssl 配置文件】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/708/detail/12565


配置 HDFS-配置 https 证书以及 ssl 配置文件


内容介绍:

一、创建 HTTPS 证书

二、配置 ssl-server.xml 和 ssl-client.xml


一、创建 HTTPS 证书

1.在 cdho 上

#1

mkdir /etc/security/cdh.https

创建 HTTPS 的目录,存放在 etc/security /cdh.https 目录下面。

cd /ete/security/cdh.https

cd 到它里面,可以看到目前还是一个空的文件。

#2

openssl req -new -x509 -keyout bd_ca_key -out bd_ca_cert-days 9999 -subj

/C=CN/ST=bei1ing/L=bei1ing/0=test/0U=test/CN=test”(输入密码和确认密码是123456,此命令成功后输出 bd ca kev 和 bd ca_cert 两个文件)

>>>

=rw-r==r-- 1 root root 1294 Sep 26 11:31 bd_ca_cert

-rw-r--r-- 1 root root 1834 Sep 26 11:31 bd_ca_key

进行分段复制,分别执行,运行,会需要输入两次密码再继续运行(密码输入123456就可以)

这是会发现文件夹得到了两个文件,进去后会发现一个 cdh.https 的目录,再将两个基本文件复制过去。

使用之后看到这个文件夹就得到了两个文件,一个 bd-ca-cert 文件,一个 bd-ca-key 文件,这两个文件是作为最基础的文件,首先在 CD 上一层目录,看到这里面有 cdh.https 的目录,把这个目录来 scp-r 复制到 cdh1: pMd 对应的目录下,在复制到 cdh2: pMd 对应的目录下,把两个基本文件再复制过去,然后再 cd 进去目录里面接着执行。

# 3

将得到的两个文件复制到 cdh1cdh2上

scp-r/etc/security/cdh.httpscdh1:/etc/security/

scp-r/etc/security/cdh.https cdh2:/etc/security/

2.在 cdhocdh1cdh2每个节点上都依次执行以下命令

cd /etc/security/cdh.https

#所有需要输入密码的地方全部输入123456(方便起见,如果你对密码有要求请自行修改)

#1

输入密码和确认密码:123456,此命令成功后输出 kevstore 文件

keytool -keystore keystore -alias localhost -validity 9ggg -genkey-keyalg RSA -keysize 2048 -dname"CN=test, ou=test, O=test. L=beijing, ST=beijing. C=CN”

输入密码统一是123456,输入完成后会发现多出来 keystore 文件

#2

输入密码和确认密码:123456,提示是否信任证书:输入 yes,此命令成功后输出 truststore 文件

keytool -keystore truststore -alias CARoot -import -file bd ca cert

输入完成后会询问是否信任这个证书,信任以后会发现 keystore 已经被更新了,得到了 trust store 文件。

# 3

输入密码和确认密码:123456,此命令成功后输出 cert 文件

keytool -certreg -alias localhost -keystore keystore -file cert

复制粘贴运行,会发现得到了 cert 文件

#4

此命令成功后输出 cert_signed 文件

openss1 x509-reg-CA bd_ca_cert -CAkey bd_ca_key-in cert -out cert_signed -days 9999 -CAcreateserial - passin pass:123456

复制粘贴运行,会发现得到了 cert signed 文件

#5

输入密码和确认密码:123456,是否信任证书,输入 ves,此合令成功后更新 kevstore 文件

keytool -keystore keystore -alias CARoot -import -file bd_ca_cert

输入密码,并且信任证书

# 6

输入密码和确认密码:123456

keytool -keystore keystore -alias localhost -import -file certsigned

最终得到:

-rw-r==r-- 1 root root 1294 Sep 26 11:31 bd_ca_cert

-rw-r--r-- 1 root root 17 Sep 2611:36 bd_ca_cert.srl

-rw-r--r-- 1 root root 1834 Sep 26 11:31 bd_ca_key

-rw-r==r== 1 root root 1081 Sep 26 11:36 cert

-rw-r--r-- 1 root root 1176 Sep26 11:36 certsianed

-rw-r--r-- 1rootroot 4055 Sep 26 11:37kevstore

-rw-r=-r== 1 root root 978 Sep 26 11:35 truststore

最终会得到7个这样文件。

这一步执行完之后,同样需要进入 cdh1来去接着执行刚刚那些操作,进来后现在只有这两个最基本的文件,把这一套流程再来一遍,同样得到了7个文件。

接下来同样需要进入 cdh2来执行,还是需要按照刚开始的流程来操作,同样得到了7个文件。


二、配置 ssl-server.xml 和 ssl-client.xml

刚刚配置到的 https 证书以及设置的密码等等在这里就用上场了

统一 cd 到 bigdata/hadoop-2.6.0-cdh5.14.4/etc/hadoop 下面,

可以看到这里有 ssl-client 还有 ssl-server,但他们都是 example,需要把他们复制出来。

1.ssl-sserver.xml 如下:

<configurations

<property>

<name>ssl.server.truststore.location</names>

<ivalue>/etc/security/cdh.https/truststores/values><description*Truststore to be used byNN and DN. Must be specified.

</description>

</property>

<property>

<name>ssl.servertruststorepassword</name>

<value>:123456c/value>

<descriptian>Optional. Default value is "".

</description>

</property>

<property>

<name>ssl.server.truststore.type</name>

<value>jks</value><description>0ptional. The keystore file format, default value

is "jks".

</description>

</property>

<property>

<name>ssl.server.truststore.reload.interval</name>

<value>10000</value>

<description>

Truststore reload check interval in milliseconds.

Default value is ecee (10 seconds).

<descriptions<

</property>

<property>

<name>ssl.server.keystorelocation</names

<value>/etc/security/cdhhttps/keystores/value><description>Keystore to be used byNN and DN. Must be specified.

</description>

</propertys

<property>

<name>ssl.serverkeystore passwords/name>

<value>123456-/values

<description>Must be specified.

</description>

</property>

<property>

<name>ss1.server.keystore.keypassword-/name>

<value>123456</values

<description> Must be specified.

</descriotion>

<property>

<name>sslserverexcludecipherlist</name><value>TLS ECDHE RSA WETH RC4 128 SHASSL DHE RSA EXPORT WITH DES4B CBC SHA. SSL_RSA_WITH DES_CBC_SHASSLDHERSA_WITH_DES_CBC_SHA

SSL RSA EXPORT WITH RC4 40 MDS SSLRSA EXPORT WITH DES4 CBC SHA

SSLRSA WITH RC4 128 MD5</value><descriptian>Üptional. The weak security cipher suites that you want excluded

from ssL communication.</description>

</property>

</configuration>

配置 server,把后面 example 去掉,进行编辑,将以上代码进行复制,保存(以上就是刚刚创建 https 证书所用的代码,比如 truststores 文件在哪,密码是什么, keystores 的文件在哪里,它的密码是什么,ssl 相关内容)

2、配置 client,同样把后面 example 去掉,同样把配置文件粘贴复制。

3、配置 slaves

这里需要把两个 slaves 文件加进来 cdh1.itcast.cn cdh2itcast.cn

image.png

4、将 HDFS 相关配置文件复制到其他节点

scp hadoop-env.sh yarn-env.sh mapred-env.sh core-site.xml hdfs-site.xml ssl-client.xml ssl-server.xml slaves cdh1:/bigdata/hadoop-2.6.0-cdh5.14.4/etc/hadoop/

scp hadoop-env.sh varn-env.sh mapred-env.sh core-site.xml hdfs-site.xml ssl-client.xml ssl-server.xml slaves cdh2:/bigdata/hadoop-2.6.0-cdh5.14.4/etc/hadoop/

直接scp*cdh1:对应的目录下,以上完成之后,所有的节点就已经保存了。

相关文章
|
1月前
|
存储 算法 安全
ssl 证书名词解释--crt和pem
ssl 证书名词解释--crt和pem
64 0
|
1月前
|
Linux 应用服务中间件 网络安全
linux ssl 证书 --本地制作数字证书并进行程序的数字签名
linux ssl 证书 --本地制作数字证书并进行程序的数字签名
21 0
|
1月前
|
安全 搜索推荐 数据建模
解决网站“不安全”、“不受信”、“排名下降”,你需要——「SSL证书」
SSL证书是网络安全的关键,用于加密和验证网站身份,保护用户数据安全,防止信息被窃取。它分为DV、OV、EV和IV四种类型,每种验证网站身份的程度不同。DV证书快速签发,OV和EV证书提供更高级别的身份验证,EV证书曾在浏览器地址栏显示绿色。目前,DV证书占据市场大部分份额。SSL证书还有单域、通配符和多域之分,有效期曾从多年逐渐缩短至90天,以增强安全性。部署SSL证书能提升用户信任,优化SEO排名,并符合网络安全法规要求。
解决网站“不安全”、“不受信”、“排名下降”,你需要——「SSL证书」
|
2天前
|
安全 网络协议 应用服务中间件
一文读懂HTTPS⭐揭秘加密传输背后的原理与Nginx配置攻略
一文读懂HTTPS⭐揭秘加密传输背后的原理与Nginx配置攻略
|
4天前
|
存储 监控 安全
Elasticsearch 8.X 集群 SSL 证书到期了,怎么更换?
Elasticsearch 8.X 集群 SSL 证书到期了,怎么更换?
22 3
|
11天前
|
安全 Go 网络安全
【Go语言专栏】Go语言中的HTTPS与TLS配置
【4月更文挑战第30天】本文介绍了在Go语言中配置HTTPS服务器和处理TLS证书的方法。首先,TLS证书由证书颁发机构(CA)颁发,用于验证服务器身份和加密通信。接着,展示了如何使用`crypto/tls`包加载自签名证书启动HTTPS服务器。在生产环境中,通常使用CA签名的证书,这需要获取证书链和私钥。为了自动续期证书,可以利用Go的`acme/autocert`包与ACME服务交互。掌握这些技能对于确保Web服务的安全至关重要。
|
12天前
|
Web App开发 前端开发 Java
SpringBoot配置HTTPS及开发调试
在实际开发过程中,如果后端需要启用https访问,通常项目启动后配置nginx代理再配置https,前端调用时高版本的chrome还会因为证书未信任导致调用失败,通过摸索整理一套开发调试下的https方案,特此分享
20 0
SpringBoot配置HTTPS及开发调试
|
22天前
|
前端开发 应用服务中间件 网络安全
nginx配置SSL证书配置https访问网站 超详细(附加配置源码+图文配置教程)
nginx配置SSL证书配置https访问网站 超详细(附加配置源码+图文配置教程)
61 0
|
23天前
|
Ubuntu 应用服务中间件 Linux
nginx 配置代理ip访问https的域名配置
nginx 配置代理ip访问https的域名配置
|
26天前
|
运维 Java 应用服务中间件
Tomcat详解(七)——Tomcat使用https配置实战
Tomcat详解(七)——Tomcat使用https配置实战
38 4