最新Hadoop简介、安装与环境变量配置_hadoop环境变量(2),扫地阿姨看完都学会了

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

echo “export PATH= J A V A _ H O M E / b i n : {JAVA\_HOME}/bin: JAVA_HOME/bin:{PATH}” >> /etc/profile
echo “# <<< jdk initialize <<<” >> /etc/profile


* 开头和结尾的主要是为了标识Java安装位置,为注释内容,不生效
* Linux中`>>`表示为文档后追加文件内容
* 若无法写入,检查是否是权限的问题,可以切换为`root`账号执行操作。或写入自己环境中的配置文件


### 重载环境变量配置文件


将环境变量写入配置文件后,环境变量不会立即生效,需要重新加载配置文件,Linux中使用`source`命令重新加载配置文件。



source /etc/profile


### 环境配置测试


执行`java -version`和`javac -version`有正确的输出即表示Java环境配置成功。



$ java -version
openjdk version “1.8.0_43”
OpenJDK Runtime Environment (build 1.8.0_43-b03)
OpenJDK 64-Bit Server VM (build 25.40-b25, mixed mode)

$ javac -version
javac 1.8.0_43


## Hadoop安装与环境变量配置


### 固定IP


在集群中,最重要的就是主机与主机之间能够相互访问到。所以需要通过相应的标识来识别到对应的节点。在计算机中,可以通过域名和IP地址的方式识别到相应的服务器,在Hadoop集群的配置中也是如此。在同一网段下,进行IP设置,可以考虑采用静态IP的方式而不是DHCP动态IP,防止节点IP发生变化无法访问。


* 在使用云系统的情况下,请先自己购买云服务器的平台先设置VPC(Virtual Private Cloud)云虚拟局域网,然后在购买主机,保证购买的主机在同一个局域网,能够相互访问
* 本系统采用容器的方式组集群,借助容器的`VIP`虚拟IP的概念,可以不用考虑固定容器内部IP,而是通过容器名(类似于域名)的方式访问节点
* 虚拟机组集群用户可网上自行搜索资料,固定自己的IP


为方便访问子节点(IP不好记),可以考虑为自己的集群节点配置一个本地的host,这样可以直接用类似域名的方式直接访问集群节点。  
 Linux中将host主机名映射配置写在`/etc/hosts`文件中,这样之后直接访问` 
 
 
 
 
 H 
 
 
 o 
 
 
 s 
 
 
 t 
 
 
 M 
 
 
 a 
 
 
 p 
 
 
 N 
 
 
 a 
 
 
 m 
 
 
 e 
 
 
 
 {HostMapName} 
 
 
 HostMapName就可以访问相应的节点。



sudo echo “${StaticIP} ${HostMapName}” >> /etc/hosts


### 设置SSH免密登录


Hadoop在启动时,只需要在主节点执行Hadoop执行脚本,Hadoop会自动根据配置启动主从节点的服务。但是Hadoop在启动服务时,主节点需要访问所有节点,然后从相应节点中启动守护进程,所以配置主节点到所有节点之间的免密登录(包括主节点到主节点自身之间的免密登录)。


#### 生成SSH密钥



ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N “” -q


* -t:指定生成密钥的算法参数
	+ rsa:默认非对称加密算法,加解密速度慢,生成时间慢,安全性不如ed25519算法,但兼容性高,应用广泛
	+ ed25519:带椭圆曲线的非对称加密算法,加解密速度快,生成速度快,安全性更高
	+ ed25519-sk:`-sk`代表安全密钥
	+ dsa:安全性不高,基本不在使用,在部分的场景中已被遗弃
	+ ecdsa:带椭圆曲线的dsa算法
	+ ecdsa-sk
* -b:指定密钥长度
* -f:保存密钥的文件路径
* -N:提供一个新密码,`""`表示密码为空
* -q:静默模式,直接输出密钥对,不输出实现过程中产生的信息
* 通过设置`-f`,`-N`,`-q`参数,直接生成密钥,而不是交互式生成密钥,方便后期集群脚本的开发


#### 设置免密登录



ssh-copy-id ${HostMapName}


使用`ssh-copy-id`可以将公钥传输到指定的主机上。但是在使用`ssh-copy-id`传输公钥时,需要输入相应的账户和密码,所以可以通过`sshpass`来执行免密操作。



sshpass -p ${USER_PASSWORD} ssh-copy-id ${HostMapName}


### Hadoop的下载


[Hadoop 下载地址]( )


这里选择写本文时的最新版3.3.6进行下载



wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz


### 解压到指定位置



tar -xzvf hadoop-3.3.6.tar.gz --strip-components 1 -C ${Software}/hadoop


### 环境变量配置


#### 系统环境变量



echo “# >>> hadoop initialize >>>” >> /etc/profile
echo “export HADOOP_HOME= S o f t w a r e / h a d o o p " > > / e t c / p r o f i l e e c h o " e x p o r t H A D O O P _ C O N F _ D I R = {Software}/hadoop" >> /etc/profile echo "export HADOOP\_CONF\_DIR= Software/hadoop">>/etc/profileecho"exportHADOOP_CONF_DIR={HADOOP_CONF_DIR}/etc/hadoop” >> /etc/profile
echo “export HADOOP_LOG_DIR= H A D O O P _ L O G _ D I R " > > / e t c / p r o f i l e e c h o " e x p o r t H A D O O P _ D A T A _ H O M E = {HADOOP\_LOG\_DIR}" >> /etc/profile echo "export HADOOP\_DATA\_HOME= HADOOP_LOG_DIR">>/etc/profileecho"exportHADOOP_DATA_HOME={HADOOP_DATA_HOME}” >> /etc/profile
echo “export PATH= H A D O O P _ H O M E / b i n : {HADOOP\_HOME}/bin: HADOOP_HOME/bin:{PATH}” >> /etc/profile
echo “export PATH= H A D O O P _ H O M E / s b i n : {HADOOP\_HOME}/sbin: HADOOP_HOME/sbin:{PATH}” >> /etc/profile
echo “# <<< hadoop initialize <<<” >> /etc/profile


* bin:一般存放着软件的相关执行文件
* sbin:hadoop的super bin目录。是Hadoop管理脚本所在的目录,主要包含HDFS和YARN中各类服务的启动/关闭脚本。


#### `${HADOOP_CONF_DIR}/workers`工作节点配置


`workers`主要功能为记录所有的数据节点的主机名或IP地址。将集群的所有节点的主机名或者IP地址写入workers文件即可。



node1
node2
node3



![img](https://img-blog.csdnimg.cn/img_convert/43aaf18cc14eb529d50a957b24ba9eab.png)
![img](https://img-blog.csdnimg.cn/img_convert/57da0fd6a3822877826ff28fc7d68671.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 11
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值