大数据学习笔记~linux基础篇

Posted 南城、每天都要学习呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据学习笔记~linux基础篇相关的知识,希望对你有一定的参考价值。

记录我在学习大数据技术过程中的学习笔记

目录

一、学习目标

二、Linux虚拟机的安装配置

         a、创建虚拟机、安装centos7(保姆级教程)

         b、使用克隆的方式创建Linux虚拟机

        c、使用Xshell连接Linux虚拟机

三、Linux命令使用

        a、文件相关的高级命令

        b、vi命令

                1.编辑文件内容

                2.复制粘贴

                3.查找字符串

                4.快速删除

                5.查找某一行内容

                6.快速跳到文件首行和末行

                7.如果在编辑的时候,意外退出

         c、文件统计相关命令

                1.wc命令的使用

                2.uniq:检查重复的行列

                3.sort:排序

                4.head:取前n条数据

        d、日期相关命令

        e、进程相关命令

        f、linux高级命令(grep查找、sed编辑、awk分析)

                1.grep        查找

                2.sed        自动编辑

                3、awk        分析


一、学习目标

掌握Linux虚拟机的安装

掌握Linux中高级命令的使用

二、Linux虚拟机的安装配置

安装VMware软件

使用VMware安装配置Linux虚拟机

使用Xshell连接Linux虚拟机

在安装VMware之前需要打开电脑的虚拟化功能

在任务管理器-性能中可以看到是否开启了虚拟化功能

         a、创建虚拟机、安装centos7(保姆级教程)

                      1、 打开VMware,点击创建虚拟机

                 2、

                3、 

                4、 

                5、 

                6、 

                7、

                 8、

                 9、

                 10、

                 11、

                 12、

                13、 

                14、 

                15、 

                16、

                 17、

                 18、

                 19、点进虚拟机,按上箭头,选择centos7,回车(ctrl + alt 可以释放鼠标输入)

                20、

                21、 

                22、 

                 23、

                 24、

                25、 

 26、

                 27、

                28、 

                 29、进度条满了后,点击reboot,重启

                30、登录账户(输入密码时,密码是不显示的)ip addr 查看ip地址

         b、使用克隆的方式创建Linux虚拟机

                1、关闭刚才创建的虚拟机

                2、右键-管理-克隆

                3、

                4、 

                5、 改名称和路径

                6、

                7、开启虚拟机

                8、登录账号

                9、查看ip地址 (ip addr)

        c、使用Xshell连接Linux虚拟机

                1、左上角-文件-新建

                        2、 

                3、确定

                4、                         5、双击连接

                 6、成功连接

三、Linux命令使用

        a、文件相关的高级命令

                1.vi:文件编辑利器

                2.wc、uniq、sort、head:文件内容统计相关命令

        b、vi命令

                1.编辑文件内容

                                vi hello.txt

                                文件存在则编辑,文件不存在会自己创建文件后编辑

                                进入后,按i可编辑内容,按esc可退出编辑状态,输入 “:wq” 可保存

                                输入“:q”不保存退出,“:q!” 强制不保存退出

                2.复制粘贴

                                将光标定位到需要复制的那一行,连续按两”y"

                                再在需要粘贴的地方,按一次“p”

                3.查找字符串

                                在命令行模式下输入“\\要查找的字符串”,回车就可以查找了

                4.快速删除

                                删除当前行:将光标定位在需要删除的哪一行,连续按两次“d”

                                删除当前行下的所有行:将光标定位在需要删除的很多行中的第一行

                                连续按3次“9”,在按2次“d”

                5.查找某一行内容

                                在命令行模式下输入“:行号”,可以快速跳转到某行

                                在命令行模式下输入“set nu”,可以显示行号

                6.快速跳到文件首行和末行

                                在命令行模式下,按大写的“G”,可以快速将光标移动到最后一行

                                光标移动到第一行:按两次小写的“g”

                7.如果在编辑的时候,意外退出

                                会出现如下情况

                         解决办法:

                                1、找到这个临时文件,将它删除(默认会在原始文件一个目录中)

                                2、 问题解决

         c、文件统计相关命令

                1.wc命令的使用

                        wc -c 文件名        统计字节数量

                        wc -m 文件名        统计英文字符数量

                        wc -l 文件名          统计行数

                        wc -L 文件名        统计最长的一行有多少个字符

                        wc -w 文件名        统计单词个数,按空格切分的

                2.uniq:检查重复的行列

                        uniq 文件名        对文件中连续重复的进行去重

                        uniq -c 文件名        对文件去重后且显示重复了几次

                        uniq -u 文件名        返回文件中不重复的行

                        sort 文件名 | uniq        排序后去重

                        |        管道,可以将前面的结果传给后面的命令

                3.sort:排序

                        sort                         按照第一个字符排序

                        sort -n 文件名        按照数值排序

                        sort -nr 文件名       按照数值逆序排序

                        sort -k 列数 -nr 文件名 根据文件中的第几列,逆序排序

                4.head:取前n条数据

                        head -3 文件名        取前条数据

                        sort -nr 文件名 | head -3        取topn数据

        d、日期相关命令

                1.data:获取当前时间

                2.格式化输出:date + "%Y-%m-%d %H:%M:%S"

                3.获取前一天日期: date --date="1 days ago"

                4.获取上一个月份中有多少天:date --date="2023-03-01 1 days ago" + %d

        e、进程相关命令

                1.ps:显示进程信息

                        ps -ef 显示所有进程信息

                2.top:动态监控进程信息

                        top命令:主要作用在于动态显示系统消耗资源最多的进程信息;包括进程ID,内存占用,Cpu占用等

                        和ps命令作用基本相同,唯一的区别是top命令能够动态显示进程信息

                3.netstat:显示端口信息

                        需要使用这个命令需要在线安装:yum install -y net-tools

                        netstat -anp

                4.kill:杀掉进程

                        kill 端口号        杀掉进程,程序自己结束

                        kill -9 端口号        linux强制结束掉进程

                5.jps:显示java进程信息

                        jps:类似ps命令,不同的是ps是用来显示所有进程信息而jps只显示Java进程信息

                        jps是显示当前用户已启动的Java进程信息,信息包括进程号和简短的进程command

                        jps是java提供的命令,只有在安装配置号java环境之后才能使用

        f、linux高级命令(grep查找、sed编辑、awk分析)

                1.grep        查找

                        grep 查找字符串 文件名        在文件中查找符合条件的字符串

                        grep 正则表达式 文件名        在文件中查找符合正则表达式的字符串

                        grep -i 查找的字符串 文件名        忽略大小写查找

                        grep -i 查找的字符串 -n 文件名        显示查找的字符串在第几行

                        grep -v 查找的字符串                除了查找的字符串不显示,其他都显示

                2.sed        自动编辑

                        添加内容

                        sed '1a\\添加的内容' 文件名        在第一行后面添加内容

                        sed '1i\\添加的内容' 文件名        在第一行的前面插入内容

                        sed '$a\\添加的内容' 文件名        在最后一行后面添加内容

                        sed '1i\\添加的内容' 文件名        在最后一行的前面插入内容

                        删除内容

                        sed '1d' 文件名                        删除第一行

                        sed ‘$d’ 文件名                        删除最后一行

                        替换内容

                        sed [address]s/pattern/replacement/flags

                        address:表示指定要操作的具体行,是一个可选项

                        s:表示替换操作

                        pattern:指的是要替换的新内容

                        flags:有多种用法

                                第一种:就是flags可以表示1~512之间的任意一个数字,表示要指定替换的字符串在这一行中出现几次时才进行替换

                                第二种:就是flags可以直接表示为g,这样的意思就是对每一行所有匹配的内容全部进行替换

                                第三种:如果flags位置的值为空,则只会在第一次匹配成功时做替换操作

                3、awk        分析

                        awk 'print $1' 文件名                打印第一行的内容

                        awk -F分隔符 ‘print $1’  文件名        根据指定分隔符切割,打印第一行的内容

                        awk '($9 ~ /a/)print $1' 文件名        满足第九行数据等于a的数据打印第一行

                        

                        

                        

                        

                        

                                        

                                        

大数据学习笔记~Hadoop基础篇

前言

记录我在学习大数据技术中的学习笔记

目录

前言

一、Hadoop介绍

二、Hadoop发行版介绍

三、Hadoop核心架构发展历史

四、Hadoop三大核心组件介绍

五、Hadoop集群安装部署

a、伪分布式集群安装部署

1.下载hadoop安装包

2.设置静态ip

 3、修改主机名

 4.关闭防火墙

5.ssh 免密登录

 6.安装jdk

7. 上传Hadoop安装包

8.解压Hadoop安装包

9.配置环境变量

 10.修改配置文件

 11.格式化hdfs

 12.修改启动脚本,添加用户信息

 13.启动集群

14.查看集群是否启动成功

​编辑15. 配置windos中ip映射

 ​编辑 16.停止集群

b、分布式集群安装

1.准备三台机器

2.修改三台机器中的hosts文件

3.同步三台机器的时间

4.主节点实现免密登录其他从节点

5.解压Hadoop安装包

6.修改Hadoop配置信息

7.纷发Hadoop文件夹

8、格式化hdfs

9.启动集群

10.关闭集群

c、Hadoop的客户端节点


一、Hadoop介绍

Hadoop适合海量数据分布式存储和分布式计算

Hadoop的作者是Doug Cutting ,Hadoop这个作者的孩子给他的毛绒象玩具起的名字

二、Hadoop发行版介绍

Apache Hadoop:官方版本,开源

Cloudera Hadoop(CDH):商业版本,对官方版本做了一些优化,提供收费的技术支持,提供界面操作,方便集群运维管理

HortonWorks(HDP):开源,提供界面操作,方便运维管理

建议在实际工作中搭建大数据平台时选择CDH或者HDP,方便运维管理

三、Hadoop核心架构发展历史

Hadoop1.x

MapReduce(分布式计算),HDFS(分布式存储)

Hadoop2.x

MapReduce,Others,YARN(资源管理),HDFS

Hadoop3.x

MapReduce,Others,YARN,HDFS

四、Hadoop三大核心组件介绍

Hadoop主要包含三大组件:HDFS+MapReduce+YARN

HDFS负责海量数据的分布式存储

MapReduce是一个计算模型,负责海量数据的分布式计算

YARN主要负责集群资源的管理和调度

五、Hadoop集群安装部署

a、伪分布式集群安装部署

伪分布式集群安装:使用一台Linux机器【建议在后续学习阶段使用伪分布式集群】

1.下载hadoop安装包

这里我使用的是hadoop3.2.0这个版本,下面是官网下载链接

https://archive.apache.org/dist/hadoop/common/hadoop-3.2.0/hadoop-3.2.0.tar.gzhttps://archive.apache.org/dist/hadoop/common/hadoop-3.2.0/hadoop-3.2.0.tar.gz

2.设置静态ip

vi /etc/sysconfig/network-scripts/ifcfg-ens33

 3、修改主机名

零时设置
hostname 主机名

永久设置
vi /etc/hostname

 4.关闭防火墙

零时关闭
systemctl stop firewalld
查看防火墙状态
systemctl status firewalld
永久关闭
systemctl disable firewalld

5.ssh 免密登录

ssh-keygen -t rsa

一直回车就行 

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

登录时就不需要密码了

 6.安装jdk

找到自己下载的jdk安装包,并通过Xshell上传至Linux中,解压jdk安装包

tar -zxvf jdk-8u202-linux-x64.tar.gz

 重命名一下

mv jdk-8u202-linux-x64.tar.gz jdk1.8

配置环境

vi /etc/profile

 在文件最后添加(后面的路径根据自己jdk所在位置)

xport JAVA_HOME=/data/soft/jdk1.8
export PATH=.:$JAVA_HOME/bin:$PATH

 重新加载一下,使环境变量生效

source /etc/profile

测试是否配置成功

java -version

7. 上传Hadoop安装包

8.解压Hadoop安装包

tar -zxvf hadoop-3.2.0.tar.gz

9.配置环境变量

vi /etc/profile

在文件最后面添加

 10.修改配置文件

cd /data/soft/hadoop-3.2.0/etc/hadoop
vi hadoop-env.sh

 在文件末尾添加

export JAVA_HOME=/data/soft/jdk1.8
export HADOOP_LOG_DIR=/data/hadoop_repo/logs/hadoop
vi core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://主机名:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>存放日志的路径</value>
   </property>
</configuration>

vi hedf-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>副本数</value>
    </property>
</configuration>

 

vi mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>指定执行引擎</value>
    </property>
</configuration>

 

vi yarn-site.xml
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>指定mapreduce计算框架</value>
    </property>
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
   <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
</configuration>

 

vi workers

 将所有内容删除,改成自己的主机名

 11.格式化hdfs

bin/hdfs namenode -format

 12.修改启动脚本,添加用户信息

cd /data/soft/hadoop-3.2.0/sbin
vi start-dfs.sh

 尽量加在文件上面点,因为后面的代码会使用到这些

HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
vi stop-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
vi start-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
vi stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

 13.启动集群

start-all.sh

14.查看集群是否启动成功

jps

 看到这6个进程则为启动成功

hdfs 服务 端口号 : 9870

可以通过浏览器来进行访问

主机IP:9870

 yarn 服务 端口号:8088

可以通过浏览器来访问

主机IP:8088

15. 配置windos中ip映射

在最后添加

  16.停止集群

stop-all.sh

b、分布式集群安装

使用三台Linux机器

master(主节点)

NamNode ,Secondary namenode ,Resource Manager

slave(从节点1)

DataNode ,NodeManage

slave(从节点2)

DataNode ,NodeManager

1.准备三台机器

通过克隆之前的bigdatao2,来创建第三台机器

更改第三台机器的ip地址

第二台机器的配置

更改ip

vim /etc/sysconfig/network-scripts/ifcfg-ens33

更改主机名

零时设置
hostname 主机名
永久设置
vi /etc/hostname
主机名

防火墙

零时关闭
systemctl stop firewalld
查看防火墙状态
systemctl status firewalld
永久关闭
systemctl disable firewalld

免密登录

ssh-keygen -t rsa

一直回车

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

解压jdk

tar -zxvf jdk安装包名

配置环境变量

vi /etc/profile
export JAVA_HOME=/data/soft/jdk1.8
export .:$JAVA_HOME/bin:$PATH

第三台机器的配置和第二台机器的配置是一样的 

2.修改三台机器中的hosts文件

vi /etc/hosts
192.168.10.100 bigdata01
192.168.10.101 bigdata02
192.168.10.102 bigdata03
192.168.10.103 bigdata04
192.168.10.104 bigdata05

三台机器都要修改,内容都是一样的

3.同步三台机器的时间

yum install -y netdate
ntpdata -u ntp.sjtu.edu.cn

添加到定时任务中

vi /etc/crontab
* * * * * root /usr/sbin/ntpdate -u ntp.sjtu.edu.cn

三台机器都要执行

4.主节点实现免密登录其他从节点

先拷贝到家目录下

到主节点

scp ~/.ssh/authorized_keys bigdata02:~/

scp ~/.ssh/authorized_keys bigdata03:~/

到从节点1

cat ~/authorized_keys >> ~/.ssh/authorized_keys

到从节点2

cat ~/authorized_keys >> ~/.ssh/authorized_keys

5.解压Hadoop安装包

tar -zxvf hadoop安装包名

6.修改Hadoop配置信息

/data/soft/hadoop-3.2.0/etc/hadoop
vi hadoop-env.sh
export JAVA_HOME=/data/soft/jdk1.8
export HADOOP_LOG_DIR=/data/hadoop_repo/logs/hadoop
vi core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://主节点主机名:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>日志目录</value>
   </property>
</configuration>

 

vi hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>副本数</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>bigdata01:50090</value>
    </property>
</configuration>

vi mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
vi yarn-site.xml
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>指定resourcemanager节点在那个机器上执行</value>
	</property>
</configuration>

vi workers

bigdata02
bigdata03

修改启动脚本

vi start-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
stop-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
start-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

7.纷发Hadoop文件夹

scp -rq Hadoop文件名 bigdat02:/data/soft

scp -rq hadoop-3.2.0 bigdata03:/data/soft

8、格式化hdfs

hdfs namenode -format

9.启动集群

start-all.sh

10.关闭集群

stop-all.sh

c、Hadoop的客户端节点

在实际工作中不建议直接连接集群中的节点来操作集群,直接把集群中的节点暴露给普通开发人员是不安全的

建议在业务机器上安装Hadoop,这样就可以在业务机器上操作Hadoop机器了,此机器就称为Hadoop的客户端节点

以上是关于大数据学习笔记~linux基础篇的主要内容,如果未能解决你的问题,请参考以下文章

计算机基础篇学习笔记2

零基础学习大数据人工智能,学习路线篇!

Linux学习笔记-B站韩顺平

大数据学习笔记~Hadoop基础篇

大数据之路之Linux篇

大数据之路之Linux篇