这里写目录标题
linux配置
主机配置
1、设置主机名
hostnamectl set-hostname xxx
2、修改主机名
vi /etc/hostname
xxx
3、网络配置
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
4、修改配置
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.56.xxx
5、保存配置
首先使用esc(键退出)->:(符号输入)->wq(保存退出)
6、重启网络
systemctl restart network
7、测试网络连接
ping www.baidu.com
8、关闭和禁用防火墙
systemctl stop firewalld
systemctl disable firewalld
免密登录
ssh-keygen -t rsa -P '' 设置免密登录
cd .ssh 进入ssh里面
ls
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys 设置权限
hostname xuxu
vi /etc/hosts 添加主机ip和主机名
ssh xuxu 登录账号
exit 退出
ssh xuxu
安装mysql
1.rpm -qa | grep mariadb
2.rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64
3.yum install -y wget
4.wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
5.rpm -ivh mysql-community-release-el7-5.noarch.rpm
6.yum install mysql-server -y
7.chown -R root:root /var/lib/mysql
8.service mysqld restart
9.mysql -uroot -p(此处不用输入密码直接回车)
1.use mysql;
2.update user set password=password('1234') where user='root';
3.GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "1234";
4.flush privileges;
5.exit;
10.vi /etc/my.cnf
在socket下面一行添加 character-set-server=utf-8
11.service mysqld restart
java环境配置
export JAVA_HOME=/opt/soft/jdk180
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
目录操作命令
###### 目录操作命令 ######
pwd:查看当前所在目录
cd:打开目录
ls -a:查看目录下文件
ll:以列的方式显示目录下的文件列表
mkdir:创建文件目录
rm -rf:删除文件或目录
rm -ri:删除文件前询问用户
cp:复制文件命令
mv:移动文件或修改文件名
cp -rf /usr/local/test /usr/local/test1:复制test到test1里面
clear或ctrl+l:清屏
mv /usr/local/test /usr/local/test2:修改test文件名为test2
mv /usr/local/test1 /usr/local/test2:移动test1到test2文件夹里
文件操作命令
###### 文件操作命令 ######
head:从文件开始显示文件内容(默认显示前10行)
head -n:显示指定文件开始的n行数据
tail:从文件结尾显示文件内容
tail -f:动态加载某个文件内容
tail -n:查看某个文件结尾n行内容
head -3 shadow:查看shadow文件前三行的内容,shadow文件存放用户的信息
tail -3 shadow:查看shadow文件结尾三行的内容
/var目录下存放日志文件
vi:一款功能强大的全屏幕文本编辑器
vi [文件名]:打开文件
i,a:进入编辑模式
esc:退出编辑模式
“:”:进入命令模式
wq或x:保存并退出
q!:推出但不保存
w:保存
vi hosts:配置主机信息
touch:touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
touch testfile:修改文件“testfile”的时间属性为当前系统时间
权限管理
###### linux权限管理 ######
用户是指操作系统的实际操作者
用户组是具有相同特征的用户集合体
UID:用户唯一标识
GID:用户分组唯一标识
root用户:linux系统权限最高的用户
su [用户名]:切换到指定用户
whoami:查看当前登录用户
groups:查看当前用户所属分组
id:查看当前用户UID和GID
useradd [用户名]:添加用户
useradd -u [UID] [用户名]:添加用户并指定UID
passwd [用户名]:修改用户密码
userdel [用户名]:删除用户
usermod -l [新用户名] [旧用户名]:修改用户登陆名
usermod -g [新组名称] [用户名]:修改用户所属分组
groupadd [组名]:添加分组
groupadd -g [组GID] [组名]:添加分组并指定GID
cat /etc/passwd:查看etc文件夹下所有的所有的用户
usermod -g lisi wangwu:把lisi的gid改成wangwu的gid
cat /etc/group:查看etc文件夹下所有的组
groupadd -g 1101 test8:创建gid为1101的用户组test8
su wangwu:切换到wangwu用户
exit:退出当前用户的登陆
文件权限:读(r),写(w),执行(x)
d rwx r-x r-x. 2 root root 4096 Sep 23 2011 etc
d:表示"etc"是目录而不是文件
rwx:拥有者具有读写执行的权限
r-x:同组用户具有读执行的权限没有写的权限
r-x:其他组用户具有读执行的权限没有写的权限
第一个root:文件拥有者是root
第二个root:文件所属组是root
权限模式
u,g,o:拥有者,同组用户,其他组用户
+,-:赋予,收回权限
r,w,x:读写执行权限
语法:chmod u+x,g+w F01
表示对F01文件目录拥有者赋予执行权限,同组用户赋予写权限
数字模式
使用三位十进制数表示权限操作
语法:chmod 753 F01
r-4,w-2,x-1
7表示4+2+1,表示具有读写执行三个权限
5表示4+1,表示具有读执行两个权限
3表示2+1,表示具有写执行两个权限
usermod -g root zhangsan1:把zhangsan1用户的组修改到root用户组底下(root用户的gid为0)
root用户组里面有root和zhangsan1两个用户
linux权限系统:Linux用户:linux用户:linux下所有的用户都有一个唯一标识UID
linux用户组:linux中所有的用户都属于用户组,每个用户组都有一个唯一 标识GID
Linux授权模式:数字授权:chmod -r U+X,G+W F01
权限授权:chmod 753 -r F01
远程连接
###### linux远程连接 ######
SSH协议(Secure Shell )
常用的SSH工具:Xmanager、Securecrt、Putty
SSH工具版本:Xmanager5.0
Xmanager下载地址:http://www.netsarang.com
Xmanager包含两个常用工具:Xftp和Xshell
Xftp:远程文件传输软件
Xshell:远程终端模拟软件
查看主机ip地址:ifconfig
启动网卡命令:ifconfig [网卡标识] up
关闭网卡命令:ifconfig [网卡标识] down
重写获取ip命令:dhclient
进程是程序运行的动态描述
进程PID:linux系统中的进程的唯一标识
查看进程:ps -ef | grep [进程标识]
查看系统中的远程连接进程“ssh”是否开启:ps -ef | grep ssh
若开启:root 1829 1 0 May24 ? 00:00:00 /usr/sbin/sshd
root为开启进程的用户 1829为进程的PID
远程连接协议xshell选择ssh,端口为22
xftp协议选择SFTP,端口为22
ssh
###### ssh远程连接工具 ######
ps -ef | grep ssh:搜索关于ssh的服务进程
service sshd stop:停止sshd服务
service sshd start:开启sshd服务
service iptables stop:关闭防火墙
systemctl stop firewalld:关闭防火墙
systemctl disable firewalld:禁用防火墙
tar:解压安装
安装包格式:tar、tar.gz、tar.bz
安装软件包:tar -zxvf [包名]
rpm:直接安装(绿色安装)
安装包格式:rpm
安装软件包:rpm -ivh 软件包路径
卸载软件包:rpm -e 软件包全名
yum:在线安装(下一步)
安装软件包:yum -y install subversion
卸载软件包:yum -y remove subversion
安装jdk
###### jdk选择rpm安装,安装jdk1.8 ######
1.下载jdk1.8的rpm软件包
2.检测jdk是否安装:
查看已安装的jdk软件包:rpm -qa | grep jdk
卸载jdk:rpm -e [已安装的jdk软件包]
3.安装jdk软件包:rpm -ivh [软件包目录]
4.配置环境变量,修改/etc/profile文件
export JAVA_HOME=/opt/soft/jdk180
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar $JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
5.测试配置文件:
使用命令:source /etc/profile让配置文件生效
使用命令:java -version检测是否安装成功
cd jdk1.8.0_251/bin:进入安装好的jdk的bin目录
java -version:查看jdk安装的版本
vi /etc/profile:修改系统配置
source /etc/profile:激活环境变量
echo $JAVA_HOME:打印JAVA_HOME
vi ~/.bash_profile:修改用户级别的环境变量(配置环境变量的另一种方式)
export JAVA_HOME=/opt/soft/jdk180
export PATH=$JAVA_HOME/bin:$PATH
source ~/.bash_profile:激活用户环境变量
linux:linux进程管理:PID:linux系统中近程的唯一标识
查看进程:ps -ef | grep 进程标识
停止进程:kill -9 PID
linux远程连接:远程连接工具:Xmanager,Putty
SSH协议:linux远程连接是基于SSH协议
JDK安装
安装tomcat
###### Tomcat安装 ######
1.下载tar.gz格式的Tomcat安装包
2.将Tomcat解压到指定目录,并将文件夹名修改为Tomcat8
3.使用命令sh命令启动Tomcat
4.开启Tomcat 8080端口
5.宿主机浏览器输入ip地址和端口号访问Tomcat主页
sh startup.sh:启动tomcat
ps -ef | grep tomcat:查看tomcat启动的进程
在tomcat安装前要安装jdk
验证:浏览器打开localhost:8080看页面是否安装成功
安装mysql
###### MySql安装 ######
1.检测MySQL是否安装
2.强制卸载原来的MySql
3.安装MySql服务端
4.安装MySql客户端
5.启动MySql (service mysql start)
6.链接MySql (mysql -uroot -p)
打胖包
###### 打胖包 ######
将胖包mylogpack-jar-with-dependencies.jar拖进/opt里面,新建action和system文件夹
java -jar:执行jar包
java -cp xxx.jar com.MyClass:执行某个类
wc -l sys.log:看sys.log文件有多少行
安装logstash
###### logstash安装 ######
./logstash -e 'input { stdin {} } output { stdout {} }':输入输出都在控制台
./logstash -f /opt/config/mylog.conf:读取文件
./logstash -e 'input { stdin {} } output { stdout {codec => rubydebug} }':按一定格式输出
输入hello world
输出:{
"message" => "hellohello world",
"@version" => "1",
"@timestamp" => 2020-05-25T06:35:47.110Z,
"host" => "xuxu"
}
mkdir /opt/config:创建config文件夹
cd /opt/config/:进入config目录
vi mylog.conf:创建日志配置文件
输入:(在config目录下创建mylog.conf)
input {
stdin {}
}
output {
stdout {
codec => rubydebug
}
}
./logstash -f /opt/config/mylog.conf:加载环境变量文件,在bin的目录下加载
vi aa.txt:创建一个名为aa的文本内容
对aa文件里的内容进行格式输出:
input {
file {
path => "/opt/aa.txt"
start_position => "beginning"
}
}
output {
stdout {
codec => rubydebug
}
}
./logstash -f /opt/config/mylog.conf:加载环境变量文件,在bin的目录下加载
input {
file {
path => "/opt/aa.txt"
start_position => "beginning"
#全量读取:随时读取,每次加载环境变量文件的时候都重新读取
sincedb_path => "/dev/null"
}
}
output {
stdout {
codec => rubydebug
}
}
input {
file {
# aa文件必须是json大括号键值对的数据
path => "/opt/aa.txt"
start_position => "beginning"
sincedb_path => "/dev/null"
#读取json文件 {键值对}为json文件
codec => json
}
}
output {
stdout {
codec => rubydebug
}
}
input {
file {
path => "/opt/aa.txt"
start_position => "beginning"
sincedb_path => "/dev/null"
codec => json
}
}
# 同级读取json文件
filter {
mutate {
add_field => { "@adv" => "%{cm}" }
}
json {
source => "@adv"
remove_field => [ "@adv","cm" ]
}
}
output {
stdout {
codec => rubydebug
}
}
# aa文件里输入:
78461|event_login|958975260460|192.168.56.233
40265|event_login|960670860460|192.168.56.247
37170|event_login|962614860460|192.168.56.133
# 正则表达式的匹配
input {
file {
path => "/opt/aa.txt"
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
filter {
grok {
match => { "message" => "%{NUMBER:user_id}\|%{WORD:event_name}\|%{NUMBER:times}\|%{IP:client_address}" }
remove_field => ["message"]
}
}
output {
stdout {
codec => rubydebug
}
}
# 第二种匹配方式:
input {
file {
path => "/opt/aa.txt"
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
filter {
grok {
match => { "message" => "(?<userid>[0-9]+)\|(?<event_name>[a-zA-Z_]+)\|(?<times>[0-9]+)\|(?<clientip>[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})" }
remove_field => ["message"]
}
}
output {
stdout {
codec => rubydebug
}
}
安装hadoop
安装包拖进/opt
tar -zxf hadoop-2.6.0-cdh5.14.2.tar.gz
mv hadoop-2.6.0-cdh5.14.2 soft/hadoop260
cd /opt/soft/hadoop260/etc/hadoop
vi hadoop-env.sh
# The java implementation to use.
export JAVA_HOME=/opt/soft/jdk180
vi core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.56.100:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/soft/hadoop260/tmp</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
</configuration>
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
vi hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
vi yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.localhost</name>
<value>localhost</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
start-all.sh
jps
vi /etc/profile
source /etc/profile
hadoop namenode -format