putty远程连接工具,winSCP文件传输工具。
基本操作:
Linux操作系统,RedHat 7.4 64位
Vmware 12
网卡:仅主机模式,集群通信的时候需要这个模式,其实NAT也可以用于集群通信,这里就用仅主机模式。
一共用到五台虚拟机
bigdata111~bigdata115
在vmware12下安装RedHat 7.4 64位操作系统
远程工具:putty,Xshell
1.关闭防火墙
一般生产系统,不能关闭防火墙,实验环境
ctrl+L:清屏
systemctl stop firewalld.service
systemctl disable firewalld.service
如何重启了防火墙,怎样永久关闭防火墙
2.设置主机名和IP地址的对应关系:
vi /etc/hosts
192.168.8.115 bigdata115
ls /
/代表跟目录
bin:存放所有可执行二进制文件
etc:存放系统配置文件
dev:存放设备文件
3.tmp:一旦linux重启后,数据就会删除。
HDFS默认的数据保存目录是Linux的tmp目录,所以配置时一定要改一下这个参数。
linux记事本,vi a.txt,如果不存在创建,如果存在则打开。
三种模式:
1.编辑模式:等待命令输入,i:进入插入模式;
2.插入模式:输文本数据,esc键
3.命令模式:在编辑模式下输入:号则进入命令模式。
w,保存
wq保存退出
wq!强制保存退出
q退出
打开行号:set number
set nonumber
换行:set wrap set nowrap
ls:查看文件 -l 详细文件信息 -a隐藏文件
.bash_profile:设置环境变量,环境变量设置在.bash_profile
/当前用户/.bash_profile只针对当前用户有效,如/root/.bash_profile
JAVA_HOME、HADOOP_HOME
隐藏目录:/root/.ssh 配置免密码登录(hadoop和spark),.ssh中的公钥和私钥。
HDFS中查看目录和文件:hdfs dfs -ls / 查看HDFS的根目录
mkdir 创建目录
-p父目录不存在情况下生产父目录
约定:mkdir /root/tools ----------->安装包
mkdir /root/training --------------->安装目录
HDFS上:hdfs dfs -mkdir /input
cd:切换目录
touch:生成一个空文件
(*)echo:生成一个带内容文件,使用echo查看环境变量的值
echo $JAVA_HOME
cat、tac显示文本文件内容
cat:从第一行开始写;tac从最后一行开始写
查看HDFS文件的内容:hdfs dfs -cat /input/data.txt
cp:复制文件或目录
cp a.txt b.txt,a拷贝为b.txt
HDFS: hdfs dfs -cp a.txt b.txt
rm:删除文件 -r同时删除该目录下的所有文件 -f:强制删除文件或目录
HDFS:hdfs dfs -rmr /input/data.txt
在默认情况下,HDFS没有开启回收站,如果误删了回收站找回。
ps:查看后台进程的状态
ps -ef 使用标准格式显示每个进程信息
redis查看服务的实例:ps -ef |grep redis-server
kill杀死一个进程
参数:-9强制杀死
-3 JAVA进程,打印java进程的线程信息thread dump
打包:*.tar.gz
安装需要解压解包
tar:文件目录打包解包
权限分为三种:r读,w写,x执行
ls -l或者ll
d
第一位:d目录,-表示文件
后面九位:
分成三组:每一组都是读写执行的权限,第一组代表当前用户对当前文件;第二粗代表同组用户,针对当前文件的权限;第三组为其他人。
改变权限:如果有权限当前位标识为1,没有则为0。110,rw-对应的二进制,三个二进制数字。
chmod 777 文件名
当前用户所有权限,同组用户可读可写,其他人可读
chmod 764 文件名
HDFS:改变文件或者目录的权限
hdfs dfs -chmod 764 /input/data.txt
hadoop讲义,HDFS的用户权限管理。
JDK,
tar -zxvf jdk-8u102-linux-x64.tar.gz -C /root/training/
设置环境变量:
vi ~/.bash_profile
JAVA_HOME=/root/training/jdk1.8.0_144
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
生效环境变量:
source ~/.bash_profile
查看环境变量:
echo $JAVA_HOME
java -version
死锁或者产生了性能的瓶颈,如何分析,分析的手段是什么?
(1)DeadLock.java
死锁就是线程的互相等待。
[root@bigdata115 temp]# javac DeadLock.java
[root@bigdata115 temp]# ls
DeadLock.class DeadLock.java ThreadA.class ThreadB.class
[root@bigdata115 temp]# java DeadLock
*** Thread A: ***: Lock A
*** Thread B: ***: Lock B
(2)java程序性能分析之thread dum和heap dump
heap dump分析OOM的问题,OOM:内存溢出,分析谁产生了内存溢出。
thread dump:分析性能瓶颈(线程信息)
得到Thread dump
(*)在linux:kill -3 PID
which jps:
jps把当前机器上的JAVA进程包括进程号打印出来。
[root@bigdata115 ~]# which jps
/root/training/jdk1.8.0_102/bin/jps
[root@bigdata115 ~]# jps
2705 DeadLock
2836 Jps
[root@bigdata115 ~]# kill -3 2705
Java stack information for the threads listed above:
===================================================
"Thread-1":
at ThreadB.run(DeadLock.java:68)
- waiting to lock <0x00000000c285c948> (a java.lang.Object)
- locked <0x00000000c285c958> (a java.lang.Object)
"Thread-0":
at ThreadA.run(DeadLock.java:41)
- waiting to lock <0x00000000c285c958> (a java.lang.Object)
- locked <0x00000000c285c948> (a java.lang.Object)
Found 1 deadlock.
如果是在windows上:按ctrl+break(fn+B)