最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
分别在三个虚拟机中的`~/.ssh`目录下生成id\_rsa和id\_rsa.pub文件,分别对应着私钥和公钥:
ssh-keygen -t rsa -P “”
追加到新文件
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
修改id\_rsa.pub文件的权限
chmod 644 ~/.ssh/authorized_keys
将主节点的公钥文件分发到集群中的各个节点上,使得节点可以进行免密登录。运行以下命令,其中test1、test2是目标节点的登录用户名,hadoop101、hadoop102是节点主机名:
ssh-copy-id -i ~/.ssh/id_rsa.pub test1@hadoop101
ssh-copy-id -i ~/.ssh/id_rsa.pub test2@hadoop102
输入完成后,输入目标机的密码,将主节点的公钥添加到从节点的`~/.ssh/authorized_keys`文件中。
远程登录目标机,测试是否成功共享密钥,如果可以成功登录且不用输入密码,则表示免密登录已经配置成功:
ssh test1@hadoop101
ssh test2@hadoop102
##### 配置hadoop-env.sh
打开文件
vi etc/hadoop/hadoop-env.sh
修改文件
export JAVA_HOME=/opt/dev/jdk1.8.0_381
##### 配置core-site.xml
打开文件
vi etc/hadoop/core-site.xml
修改文件:
fs.defaultFS:该参数是配置指定HDFS的通信地址。
hadoop.tmp.dir:该参数配置的是Hadoop临时目录
fs.defaultFS hdfs://hadoop100:9000 hadoop.tmp.dir /opt/hadoopTmp/
##### 配置hdfs-site.xml
打开文件
vi etc/hadoop/hdfs-site.xml
修改文件:
dfs.namenode.http-address:该参数是配置NameNode的http访问地址和端口号。因为在集群规划中指定hadoop100设为NameNode的服务器,故设置为hadoop100:9870。
dfs.namenode.secondary.http-address:该参数是配置SecondaryNameNode的http访问地址和端口号。在集群规划中指定hadoop102设为SecondaryNameNode的服务器,故设置为hadoop102:50090。
dfs.replication:该参数是配置HDFS副本数量,建议不超过从节点数。
dfs.namenode.name.dir:该参数是设置NameNode存放的路径。
dfs.datanode.data.dir:该参数是设置DataNode存放的路径。
dfs.namenode.http-address hadoop100:9870 dfs.namenode.secondary.http-address hadoop102:50090 dfs.replication 2 dfs.namenode.name.dir /opt/hadoopTmp/dfs/name dfs.datanode.data.dir /opt/hadoopTmp/dfs/data
##### 配置yarn-site.xml
打开文件
vi etc/hadoop/yarn-site.xml
修改文件:
参数说明:
yarn.resourcemanager.hostsname:该参数是指定ResourceManager运行在那个节点上。
yarn.resourcemanager.webapp.address:该参数是指定ResourceManager服务器的web地址和端口。
yarn.nodemanager,aux-services:该参数是指定启动时加载server的方式。
yarn.nodemanager.aux-services.mapreduce.shuffle.class:该参数是指定使用mapreduce\_shuffle中的类。
yarn.log-aggregation-enable:该参数是配置是否启用日志聚集功能。
yarn.log-aggregation.retain-seconds:该参数是配置聚集的日志在HDFS上保存的最长时间。
yarn.nodemanager.remote-app-log-dir:该参数是指定日志聚合目录。
yarn.resourcemanager.hostsname hadoop100 yarn.resourcemanager.webapp.address hadoop100:8088 yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.aux-services.mapreduce.shuffle.class org.apache.hadoop.mapred.ShuffleHandler yarn.log-aggregation-enable true yarn.log-aggregation.retain-seconds 106800 yarn.nodemanager.remote-app-log-dir /user/hadoopcontainer/logs
##### 配置mapred-site.xml
打开文件
vi etc/hadoop/mapred-site.xml
修改文件参数说明:
mapreduce.framework.name:该参数是指定MapReduce框架运行在YARN上。
mapreduce.jobhistory.address:该参数是设置MapReduce的历史服务器安装的位置及端口号。
mapreduce.jobhistory.webapp.address:该参数是设置历史服务器的web页面地址和端口。
mapreduce.jobhistory.intermediate-done-dir:该参数是设置存放日志文件的临时目录。
mapreduce.jobhistory.done-dir:该参数是设置存放运行日志文件的最终目录。
mapreduce.framework.name yarn mapreduce.jobhistory.address hadoop102:10020 mapreduce.jobhistory.webapp.address hadoop102:19888 mapreduce.jobhistory.intermediate-done-dir ${hadoop.tmp.dir}/mr-history/tmp mapreduce.jobhistory.done-dir ${hadoop.tmp.dir}/mr-history/done
##### 开放防火墙端口
sudo ufw allow 9000 # 开放HDFS默认端口
sudo ufw allow 9870 # 开放NameNode的http访问地址和端口
sudo ufw allow 8088 # 开放master资源管理器WEb默认端口
sudo ufw allow 50090 # 开放SecondaryNameNode的服务器端口
sudo ufw allow 50020 # 开放DataNode通信端口
sudo ufw allow 8088 # 开放资源管理器的WEB通信端口
sudo ufw allow 10020 # 开放MapReduce通信端口
sudo ufw allow 19888 # 开放历史服务器通信端口
##### 配置主次节点
PS:hadoop3以后slaves改为workers,打开文件:
vim etc/hadoop/slaves
vim etc/hadoop/workers
添加所有子节点的主机名:
hadoop101
hadoop102
##### 分发配置文件
在其他节点查看下当前存放hadoop目录是否具有权限写入,否则后续分发将失败
ls -ld /opt/hadoop
如果没有权限,则输入下列指令开放hadoop目录的写入权限
sudo chmod -R 777 /opt/hadoop
将上述配置好的hadoop相关文件分发到其他虚拟机:
scp -r /opt/hadoop/* test1@hadoop101:/opt/hadoop/
scp -r /opt/hadoop/* test2@hadoop102:/opt/hadoop/
##### 启动集群
在主节点输入格式化命令:
hdfs namenode -format
启动集群
start-all.sh
停止集群
stop-all.sh
验证是否成功
jps
当看到下列内容表示成功:
Master: NameNode、DataNode、ResourceManager、NodeManager
slave1: SecondaryNameNode、DataNode、NodeManager
slave2: DataNode、NodeManager
##### Web端访问
关闭防火墙:
service iptables stopservice iptables stop
访问HDFS:ip地址:9870;
访问YARN:ip地址:8088;
#### 版本注意事项
1. Hadoop3版本后,NameNode、Secondary NameNode, DataNode的端口出现了变化。
| | 2版本端口号 | 3版本端口号 |
| --- | --- | --- |
| namenode | 8020 | 9820 |
| namenode htttp web | 50070 | 9870 |
| namenode https web | 50470 | 9871 |
| secondnamenode https web | 50091 | 9869 |
| secondnamenode https web | 50091 | 9869 |
![](https://img-blog.csdnimg.cn/img_convert/9a8cb5f8c0ec69e6499adead0da6e95b.png)
最全的Linux教程,Linux从入门到精通
======================
1. **linux从入门到精通(第2版)**
2. **Linux系统移植**
3. **Linux驱动开发入门与实战**
4. **LINUX 系统移植 第2版**
5. **Linux开源网络全栈详解 从DPDK到OpenFlow**
![华为18级工程师呕心沥血撰写3000页Linux学习笔记教程](https://img-blog.csdnimg.cn/img_convert/59742364bb1338737fe2d315a9e2ec54.png)
第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。
![华为18级工程师呕心沥血撰写3000页Linux学习笔记教程](https://img-blog.csdnimg.cn/img_convert/9d4aefb6a92edea27b825e59aa1f2c54.png)
**本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。**
> 需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
读者免费下载。
![华为18级工程师呕心沥血撰写3000页Linux学习笔记教程](https://img-blog.csdnimg.cn/img_convert/9d4aefb6a92edea27b825e59aa1f2c54.png)
**本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。**
> 需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**