《Hadoop大数据技术开发实战》学习笔记(一)
基于CentOS7系统
新建用户
1、使用“su-”命令切换到root用户,然后执行命令:
adduser zonkidd
2、执行以下命令,设置用户zonkidd的密码:
passwd zonkidd
修改用户权限
1、 切换到root用户,然后修改sudoers:
vi /etc/sudoers
2、在文本root ALL = (ALL)ALL的下方加入代码,使hadoop用户可以使用sudo命令:
hadoop ALL=(ALL)
3、执行sudo命令默认五分钟后密码过期,下次使用需重新输入密码,若不想输入,改为:
hadoop ALL=(ALL) NOPASSWD:ALL
关闭防火墙
1、执行以下命令关闭防火墙:
sudo systemctl stop firewalld.service
2、禁止防火墙开机启动
sudo systemctl disable firewalld.service
3、若需要查看防火墙是否已经关闭,可以执行以下命令,查看防火墙的状态
sudo firewall-cmd --state
4、开启防火墙命令如下
sudo systemctl start firewalld.service
设置固定IP (略去)
修改主机名
1、使用hadoop用户登录系统,输入命令,查看主机名:
hostname
2、执行命令,设置主机名为centos01:
sudo hostname centos01
3、永久修改主机名,需要修改/etc/hostname文件
配置集群各节点的SSH无密钥登录
无密钥登录原理
从A服务器无密钥登录到B服务器的具体流程如下:
1)在A服务器中生成密钥对,包括公钥和私钥。
2)将公钥复制到B服务器的授权文件(authorized_keys)中
3)A服务器将访问数据用私钥加密,然后发送给B服务器
4)B服务器接收到数据以后,到授权文件中查找A服务器的公钥,并使用该公钥将数据解密
5)B服务器将需要返回的数据用A服务器的公钥加密后,返回给A服务器
6)A服务器接收到数据后,用私钥将其解密
总结来说,判定是否允许无密钥登录,关键在于登录节点的密钥信息是否存在于被登录节点的授权文件中,如果存在,则允许登录。
无密钥登录步骤
具体的配置方式有两种:手动复制和命令复制
1)手动复制方式
1、将各节点的公钥加入到同一个授权文件中
a、 在centos01节点中,生成密钥文件,并将公钥信息加入到授权文件中,命令如下:
cd ~/.ssh/ #若没有该目录,先执行一次ssh localhost命令
ssh-keygen -t rsa #生成密钥文件,会有提示输入加密信息,都按回车键即可
cat ./id_rsa.pub >> ./authorized_keys #将密钥内容加入到授权文件中
b、在centos02节点中,生成密钥文件,并将公钥文件远程复制到centos01节点的相同目录,且重命名为id_rsa.pub.centos02,命令如下:
cd ~/.ssh/ #若没有该目录,先执行一次ssh localhost命令
ssh-keygen -t rsa #生成密钥文件,会有提示输入加密信息,都按回车键即可
scp ~/.ssh/id_rsa.pub hadoop@centos01:~/.ssh/id_rsa.pub.centos02 #远程复制
c、在centos03节点中,执行与centos02相同的操作,命令如下:
cd ~/.ssh/ #若没有该目录,先执行一次ssh localhost命令
ssh-keygen -t rsa #生成密钥文件,会有提示输入加密信息,都按回车键即可
scp ~/.ssh/id_rsa.pub hadoop@centos01:~/.ssh/id_rsa.pub.centos03 #远程复制
d、回到centos01节点,将centos02和centos03节点的密钥文件信息都加入到授权文件中,命令如下:
cat ./id_rsa.pub.centos02 >> ./authorized_keys #将centos02的密钥加入到授权文件
cat ./id_rsa.pub.centos03 >> ./authorized_keys #将centos03的密钥加入到授权文件
2、复制授权文件到各节点
将centos01节点中的授权文件远程复制到其他节点的相同目录,命令如下:
scp ~/.ssh/authorized_keys hadoop@centos02:~/.ssh/
scp ~/.ssh/authorized_keys hadoop@centos03:~/.ssh/
3、测试无密钥登录
使用ssh命令测试从一个节点无密钥登录到另一个节点,如:从centos01节点无密钥登录到centos02节点
ssh centos02
如果登录失败,可能是授权文件authorized_key的权限分配问题,命令如下:
chmod 700 ~/.ssh #只有拥有者有读、写权限
chmod 600 ~/.ssh/authorized_keys #只有拥有者有读、写、执行权限
2)命令复制方式
ssh-copy-id命令可以把本地主机的公钥复制并追加到远程主机的authorized_keys文件中,该命令也会给远程主机的用户主目录(home)、~/.ssh目录和~/.ssh/authorized_keys设置合适的权限。
1、分别在三个节点执行以下命令,生成密钥文件
cd ~/.ssh/ #若没有该目录,请先执行一次ssh localhost命令
ssh-keygen -t rsa #生成密钥文件,会有提示输入加密信息,都按回车即可
2、分别在三个节点中执行以下命令,将公钥信息复制并追加到对方节点的授权文件authorized_keys中:
ssh-copy-id centos01
ssh-copy-id centos02
ssh-copy-id centos03
命令执行过程中需要输入当前用户的密码
3、测试ssh无密钥登录
《Hadoop大数据技术开发实战》学习笔记(一)的更多相关文章
- 《Hadoop》大数据技术开发实战学习笔记(二)
搭建Hadoop 2.x分布式集群 1.Hadoop集群角色分配 2.上传Hadoop并解压 在centos01中,将安装文件上传到/opt/softwares/目录,然后解压安装文件到/opt/mo ...
- 超人学院Hadoop大数据技术资源分享
超人学院Hadoop大数据技术资源分享 http://bbs.superwu.cn/forum.php?mod=viewthread&tid=807&fromuid=645 很多其它精 ...
- java大数据最全课程学习笔记(1)--Hadoop简介和安装及伪分布式
Hadoop简介和安装及伪分布式 大数据概念 大数据概论 大数据(Big Data): 指无法在一定时间范围内用常规软件工具进行捕捉,管理和处理的数据集合,是需要新处理模式才能具有更强的决策力,洞察发 ...
- hadoop大数据技术架构详解
大数据的时代已经来了,信息的爆炸式增长使得越来越多的行业面临这大量数据需要存储和分析的挑战.Hadoop作为一个开源的分布式并行处理平台,以其高拓展.高效率.高可靠等优点越来越受到欢迎.这同时也带动了 ...
- 除Hadoop大数据技术外,还需了解的九大技术
除Hadoop外的9个大数据技术: 1.Apache Flink 2.Apache Samza 3.Google Cloud Data Flow 4.StreamSets 5.Tensor Flow ...
- 大数据技术之_09_Flume学习_Flume概述+Flume快速入门+Flume企业开发案例+Flume监控之Ganglia+Flume高级之自定义MySQLSource+Flume企业真实面试题(重点)
第1章 Flume概述1.1 Flume定义1.2 Flume组成架构1.2.1 Agent1.2.2 Source1.2.3 Channel1.2.4 Sink1.2.5 Event1.3 Flum ...
- 大数据技术之_19_Spark学习_01_Spark 基础解析 + Spark 概述 + Spark 集群安装 + 执行 Spark 程序
第1章 Spark 概述1.1 什么是 Spark1.2 Spark 特点1.3 Spark 的用户和用途第2章 Spark 集群安装2.1 集群角色2.2 机器准备2.3 下载 Spark 安装包2 ...
- 大数据技术之_16_Scala学习_01_Scala 语言概述
第一章 Scala 语言概述1.1 why is Scala 语言?1.2 Scala 语言诞生小故事1.3 Scala 和 Java 以及 jvm 的关系分析图1.4 Scala 语言的特点1.5 ...
- 大数据技术之_16_Scala学习_04_函数式编程-基础+面向对象编程-基础
第五章 函数式编程-基础5.1 函数式编程内容说明5.1.1 函数式编程内容5.1.2 函数式编程授课顺序5.2 函数式编程介绍5.2.1 几个概念的说明5.2.2 方法.函数.函数式编程和面向对象编 ...
随机推荐
- 使用JSP/Servalet技术开发新闻发布系统------动态网页开发基础
什么是动态网页? 动态网页是指在服务器端运行的程序或者网页,它们会随不同客户.不同时间,返回不同的网页. 动态网页的特点? (1).交互性:即网页会根据用户的要求和选择而动态改变和响应.采用动态网页技 ...
- jQuery 中的事件和动画
一.jQuery中的事件 1.加载DOM 以浏览器装载文档为例,在页面加载完毕后,浏览器会通过JavaScript为DOM元素添加事件.在常规JavaScript代码中,通常使用window.onlo ...
- java前后分离了 controller接口GET和POST
通用 @RestController GET @RequestMapping("userbase/{userId}") public User selectById(@PathVa ...
- CF843D Dynamic Shortest Path spfa+剪枝
考试的T3,拿暴力+剪枝卡过去了. 没想到 CF 上也能过 ~ code: #include <bits/stdc++.h> #define N 100004 #define LL lon ...
- Peaks 线段树合并
Peaks 线段树合并 \(n\)个带权值\(h_i\)山峰,有\(m\)条山峰间双向道路,\(q\)组询问,问从\(v_i\)开始只经过\(h_i\le x\)的路径所能到达的山峰中第\(k\)高的 ...
- iptables一些练习
iptables 一些小练习 可以参考之前的一起食用 https://www.cnblogs.com/lovesKey/p/10909633.html 允许来自192.168.0.0/16网段的地址来 ...
- [bzoj 3566][SHOI 2014]概率充电器
传送门 Description SHOI 概率充电器由 n-1 条导线连通了 n 个充电元件.进行充电时,每条导线是否可以导电以概率决定,每一个充电元件自身是否直接进行充电也由概率决定. 随后电能可以 ...
- BZOJ3236作业
这东西是个应用为O(logn)的莫队. 正常莫队的updata函数转移是O(1)的,可这个题时间非常宽泛,可以套两个树状数组,那两个东西很好维护,第一个直接普通权值树状数组维护,第二个开一个桶,记录当 ...
- xposed代码示例
package com.example.xposedhook; import android.util.Log; import de.robv.android.xposed.IXposedHookLo ...
- 异步任务神器 和定时任务Celery
异步任务神器 Celery Celery 在程序的运行过程中,我们经常会碰到一些耗时耗资源的操作,为了避免它们阻塞主程序的运行,我们经常会采用多线程或异步任务.比如,在 Web 开发中,对新用户的注册 ...