今天是2020年4月8日,是一个平凡而又特殊的日子,武汉在经历了77天的封城之后,于今日0点正式解封。从1月14日放寒假离开武汉,到今天已近3个月,学校的花开了又谢了。随着疫情好转,春回大地,万物复苏,武汉这座城市又活了起来。想念桂子山!

在家里这段时间学习了JavaSE基础,学习了Linux的基本命令,安装Linux虚拟机,用Xshell远程登录Linux服务器,用Xftp在本地Windows系统和远程Linux系统之间上传下载文件,学习了大数据入门,对Hadoop生态系统有一个初步的了解,在Linux系统中安装Hadoop,安装jdk,安装hbase,另外还学习了MySQL基础,会简单的增删改查。然后从今天开始,希望在这里记录自己每天的学习,希望每天都有一点点进步。

言归正传,接下来对最近学习的Hadoop做一个总结。主要是从安装虚拟机到安装jdk和Hadoop这一部分内容。

具体步骤:

1、在VMware12上面安装Linux虚拟机(CentOS-6.10版本),并且能够联网,然后安装Vmware Tools,方便Linux和Windows之间复制粘贴,熟练掌握Linux文件系统的目录结构,学会Linux的基本指令和用户管理。

(安装 Vmware 和 centos6.10 可参考 https://blog.csdn.net/lx940112/article/details/80159509  和   https://www.cnblogs.com/cao-yin/p/11550178.html)

(安装Vmware Tools 可参考 https://www.cnblogs.com/yujianadu/p/10454915.html)

(学习Linux可参考 http://c.biancheng.net/linux_tutorial/)

2、安装XShell和XFTP5两个软件,分别用于远程登录和远程上传下载文件。

(安装 XShell 和 Xftp 可关注微信公众号:软件安装管家,并回复 xshell)

(在连接XShell之前,需要给Linux进行网络配置,参考 https://jingyan.baidu.com/article/76a7e409ed694dfc3a6e1548.html)

(XShell连接到Linux,参考 https://jingyan.baidu.com/article/36d6ed1f7520991bcf4883e6.html)

3、克隆虚拟机(Hadoop100克隆出Hadoop101 )(这一步伪分布式不是必须)

  第一步:在hadoop100中先创建hadoop用户,关闭防火墙。

  第二步:克隆

  第三步:进行Hadoop 101的相关设置:修改ip地址、配置网络、修改主机名称、关闭防火墙。(https://blog.csdn.net/qq_39192827/article/details/85952823)

  开机,登录root账号

(1)修改克隆机的ip地址

终端输入 vim  /etc/udev/rules.d/70-persistent-net.rules  然后三件事

第一件:删除(dd命令)父本克隆过来的网卡,即第一个SUBSYSTEM

第二件:把下面一个SUBSYSTEM中的网卡名(NAME)改为eth0

第三件:复制MAC地址,ATTR{address}==“复制这部分内容”

:wq  保存退出

(2)配置网络

终端输入 vim  /etc/sysconfig/networking-scripts/ifcfg-eth0  然后两件事

第一件:修改MAC地址,HWADDR=刚刚复制的MAC

第二件:修改IP地址,192.168.1.100 ----改为---> 192.168.1.101

(3)修改主机名称

终端输入 vim  /etc/sysconfig/network  然后

修改HOSTNAME=hadoop101

(4)配置主机名称映射,方便通信

终端输入  vim  /etc/hosts

在最后添加  192.168.1.100  hadoop100

192.168.1.102  hadoop102(如果有的话就添加)

注:在Windows系统中也可以添加主机名称映射,具体方法如下:

进入 C:\windows\System32\drivers\etc\hosts 最后同样方法添加 ip地址 主机名称

(5)reboot重启,ping测试通信

4、安装jdk并配置环境变量,安装Hadoop并配置环境变量。

(https://blog.csdn.net/SXY16044314/article/details/90550543)

准备工作

(1)给普通用户授予root权限

大部分和安全相关的命令,只有root用户才有权限执行,如果希望普通用户可以直接使用,又避免切换到root用户的麻烦操作,可以为普通用户赋予root权限。

首先了解 sudo 和sudoers  (https://blog.csdn.net/iteye_2642/article/details/82510194)

sudo是Linux下常用的允许普通用户使用超级用户权限的工具,sudo的配置文件是sudoers文件,该配置文件的位置是/etc/sudoers。

最简单的配置,让普通用户(用户名为support)具有所有的root权限,通过修改 /etc/sudoers,方法如下:

su  root   //需要在root用户

vim  /etc/sudoers     //去95行,G+95,复制一行,在下面再添加一条配置

support  ALL=(ALL)  ALL

然后esc,接着:wq保存退出

注:修改完毕,现在可以用support帐号登录,然后用命令 sudo ,即可获得root权限进行操作。  (super user do)

(2)关闭防火墙

(防止无法访问hdfs,需要使用sudo命令)

如果需要克隆虚拟机,那么在克隆之前就关闭,避免克隆之后给每台虚拟机关闭。

这里用到service后台服务管理:

service  + 服务名 + 命令

其中命令包括:start开启 / stop关闭 / restart 重启 / status查看服务状态

查看防火墙状态:sudo  service  iptables status

关闭防火墙:sudo service iptables stop

正式安装

(1)在/opt目录下面创建/software目录和/module目录

其中/software目录用于存放今后需要用到的安装压缩包jar包(jdk、hadoop、hbase等),即利用xftp软件将Windows里面的安装包直接传输到/software下面,然后将压缩包解压到/module目录下面。

注:可以利用以下命令更改文件夹的所有者和所在组:

sudo  chown  guan:guan  文件名  -R        // -R表示递归

解压命令为:

tar  -zxvf  文件名  -C  解压到的目录(这里是/opt/module)

(2)重命名

为了方便使用,可以用以下命令给文件重命名:

mv   hadoop-2.7.2   hadoop

mv   jdk-1.8.2  jdk

(3)配置环境变量

进入jdk目录,使用pwd命令查看路径,将此路径复制下来。

进入hadoo目录,使用pwd命令查看路径,将此路径复制下来。

然后 进入/etc,编辑profile文件  vim  profile

在profile中添加的内容如下:

###JAVA_HOME

export  JAVA_HOME=刚刚复制的jdk路径

export  PATH=$PATH:$JAVA_HOME/bin

###HADOOP_HOME

export  HADOOP_HOME=刚刚复制的hadoop路径

export  PATH=$PATH:$HADOOP_HOME/bin

export  PATH=$PATH:$HADOOP_HOME/sbin

然后 :wq   保存退出,至此环境变量配置好了。

(4)让刚刚配置的环境变量生效并测试

/etc下命令:  source  profile

测试是否安装成功:

java  -version

hadoop  version

至此jdk和Hadoop安装完成!

Hadoop安装完成之后,接下来就是本地模式、伪分布式和完全分布式的配置和使用。

Hadoop入门学习整理(一)的更多相关文章

  1. Hadoop入门学习整理(二)

    2020-04-15 在上一篇文章中介绍了Linux虚拟机的安装,Hadoop的安装和配置,这里接着上一篇的内容,讲Hadoop的简要介绍和简单使用, 以及HBase的安装和配置. 1.首先要了解Ha ...

  2. hadoop入门学习整理

    技术性网站 1.http://dongxicheng.org/ 2.http://www.iteblog.com/ 3.http://www.cnblogs.com/shishanyuan/p/414 ...

  3. Hadoop入门学习整理(三)

    1.Hive 的安装 下载tar包,并且要注意和Hadoop版本兼容. 下载  ----->  传输 -------> 解压     即可. 然后配置环境变量和相关配置信息.   参考: ...

  4. Hadoop入门学习笔记---part1

    随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力, ...

  5. Hadoop入门学习笔记---part4

    紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...

  6. Hadoop入门学习笔记---part3

    2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...

  7. Hadoop入门学习笔记---part2

    在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...

  8. hadoop入门学习

    hadoop入门学习:http://edu.csdn.net/course/detail/1397hadoop hadoop2视频:http://pan.baidu.com/s/1o6uy7Q6HDF ...

  9. Hadoop入门学习路线

    走上大数据的自学之路....,Hadoop是走上大数据开发学习之路的第一个门槛. Hadoop,是Apache的一个开源项目,开发人员可以在不了解分布式底层细节,开发分布式程序,充分利用集群进行高速运 ...

随机推荐

  1. MySQL字符集操作

    一.查看编码 show variables like 'character%'; 二.临时设置编码 1.set names xxx set names ${编码}; "set names x ...

  2. Jenkins配置总结

    1.配置全局 系统管理->全局工具配置 2.配置 自己安装安装jdk,git,以及maven 3.系统管理->系统配置 3.1配置Jenkins URL 3.2 配置SSH Servers ...

  3. VUE数据更新视图不更新的原因

    当你利用索引直接设置一个项时,例如:vm.items[indexOfItem] = newValue当你修改数组的长度时,例如:vm.items.length = newLength 数组更新只能通过 ...

  4. markdown使用手册

    github上找到了一个挺全面的项目,mark一下. https://github.com/nicejade/nice-front-end-tutorial/blob/master/tutorial/ ...

  5. cinder 卷迁移进度的代码分析

    一.cinder-api服务的入口函数 D:\code-program\cinder-ocata_cinder\cinder\api\contrib\admin_actions.py from cin ...

  6. Docker 最常用的镜像命令和容器命令

    本文列出了 Docker 使用过程中最常用的镜像命令和容器命令,以及教大家如何操作容器数据卷,实现容器数据的备份.熟练练习这些命令以后,再来一些简单的应用部署练习,大家就可以学习 Docker 的镜像 ...

  7. 从零开始的SpringBoot项目 ( 五 ) 整合 Swagger 实现在线API文档的功能

    综合概述 spring-boot作为当前最为流行的Java web开发脚手架,越来越多的开发者选择用其来构建企业级的RESTFul API接口.这些接口不但会服务于传统的web端(b/s),也会服务于 ...

  8. Redis+Kafka异步提高并发

    Redis+Kafka异步提高并发 Redis+Kafka异步提高并发 设计 实现 提交请求接口 Kafka消费队列 异步处理Service 客户端轮询获取结果 Redis集群节点配置 KafKa集群 ...

  9. secureCRT中sftp的使用

    securecrt 按下ALT+P就开启新的会话 进行ftp操作.输入:help命令,显示该FTP提供所有的命令pwd: 查询linux主机所在目录(也就是远程主机目录)lpwd: 查询本地目录(一般 ...

  10. JavaScript作用域与对象

    1 - 作用域 1.1 作用域概述 通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域.作用域的使用提高了程序逻辑的局部性,增强了程序的可靠 ...