如何在Hue中配置已启用SSL的HttpFS服务
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢
1.文档编写目的
前面Fayson也介绍过《如何为HttpFS服务配置SSL》,在为HttpFS启用了SSL后,Hue中如何使用?本篇文章主要介绍如何在Hue中配置已启用SSL的HttpFS服务。
- 内容概述
1.配置Hue使用HttpFS服务
2.生成pem证书文件并配置Hue
3.验证访问HDFS
- 测试环境
1.CentOS6.5
- 前置条件
1.集群未启用Kerberos
2.配置Hue使用HttpFS
3.生成pem文件
前面我们已经介绍了《如何为HttpFS服务配置SSL》,在文章中使用java的keytool命令生成的证书文件是二进制的,Hue使用的是Python语言,Java生成的证书文件无法直接在Python中,这里需要将java的证书文件转换成Python的证书文件pem格式。
1.使用keytool工具将Keystore文件转换为PKCS12,命令如下:
[root@ip-172-31-6-148 hadoop-httpfs]# pwd
/var/lib/hadoop-httpfs
[root@ip-172-31-6-148 hadoop-httpfs]#
[root@ip-172-31-6-148 hadoop-httpfs]# sudo -u httpfs /usr/java/jdk1.7.0_67-cloudera/bin/keytool -importkeystore -srckeystore .keystore -destkeystore cluster.store.p12 -srcstoretype JKS -deststoretype PKCS12
Enter destination keystore password:
Re-enter new password:
Enter source keystore password:
Entry for alias tomcat successfully imported.
Import command completed: 1 entries successfully imported, 0 entries failed or cancelled
[root@ip-172-31-6-148 hadoop-httpfs]#
(可左右滑动)
2.使用openssl命令将生成的cluster.store.p12文件转换为pem证书
[root@ip-172-31-6-148 hadoop-httpfs]# openssl pkcs12 -nodes -in cluster.store.p12 -out test-2.pem
Enter Import Password:
MAC verified OK
[root@ip-172-31-6-148 hadoop-httpfs]#
(可左右滑动)
4.配置Hue
1.将生成的test-2.pem文件拷贝至所有Hue服务的统一目录下
Fayson的测试环境有两个Hue Server,所以需要将test-2.pem文件分别拷贝至两个服务器的相同目录下。
2.使用管理员账号登录Cloudera Manager的WEB界面,进入Hue服务
在Hue配置界面搜索“Hue服务环境高级配置代码的(安全阀)”,添加如下配置:
REQUESTS_CA_BUNDLE=/opt/cloudera/credentials/test-2.pem
(可左右滑动)
保存配置,回到CM主页根据提示重启Hue服务。
5.验证Hue是否正常访问HDFS
由上面截图可以看到Hue的两个服务均能正常访问HDFS。
6.总结
- 在Hue中配置webhdfs_url使用HttpFS服务,在集群启用高可用后必须选择使用HttpFS服务。
- 在配置Hue访问启用SSL的HttpFS服务,则需要生成pem证书文件并配置Hue服务环境变量REQUESTS_CA_BUNDLE参数。
- 在调试中遇到如果HttpFS服务在生成证书时CN未指定HttpFS服务所在服务器的hostsname时会报如下异常:
WebHdfsException: hostname 'ip-172-31-6-148.fayson.com' doesn't match u'fayson'
(可左右滑动)
提示:代码块部分可以左右滑动查看噢 为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。
原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操
- 简单易学的机器学习算法——lasso
- 优化算法——差分进化算法(DE)
- 通过shell脚本批量验证dataguard的有效性(r7笔记第96天)
- JavaWeb17-案例之ajax(Java真正的全栈开发)
- JavaWeb15-DBUtils(Java真正的全栈开发)
- 利用Theano理解深度学习——Multilayer Perceptron
- JavaWeb14-事务,连接池(Java正在的全栈开发)
- 利用Theano理解深度学习——Logistic Regression
- JavaWeb13-设计模式案例实现(Java真正的全栈开发)
- 运维平台的建设思考-元数据管理(三)(r8笔记第15天)
- JavaWeb12-JSP, EL表达式,JSTL标签
- JavaWeb11-jsp.cookie.session(1)
- 交互式使用 R题(shell)
- union(并),setdiff(差),intersect(交)R语言含义
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- C++11正则表达式 ECMAScript文法
- Flutter基础widgets教程-Divider篇
- std::vector扩容机制,.按1.5倍取整扩容,如下。
- 求一个数的临近的较大的2的整数次幂
- 在文件IO操作中,合理使用缓存。
- Flutter基础widgets教程-Drawer篇
- C++ 实现可变参数
- C++ 单例模式
- c++ 日志类 线程安全+缓存
- C++ 实现通过类名来进行实例化(反射机制?)
- Flutter基础widgets教程-ExpansionPanel篇
- muduo TcpServer粗略过程
- muduo 超时重连
- EventLoop,TcpClient,TcpServer 中的生命周期
- functional 和 bind 用法