第一章 Linux基础

目录:

  一、Linux的实验环境

  二、配置Linux和Linux的目录结构

  三、vi编辑器

  四、文件目录操作命令

  五、Linux的权限管理

  六、安装常用软件

  七、案例:Java的死锁分析

 

************************

一、Linux的实验环境

*************************

 

       1、安装Linux

              重点:   (1)选择网卡的类型

                                   选择“仅主机模式”:注意一个问题:设置虚拟机的IP地址的时候

                                          对应一个主机虚拟的网卡:vmnet1  ----> 对应的IP:192.168.157.1

                            (2)选择:Development Tools ----> 自带了gcc编译器 ----> 安装Redis

                                       Server with GUI 图形界面            

                            (3)设置虚拟机的网卡

                                         

              介质:rhel-server-7.4-x86_64-dvd.iso

              安装RedHatLinux7.docx

      

       2、总共需要5台Linux

                192.168.157.111    bigdata111

                192.168.157.112    bigdata112

                192.168.157.113    bigdata113

                192.168.157.114    bigdata114

                192.168.157.115    bigdata115

 

************************************** 

二、配置Linux和Linux的目录结构

**************************************

       清屏:ctrl+L

 

  1、 Linux的体系结构(操作系统体系结构)

  2、Linux和UNIX

  3、关闭防火墙

              systemctl status firewalld.service

              systemctl stop firewalld.service     ---> 如果重启,会重启防火墙

              systemctl disable firewalld.service  ---> 永久关闭防火墙

  4、配置主机名和IP的对应关系

              编辑配置文件 vi /etc/hosts

                     192.168.157.111 bigdata111

 

*************** 

三、vi编辑器

***************

相当于linux的记事本

       1、命令格式  vi 文件名 

              如果文件存在,打开

              如果不存在,创建

 

  2、三种模式

              (1)编辑模式(默认):等待命令的输入

                                     按i ---> 进入到了:插入模式

                                                    按:  进入了命令模式

                                                    按/   进入搜索模式

 

              (2)插入模式:输入文本

                   按esc键,回到编辑模式

 

              (3)命令模式

                     w 保存

                     q 退出

                     wq 保存退出

                     ! 强制***

                     set number 打开行号

                     set nonumber 关闭行号

                     set wrap 换行显示

                     set nowrap 不换行显示

 

************************** 

四、文件目录操作命令

**************************

Linux的重点,这些命令跟HDFS的命令非常像)

              (1)ls 显示文件和目录列表

                      -l 列出文件的详细信息,等同于 ll命令

 

                      -a 列出当前目录所有文件,包含隐藏文件和隐藏目录

                          带.的 就是隐藏

 

                             隐藏文件:/root/.bash_profile 设置环境变量

                             隐藏目录: /root/.ssh  保存公钥和私钥,用于免密码登录(hadoop、spark需要配置免密码登录)

 

                     查看HDFS:hdfs dfs -ls /

 

              (2)mkdir 创建目录

                            -p 父目录不存在情况下先生成父目录     

                            约定: mkdir /root/training   安装目录

                                   mkdir /root/tools      介质           

                       在HDFS上创建目录:hdfs dfs -mkdir /data

              (3)cd 切换目录

                        注意: ~ 代表当前用户的家目录 /root

 

              (4)touch 生成一个空文件

                        echo 生成一个带内容文件;更常用的方式是用它查看环境变量

                             echo $JAVA_HOME

 

              (5)cat、tac 显示文本文件内容

                        cat是从第一行开始写;tac是从最后一行开始写

                        more 命令:分页显示

 

                        more data.txt

 

                        查看HDFS目录下文件的内容  hdfs dfs -cat /data/data.txt

 

              (6)cp 复制文件或目录

                            基本拷贝:cp data.txt a.txt

 

                     想在HDFS上拷贝文件:hdfs dfs -cp /data/data.txt /data/bbb.txt

 

                      scp 在网络上拷贝命令(安装Hadoop、Spark、Storm全分布的需要用到)

 

              (7)rm 删除文件

                            -r 同时删除该目录下的所有文件

                            -f 强制删除文件或目录       

                     例子: rm -rf a.txt

                            如果想在HDFS上删除: hdfs dfs -rmr /data    

              (8)tar命令:打包压缩命令

                            一般安装介质的后缀:  .tar.gz格式

                                                        hadoop-2.7.3.tar.gz

                                                        jdk-8u144-linux-x64.tar.gz

              (9)kill命令,最常用的参数 -9  PID

                               kill -9 PID           

                                      另外一个参数:kill -3 PID 对于Java来说,打印出Java的Thread Dump信息(死锁、性能瓶颈)

 

              (10)find 在文件系统中查找指定的文件   -name  文件名

                       举例: find . -name *.txt

                            . 表示当前目录和子目录          

              (11)man 命令帮助信息查询

                       举例  man ls

 

              (12)Linux 通道:命令1 | 命令2

                            把命令1的输出 作为 命令2 的输入

 

                            cat data.txt | more

                            ps -ef ----> 查看所有的进程

                            ps -ef | grep java  ----> 把所有的进程进行过滤 查看java的进程

 

************************

五、Linux的权限管理

************************

(原因:HDFS也有权限的管理,类似Linux的权限管理)

       1、权限的类型:3种

            r  读

               w  写

               x  执行

             

2、举例

 

********************* 

六、安装常用软件

*********************

       使用一个ftp的工具: winscp 免费的FTP

 

       1、JDK: 版本: 1.8 64位

              (1)使用tar命令解压

                            tar -zxvf jdk-8u144-linux-x64.tar.gz -C ~/training/        

              (2)设置环境变量:vi ~/.bash_profile

                            JAVA_HOME=/root/training/jdk1.8.0_144

                            export JAVA_HOME

 

                            PATH=$JAVA_HOME/bin:$PATH

                            export PATH    

              (3)生效环境变量  source ~/.bash_profile

 

       2、tree命令: 安装包: .rpm

              命令: rpm -ivh tree-1.6.0-10.el7.x86_64.rpm

                     tree -d -L 2

                    

                     -d:只显示目录

                     -L:表示目录的层数

                     [root@bigdata111 ~]# tree -d -L 2

                     .

                     ├── Desktop

                     ├── Documents

                     ├── Downloads

                     ├── Music

                     ├── Pictures

                     ├── Public

                     ├── Templates

                     ├── tools

                     ├── training

                     │   └── jdk1.8.0_144

                     └── Videos

 

*******************************                     

七、案例:Java的死锁分析

*******************************

       预习:DeadLock.java

       什么死锁?线程互相等待

      

       诊断问题?找到原因?

       1、死锁、性能方面问题

              JDK 提供一个非常强大性能诊断工具: Thread Dump

              Linux:    kill -3 PID

              Windows:  在执行Java程序的命令行窗口上,按 ctrl + break(fn+B)

      

              一般:正常运行Java程序:RUNNABLE

                    有问题: BLOCKED

                       

       2、OOM:out of memory

              诊断工具:Heap Dump

      

***********************

八、几个注意的问题

***********************

       1、最多问题:写错了(仔细)

       2、没有启用intel vt-x开关

       3、vmware虚拟机(vmnet 1 IP地址)

       4、如何关闭虚拟机?----> 挂起虚拟机

       5、一共需要安装5台Linux

              后面四台: (1) Minal Install

                          (2) bigdata112

明确几个问题:

1、学什么?怎么学? ------> 思想、原理、体系结构(非常重要): 画图

2、搭建环境:一定仔细

3、写程序:Hadoop、Storm  ---> Java程序

               Spark          ---> Scala、Java

 

      目的:1、学习内容     2、名词(很多)

 

posted @ 2018-09-01 22:08  那是个好男孩  阅读(122)  评论(0)    收藏  举报