1.id
2.passwd
输入新密码
su [用户名]
切换至root用户:su -
退出返回之前的用户:exit
权限限制:
root用户: vim /etc/sudoers
root ALL=(ALL:ALL) ALL
sudo:
添加配置信息:visudo,打开/etc/sudoers
[用户名] ALL=(ALL) ALL
【第一个ALL是指网络中的主机,我们可以指定主机名。
第二个括号里的 ALL 是指目标用户,也就是以谁的身份去执行命令。
最后一个ALL是指命令名。】
【例:hadoop node-2=(allen) /bin/kill】
查看磁盘信息:free -h
查看当前目录下所有的文件以及文件夹,包括隐藏文件:ls -al
查看当前目录下所有文件以及文件夹的详细信息,不包括隐藏文件: ll
查看当前的路径:pwd
切换访问路径:cd
返回根目录:cd ~
返回上一级目录:cd ..
创建多级目录:mkdir -p [文件夹路径]
查看本机外网IP:
curl icanhazip.com
查看cpu个数:
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
查看cpu核数:
cat /proc/cpuinfo| grep "cpu cores"| uniq
查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
查看已装软件:
rpm -qa | grep [name]
dpkg -l | grep [name]
yum list installed | grep [name]
查看进程:ps -ef | grep [进程名]
查看所有进程: ps
查看进程:ps -ef status
终止进程:kill -9 [pid]
查看进程:netstat -nltp
查看端口占用情况: netstat -tunlp|grep 9200
查看操作系统信息: lsb_release -a
安装httpd服务: yum -y install httpd
启动http服务(默认80端口):service httpd start
发布目录:/var/www/html
查看命令历史:history
查看进程的内存使用情况: mpstat -P ALL 5 2
每5秒运行一次 循环两次
查看进程的内存使用情况: top
[
PID:进程的ID
USER:进程所有者
PR:进程的优先级别,越小越优先被执行
NInice:值
VIRT:进程占用的虚拟内存
RES:进程占用的物理内存
SHR:进程使用的共享内存
S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND:进程启动命令名称
P:按%CPU使用率排行
T:按MITE+排行
M:按%MEM排行
通过 f 键可以选择显示的内容。按 f 键之后会显示列的列表,按 a-z 即可显示或隐藏对应的列,最后按回车键确定。按 o 键可以改变列的显示顺序。按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z 可以将相应的列向左移动。最后按回车键确定。
]
1、运行.sh文件
直接用./sh文件就可以运行,但是如果想后台运行,即使关闭当前的终端也可以运行的话,需要nohup命令和&命令。
(1)&命令
功能:加在一个命令的最后,可以把这个命令放在后台执行
(2)nohup命令
功能:不挂断的运行命令
2、查看当前后台运行的命令
有两个命令可以用,jobs和ps,区别是jobs用于查看当前终端后台运行的任务,换了终端就看不到了。而ps命令用于查看瞬间进程的动态,可以看到别的终端运行的后台进程。
(1)jobs命令
功能:查看当前终端后台运行的任务
jobs -l选项可显示当前终端所有任务的PID,jobs的状态可以是running,stopped,Terminated。+ 号表示当前任务,- 号表示后一个任务。
(2)ps命令
功能:查看当前的所有进程
ps -aux | grep "test.sh" #a:显示所有程序 u:以用户为主的格式来显示 x:显示所有程序,不以终端机来区分
3、关闭当前后台运行的命令
kill命令:结束进程
(1)通过jobs命令查看jobnum,然后执行 kill %jobnum
(2)通过ps命令查看进程号PID,然后执行 kill %PID
如果是前台进程的话,直接执行 Ctrl+c 就可以终止了
4、前后台进程的切换与控制
(1)fg命令
功能:将后台中的命令调至前台继续运行
如果后台中有多个命令,可以先用jobs查看jobnun,然后用 fg %jobnum 将选中的命令调出。
(2)Ctrl + z 命令
功能:将一个正在前台执行的命令放到后台,并且处于暂停状态
(3)bg命令
功能:将一个在后台暂停的命令,变成在后台继续执行
如果后台中有多个命令,可以先用jobs查看jobnum,然后用 bg %jobnum 将选中的命令调出继续执行。
查找当前目录下内容一致的文件:
find -not -empty -type f -printf "%s\n" | sort -rn | uniq -d | xargs -I{} -n1 find -type f -size {}c -print0 | xargs -0 md5sum | sort | uniq -w32 --all-repeated=separate
【1】find -not -empty -type f -printf “%s\n” :find是查找命令;-not -empty是要寻找非空文件;-type f是指寻找常规文件;-printf “%s\n”表示的是文件的大小,单位为bytes
【2】sort -rn:这条命令就是按文件大小进行反向排序
【3】uniq -d:uniq是把重复的只输出一次,而-d指只输出重复的部分(如9出现了5次,那么就输出1个9,而2只出现了1次,并非重复出现的数字,故不输出)
【4】xargs -I{} -n1 find -type f -size {}c -print0:这一部分分两部分看,第一部分是xargs -I{} -n1,xargs命令将之前的结果转化为参数,供后面的find调用,其中-I{}是指把参数写成{},而-n1是指将之前的结果一个一个输入给下一个命令(-n8就是8个8个输入给下一句,不写-n就是把之前的结果一股脑的给下一句)。后半部分是find -type f -size {}c -print0,find指令我们前面见过,-size{}是指找出大小为{}bytes的文件,而-print0则是为了防止文件名里带空格而写的参数。
【5】xargs -0 md5sum:xargs是将前面的结果转化为输入,那么这个-0表示读取参数的时候以null为分隔符读取,这也不难理解,毕竟null的二进制表示就是00。后面的md5sum是指计算输入的md5值。
【6】uniq -w32 –all-repeated=separate 最后这里表示对MD5的前32个字节进行对比,以筛选出重复文件
查看当前目录下有多少个文件及文件夹:
ls | wc -w
查看当前目录下有多少个文件:
ls | wc -c
查看当前文件夹下有多少个文件,多少个子目录
ls -l |wc -l
查看当前目录下有多少个文件:
ls -lR| grep "^-" | wc -l
查看文件大小:
ls -lht
查看文件和目录大小:
du -sh ./*
查看文件中是否含有某个字符串:
grep "WARN" ./*
查看HDFS目录大小:
hadoop fs -du -h /
创建文件:touch 文件名
批量修改文件后缀: rename .log.COMPLETED .log ./*
查看文件内容:more [文件名]
enter 回车 往下翻一行
space 空格 往下翻一页
ctrl + c 结束当前命令
查看文件的尾部内容: tail [文件名]
-f 表示从尾部进行查看
-100f 查看尾部100行的内容
例:【tail -100f install.log】
查找文件或文件夹:find [查找的路径] -[查找的规则] [查找的文件]
例:【find / -name install.log】
find . -name "*.log" -ls 在当前目录查找以.log结尾的文件,并显示
find /root/ -perm 777 查找/root/目录下权限为 777 的文件
find . -type f -name "*.log" 查找当目录,以.log 结尾的普通文件
find . -type d | sort 查找当前所有目录并排序
find . -size +100M 查找当前目录大于 100M 的文件
按目录查找:locate [查找的文件]
【locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库。之后当寻找时就只需查询这个数据库(/var/lib/locatedb)。可以在使用 locate 之前,先使用 updatedb 命令,手动更新数据库。】
复制文件/文件夹(可实现重命名):cp [源文件] [目的文件/文件夹名]
-r:多级目录复制
可一次复制多个文件,最后一个路径是复制后的路径
移动文件/文件夹(可实现重命名、剪切):mv [源文件] [目的文件/文件夹名]
删除文件/文件夹:rm -[r/f] [文件/文件夹名]
-r:递归删除
-f:强制删除
rm -f /:删除根目录(切记不可轻易使用-重装虚拟机)
授权:chmod 7777 [文件名]
创建文件:touch [文件名]
查看文件:vim [文件名]
a/i:进入编辑模式
o:下一行编辑
esc:退出编辑模式
:wq :保存退出
:q! :不保存退出
删除当前行(非编辑模式):dd
删除n行(非编辑模式):ndd
【5dd】:删除5行
到文本指定位置(非编辑模式):
到第一行:gg
到最后一行:shift+g
复制(非编辑模式):yy
复制n行(编辑模式):nyy
粘贴(光标移动到粘贴行,非编辑模式): p
修改文件属性:set ff=unix
搜索(非编辑模式):/[搜索内容]
显示行数: :set nu
查询文件行数:
wc -l /mnt/develop/flume/testLog/activation/201903011.log
dos2unix:
安装工具:yum -y install dos2unix
使用:dos2unix ./*
压缩:
tar zcvf [要压缩的文件名] [压缩后的文件名]
解压缩(.tar.gz压缩文件):
tar zxvf [要解压缩的文件名] -C [解压缩到某个文件夹名(文件夹需提前创建)]
解压缩(.tar压缩文件):
tar xvf [要解压缩的文件名] -C [解压缩到某个文件夹名(文件夹需提前创建)]
解压缩(.zip压缩文件):
unzip [要解压缩的文件名] -d [解压缩到某个文件夹名]
文件下载(连网下载):
wget [下载的文件的下载链接]
马上关机重启:reboot -h now
重启:reboot
关机:shutdown
关机:halt
关机命令:
1、halt 立刻关机
2、poweroff 立刻关机
3、shutdown -h now 立刻关机(root用户使用)
4、shutdown -h 10 10分钟后自动关机 如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启
重启命令:
1、reboot
2、shutdown -r now 立刻重启(root用户使用)
3、shutdown -r 10 过10分钟自动重启(root用户使用)
4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用) 如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启
setup模式:
用 root 输入 setup 命令,进入交互式修改界面
Minimal 安装的系统没有安装 setuptool 软件,可 yum 安装后使用。
yum install setuptool ntsysv system-config-securitylevel-tui
yum install system-config-network-tui system-config-keyboard
修改配置文件:
vim /etc/udev/rules.d/70-persistent-net.rules
修改网卡选项
vim /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=虚拟机ip
GATEWAY=虚拟机网关
NETMASK=子网掩码(一般是255.255.255.0)
DNS1=(谷歌域名解析)8.8.8.8/(全国通用域名解析)114.114.114.114
重启网卡:service network restart
查看防火墙状态:service iptables status
配置防火墙免拦截端口(在指定位置的下一行添加):vim /etc/sysconfig/iptables
关闭防火墙:service iptables stop
启动防火墙:service iptables start
关闭防火墙的自启动:chkconfig iptables off
查看防火墙的自启动状态:chkconfig iptables --list
查看防火墙当前策略: iptables -L -n --line-number
删除某行设置: iptables -D INPUT 8
指定插入到第几行: iptables -I INPUT 3 -s 10.129.1.164 -d 10.129.1.164 -p tcp -m tcp --dport 9000:9300 -j ACCEPT
放行某个关口(在指定位置的下一行添加):vim /etc/sysconfig/iptables
添加:-A INPUT -m state --state NEW -m tcp -p tcp --dport [端口号] -j ACCEPT
添加(指定机器访问9000-9300端口): -A INPUT -s 10.129.1.157 -d 10.129.1.163 -p tcp -m tcp --dport 9000:9300 -j ACCEPT
彻底禁止某IP访问:
#屏蔽单个IP的命令是
iptables -I INPUT -s 123.45.6.7 -j DROP
#封整个段即从123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP
#封IP段即从123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP
#封IP段即从123.45.6.1到123.45.6.254的命令是
iptables -I INPUT -s 123.45.6.0/24 -j DROP
指令I是insert指令 但是该指令会insert在正确位置并不像A指令看你自己的排序位置,
因此用屏蔽因为必须在一开始就要加载屏蔽IP,所以必须使用I命令加载,
然后注意执行/etc/rc.d/init.d/iptables save进行保存后重启服务即可
三台虚拟机关闭selinux:
跟踪请求发送路径(ping不通时查看问题原因):tracert [ip]
【SELinux 是 2.6 版本的 Linux 内核中提供的强制访问控制(MAC)系统。是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。对于目前可用的 Linux安全模块来说,SELinux 是功能最全面,而且测试最充分的。】
查看配置文件:vim /etc/selinux/config
修改(切记不可输错):#SELINUX=enforcing 改为:SELINUX=disabled
时钟服务器:ntpdate us.pool.ntp.org;
定时任务:crontab -e
输入任务:(一分钟刷新一次) */1 * * * * /usr/sbin/ntpdate us.pool.ntp.org;
更改主机名:vim /etc/sysconfig/network
主机名与IP地址的映射:vim /etc/hosts
添加(若干):[ip] 主机名
查看主机:hostname
fdisk /dev/vdb 依次输入?n,p,1,两次回车,wq,分区就开始了。
fdisk -l
mkfs.ext3 /dev/vdb1
echo /dev/vdb1 /mnt ext3 defaults 0 0 >> /etc/fstab
cat /etc/fstab
mount /dev/vdb1 /mnt
df -h
挂载光驱:
mkdir /mnt/cdrom
mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom/
将设备/dev/cdrom 挂载到 挂载点/mnt/cdrom 中
挂载镜像:
挂载光盘镜像文件(.iso)
mkdir /mnt/centos
mount -o loop /root/Centos-6.7.DVD1.iso /mnt/centos
卸载 umount:
umount /mnt/cdrom
使用 CentOS 镜像创建本地 yum 源
1、挂载 iso 镜像,拷贝所有文件至本地 yum 目录
mkdir /dev/centios /mnt/local_yum
mount -o loop /root/CentOS-6.7-x86_64-bin-DVD1.iso /dev/centios
cp -r /dev/centios/* /mnt/local_yum/
2、修改 yum 源配置
cd /etc/yum.repos.d/
rename .repo .repo.bak *.repo
cp CentOS-Base.repo.bak CentOS-Local.repo
修改配置:vi CentOS-Local.repo
[local_yum]
name=This is a local repo
baseurl=file:///mnt/local_yum
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
3、更新 yum 配置
yum clean all
yum repolist all
远程访问虚拟机:ssh [ip地址]
退出:exit
生成公钥和私钥:ssh-keygen -t rsa 【按四下回车】
将公钥发给其他虚拟机:ssh-copy-id [虚拟机名或ip]
公钥存储位置(【/root/.ssh路径下】文件名固定):authorized_keys
自动安装: yum -y install lrzsz
【离线安装:
解压:tar -zxvf lrzsz-0.12.20.tar.gz
编译、安装:cd lrzsz-0.12.20
./configure --prefix=/usr/local/lrzsz
make
make install
备注:如果编译报错 error: no acceptable cc found in $PATH
则需要安装gcc编译器 推荐联网安装 yum install gcc gcc-c++ gcc-g77
建立软连接,配置系统命令:
cd /usr/bin
ln -s /usr/local/lrzsz/bin/lrz rz
ln -s /usr/local/lrzsz/bin/lsz sz
如果是CentOS则可以用yum install lrzsz安装,更方便。】
~~
命名规范:
mkdir -p /export/servers 软件安装
mkdir -p /export/software 安装包
mkdir -p /export/data 数据存放
~~
查看jdk版本:
java -version
查看linux自带jdk:
rpm -qa | grep jdk
强制卸载自带jdk(多个jdk用--nodeps(忽略依赖)):
rpm -e [jdk名...] [--nodeps]
解压.gz压缩包:
tar zxvf [压缩文件名] -C [/安装目录]
解压.gz压缩包:
tar xvf [压缩文件名] -C [/安装目录]
配置环境变量:
vim /etc/profile
添加变量:export JAVA_HOME=/export/servers/jdk1.8.0_141
export PATH=:$JAVA_HOME/bin:$PATH
【 export JAVA_HOME=/export/servers/jdk1.8.0_65
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar】
让修改立即生效(刷新):source /etc/profile
安装tomcat:
tar zxvf apache-tomcat-7.0.57.tar.gz -C /export/servers/
进入tomcat文件:
cd /export/servers/apache-tomcat-7.0.57
启动tomcat:
bin/startup.sh
结束tomcat:
bin/shutdown.sh
查看[tomcat]进程:
ps -ef | grep tomcat
查看java进程:
jps
安装MYSQL:
mysql-安装包:
https://dev.mysql.com/downloads/file/ id=469456
mysql-JDBC驱动:
https://dev.mysql.com/downloads/file/ id=480090
检查是否自带mysql安装包:
rpm -qa | grep mysql
强制卸载自带mysql:
rpm -e [mesql名...] --nodeps
解压mysql-tar包(可先创建mysql文件夹):
tar xvf [] -C [/安装目录]
安装rpm文件:
rpm -ivh *.rpm
查看随机密码:more /root/.mysql_secret
grep 'password' /var/log/mysqld.log
启动服务:
service mysql start
登录mysql:
mysql -uroot -p
更改密码:
SET PASSWORD=PASSWORD('123456')
报错:
[
ERROR 1819 (HY000): Yourpassword does not satisfy the current policy requirements
修改validate_password_policy参数的值
mysql> set global validate_password_policy=0;
这样,判断密码的标准就基于密码的长度了。这个由validate_password_length参数来决定。
validate_password_length参数默认为8,可以设置为其它值,最小4位
mysql> set global validate_password_length=1;
mysql> set password = password('!1q2w3e4r!');
]
查看密码策略:
SHOW VARIABLES LIKE 'validate_password%';
[
#禁用密码过期
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
#授权用户root使用密码passwd从任意主机连接到mysql服务器
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '!1q2w3e4r!' WITH GRANT OPTION;
"解释:GRANT ALL PRIVILEGES ON *.* TO 'root'@'主机名' IDENTIFIED BY 'mysql密码' WITH GRANT OPTION;"
]
将mysql加在启动项:chkconfig --add mysql
chkconfig mysql on
chkconfig mysql --list
(2.3.4.5.都为on表示添加成功)
【在mysql中操作(属于sql语句)授权用户root使用密码password从任意主机连接到mysql服务器】开启远程访问
(all:CRUD 【增删改查权限】、*.*:库.表、 root:用户、 %:所有ip都可以连接 、identified by '123456':远程连接密码、 with grant option:授权)
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
刷新权限表:flush privileges;
配置数据库,是否区分大小写,编码设定:
vi /etc/my.cnf
[
lower_case_table_names=1
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
]
#禁用密码验证
set validate-password=OFF
yum install mysql mysql-server mysql-devel
完成后,用 /etc/init.d/mysqld start 启动mysql
启动mysql控制台:
mysql
mysql>; USE mysql;
mysql>; UPDATE user SET Password=PASSWORD('newpassword') WHERE user='root';
mysql>; FLUSH PRIVILEGES; 刷新设置
允许远程登录
mysql -u root -p
Enter Password:
mysql>GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;
完成后就能远程管理mysql了。
mysql服务名字 service mysqld start
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'hadoop' WITH GRANT OPTION;
UPDATE user SET Password=PASSWORD('hadoop') WHERE user='root';
开机自启:chkconfig --add mysqld
chkconfig mysqld on
chkconfig mysqld --list 查看状态(2.3.4.5都为on为成功)
解压:tar zxvf [压缩文件路径(可进入压缩文件目录选择压缩包名)] -C [/安装目录]
安装依赖(四个):
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
编译nginx:
1.先创建临时文件夹:mkdir -p /var/temp/nginx
2.编译(先进入nginx-1.8.0文件夹):
cd /export/servers/nginx-1.8.0
执行:
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
make
make install
3.启动nginx:
进入nginx文件:cd /usr/local/nginx
启动:sbin/nginx -c conf/nginx.conf
查询状态:ps -ef | grep nginx
停止:sbin/nginx -s stop
服务器中安装依赖:
yum -y install gcc perl pcre-devel openssl openssl-devel
上传 LuaJIT-2.0.4.tar.gz 并安装 LuaJIT:
tar -zxvf LuaJIT-2.0.4.tar.gz -C /usr/local/src/
cd /usr/local/src/LuaJIT-2.0.4/
make && make install PREFIX=/usr/local/luajit
设置 LuaJIT 环境变量:
vi /etc/profile
export LUAJIT_LIB=/usr/local/luajit/lib
export LUAJIT_INC=/usr/local/luajit/include/luajit-2.0
source /etc/profile
创建 modules 文件夹,保存 nginx 依赖的模块:
mkdir -p /usr/local/nginx/modules
上传 nginx 依赖的模块:
【set-misc-nginx-module-0.29.tar.gz
lua-nginx-module-0.10.0.tar.gz
ngx_devel_kit-0.2.19.tar.gz
echo-nginx-module-0.58.tar.gz】
将依赖的模块直接解压到 modules 目录:
tar -zxvf lua-nginx-module-0.10.0.tar.gz -C /usr/local/nginx/modules/
tar -zxvf set-misc-nginx-module-0.29.tar.gz -C /usr/local/nginx/modules/
tar -zxvf ngx_devel_kit-0.2.19.tar.gz -C /usr/local/nginx/modules/
tar -zxvf echo-nginx-module-0.58.tar.gz -C /usr/local/nginx/modules/
安装 openresty:
tar -zxvf openresty-1.9.7.3.tar.gz -C /usr/local/src/
cd /usr/local/src/openresty-1.9.7.3/
./configure --prefix=/usr/local/openresty --with-luajit && make && make install
解压:
tar -zxvf nginx-1.8.1.tar.gz -C /usr/local/src/
【解决中文乱码问题:
cd /usr/local/src/nginx-1.8.1/src/http/modules/
rm ngx_http_log_module.c
再重新加载新文件[ngx_http_log_module.c]】
编译 nginx 并支持其他模块:
cd /usr/local/src/nginx-1.8.1/
执行:
./configure --prefix=/usr/local/nginx \
--with-ld-opt="-Wl,-rpath,/usr/local/luajit/lib" \
--add-module=/usr/local/nginx/modules/ngx_devel_kit-0.2.19 \
--add-module=/usr/local/nginx/modules/lua-nginx-module-0.10.0 \
--add-module=/usr/local/nginx/modules/set-misc-nginx-module-0.29 \
--add-module=/usr/local/nginx/modules/echo-nginx-module-0.58
make -j2
make install
启动nginx:
进入nginx文件:cd /usr/local/nginx
启动:sbin/nginx
停止:sbin/nginx -s stop
在线安装svn所有的包:
yum install subversion
创建SVN多版本库目录:
mkdir -p /opt/svnFile
通过SVN的管理命令来创建我们的一个版本库:
svnadmin create /opt/svnFile
修改配置文件(三个):
进入存放配置文件的文件夹cd /opt/svnFile/conf/
修改配置文件(passwd):添加授权用户 例:【zhangsan = 123456】
修改配置文件(svnserve.conf):
将原来注释掉的四行配置打开注释即可(顶格):
【anon-access = read】
【auth-access = write】
【password-db = passwd】
【authz-db = authz】
修改authz授权文件:
添加一个组(在[groups]最后一行加):
admin = zhangsan,lisi,wangwu,zhaoliu
(在文件末尾加)配置人员权限(组权限、测试人员权限、其他人员权限):
[/]
@admin = rw
zhaosi = r
* =
启动SVN:svnserve -d -r /opt/svnFile
关闭SVN:killall svnserve
查看SVN服务状态:ps -ef|grep svnserve
Svn默认使用的端口号是3690(如果防火墙开启,需配置放行3690端口)
下载redis的安装包:
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
解压redis:
tar zxvf redis-3.2.8.tar.gz -C /export/servers/
在线安装C程序运行的环境:
yum -y install gcc-c++
在线安装tcl工具类:
yum -y install tcl
编译安装redis:
cd /export/servers/redis-3.2.8
make # 进行编译
make install # 进行安装
修改配置文件(redis.conf):
bind [虚拟机ip]
daemonize yes # 表示redis进程启动之后挂在后台运行
logfile "/export/servers/redis-3.2.8/redislogs/redislog.log" # 指定redis日志文件存放的目录(文件夹先创建,路径必须带文件名)
dir /export/servers/redis-3.2.8/redisdata # 指定redis数据库当中数据存放的位置(文件夹先创建)
启动redis服务:
cd /export/servers/redis-3.2.8
src/redis-server /export/servers/redis-3.2.8/redis.conf
查看进程:ps -ef | grep redis
连接客户端:src/redis-cli -h [虚拟机ip]
持久化机制 RDB(配置文件中 满足《n秒之内 多少条记录发生变化》就保存到硬盘):save
持久化机制 AOF(配置文件中 qps query per secondes 如果配置成everysec 查询效率依然能够达到上万每秒,能够满足要求):appendonly yes
appendfsync everysec
redis数据类型:String、List、Set、Hash
String:
设置值: set [key] [value]
查看redis数据库当中所有key: keys *
从redis当中通过key来进行取值: get [key]
设置自增长字段值: set [key] 20
incr [key] 自增长1
incrby [key] 5 自增长5
decr [key] 自减1
decrby [key] 5 自减5
设置key的过期时间(3秒): expire [key] 3
查看存活剩余时长: ttl [key]
删除一个key: del mykey
List:不会去重
从左边插入值:lpush [key(相当于集合名)] [value...]
查看下标从0 到4的数据:lrange [key] 0 4
从右边弹出一个元素:rpop [key]
获取集合当中元素的个数:llen [key]
从右边弹出,再从左边插入:rpoplpush [key1] [key2]
Set:会去重
向集合当中添加元素(去重): sadd [key] [value...]
查看这个集合当中所有的元素: smembers [key]
查看集合元素个数: scard [key]
查看集合当中是否存在某一个元素: sismember [key] [value]
随记获取集合当中的一个值: srandmember [key]
Hash:键的value存储的是map集合
设置值:hset [key(集合名称)] [key1(map的key)] [value...]
取值: hget [key] [key1(map)]
获取hash数据的长度:hlen [key]
增长10: hincrby [key] [key1] 10
解压solr:
tar zxvf solr-4.10.2.tgz -C /export/servers/
拷贝solr.war到tomcat:
cd /export/servers/solr-4.10.2/example/webapps
cp solr.war /export/servers/apache-tomcat-7.0.57/webapps/
解压solr.war或运行tomcat:
解压solr.war:unzip solr.war -d solr
mv solr.war solr.war.bak(修改.war否则tomcat运行时会再加载)
运行tomcat:cd /export/servers/apache-tomcat-7.0.57
启动: bin/start.sh
拷贝两个文件(lib、classes)到tomcat/webapps/solr/WEB-INF/
准备solr_db的路径:
mkdir -p /export/servers/solr-4.10.2/example/solr_db
cd /export/servers/solr-4.10.2/example
cp -r solr solr_db/
修改配置文件(solrconfig.xml(引入路径需要改),schema.xml(字段需调整))
修改配置文件(tomcat/bin文件中catalina.sh第二行插入):export JAVA_OPTS=-Dsolr.solr.home=/export/servers/solr_db/solr
拷贝contrlib与dist到solr_db/solr里面去(与配置文件(solrconfig.xml)的路径相匹配)
cd /export/servers/solr-4.10.2
cp -r contrib/ dist/ /export/servers/solr-4.10.2/example/solr_db/solr/
启动tomcat即可
tomcat日志查看(tomcat路径下):cd logs
查看后100行:tail -100f logs/catalina.out
解压zookeeper:cd /export/softwares
tar -zxvf zookeeper-3.4.9.tar.gz -C /export/servers/
修改环境变量(注意:3台zookeeper都需要修改):
vim /etc/profile
export ZOOKEEPER_HOME=/export/servers/zookeeper-3.4.9
export PATH=$ PATH:$ZOOKEEPER_HOME/bin
立即生效:source /etc/profile
修改配置文件:
第一台机器修改配置文件:
cd /export/servers/zookeeper-3.4.9/conf
复制模板配置文件:cp zoo_sample.cfg zoo.cfg
修改配置文件(zoo.cfg):【/export/data/zkdata】
1. 数据存储的文件夹的路径:dataDir=/export/servers/zookeeper-3.4.9/zkdata
2. server.1=[主机名或ip]:2888:3888(第一台虚拟机)
server.2=[主机名或ip]:2888:3888(第二台虚拟机)
server.3=[主机名或ip]:2888:3888(第三台虚拟机)
创建数据存储文件:mkdir -p /export/servers/zookeeper-3.4.9/zkdata
把1写入myid文件中:echo 1 > /export/servers/zookeeper-3.4.9/zkdata/myid
拷贝安装文件到其他虚拟机:
scp -r zookeeper-3.4.9/ [虚拟机名或ip]:$PWD
修改其他虚拟机myid的值:echo [值] >/export/servers/zookeeper-3.4.9/zkdatas/myid
三台机器启动zookeeper的服务
这两个命令三台机器都要执行
cd /export/servers/zookeeper-3.4.9
bin/zkServer.sh start
Observer 模式:
如果要想使用 Observer 模式,可在对应节点的配置文件添加如下配置:
peerType=observer
其次,必须在配置文件指定哪些节点被指定为 Observer,如:
server.1=localhost:2181:3181:observer
~~ 按需执行:
拷贝tomcat和solr到其他虚拟机:
scp -r apache-tomcat-7.0.57/ [主机名]:$PWD
scp -r solr-4.10.2/ [主机名]:$PWD
将solr的配置文件上传到zookeeper=进行统一管理
1. cd /export/servers/solr-4.10.2/example/scripts/cloud-scripts
2. ./zkcli.sh -zkhost centos01:2181,centos02:2181,centos03:2181 -cmd upconfig -confdir /export/servers/solr-4.10.2/example/solr_db/solr/collection1/conf/ -confname solrconf
修改三台虚拟机的端口为8080:
1. cd /export/servers/solr-4.10.2/example/solr_db/solr
2. vim solr.xml
3. ${jetty.port:8080}
修改catalina.sh与zookeeper产生关联:
1. cd /export/servers/apache-tomcat-7.0.57/bin
2. vim catalina.sh
export JAVA_OPTS="-Dsolr.solr.home=/export/servers/solr-4.10.2/example/solr_db/solr -DzkHost=centos01:2181,centos02:2181,centos03:2181"
~~
创建core的命令
http://192.168.52.250:8080/solr/admin/collections action=CREATE&name=mycore2&numShards=2&replicationFactor=2&maxShardsPerNode=8&property.schema=schema.xml&property.config=solrconfig.xml
删除core的命令:
http://192.168.52.250:8080/solr/admin/collections action=DELETE&name= collection1
查询solrCloud所有的core
http://192.168.52.250:8080/solr/admin/collections action=LIST
显示集群的状态
http://192.168.52.250:8080/solr/admin/collections action=CLUSTERSTATUS
分裂shard
http://192.168.52.250:8080/solr/admin/collections action=SPLITSHARD&collection=mycore2&shard=shard1
删除shard
http://192.168.52.200:8080/solr/admin/collections action=DELETESHARD&shard=shard1&collection= mycore2
上传压缩包:apache-activemq-5.12.0-bin.tar.gz
解压:tar zxvf apache-activemq-5.12.0-bin.tar.gz -C /export/servers/
授权(需进入同级目录):
(1)chmod 777 apache-activemq-5.12.0
(2)cd apache-activemq-5.12.0/bin
chmod 755 activemq
启动activemq:./activemq start
【chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。
一般是三个数字:
第一个数字表示文件所有者的权限
第二个数字表示与文件所有者同属一个用户组的其他用户的权限
第三个数字表示其它用户组的权限
权限分为三种:读(r=4) 写(w=2) 执行(x=1)。综合起来还有可许可执行(rx=5=4+1)、可读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)。
所以,chmod 755 设置用户的权限为:
1.文件所有者可读可写可执行 --7
2.与文件所有者同属一个用户组的其他用户可读可执行 --5
3.其他用户可读可执行 --5
】
【1.上传tar包
2.解压
tar -zxvf hive-1.2.1.tar.gz
3.安装mysql数据库
推荐yum 在线安装
4.配置hive
(a)配置HIVE_HOME环境变量
vi conf/hive-env.sh
配置其中的$hadoop_home
(b)配置元数据库信息
vi hive-site.xml
添加如下内容:
javax.jdo.option.ConnectionURL
jdbc:mysql://localhost:3306/hive createDatabaseIfNotExist=true
JDBC connect string for a JDBC metastore
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
Driver class name for a JDBC metastore
javax.jdo.option.ConnectionUserName
root
username to use against metastore database
javax.jdo.option.ConnectionPassword
hadoop
password to use against metastore database
5.安装hive和mysql完成后,将mysql的连接jar包拷贝到$HIVE_HOME/lib目录下
如果出现没有权限的问题,在mysql授权(在安装mysql的机器上执行)
mysql -uroot -p
#(执行下面的语句 *.*:所有库下的所有表 %:任何IP地址或主机都可以连接)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;
6.Jline包版本不一致的问题,需要拷贝hive的lib目录中jline.2.12.jar的jar包替换掉hadoop中的
/home/hadoop/app/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar
】
【启动Hive
bin/hive
启动Hive历史记录:
mr-jobhistory-daemon.sh start historyserver
Hive几种使用方式:
1.Hive交互shell
bin/hive
2.Hive JDBC服务(参考java jdbc连接mysql)
3.hive启动为一个服务器,来对外提供服务
bin/hiveserver2
nohup bin/hiveserver2 1>/var/log/hiveserver.log 2>/var/log/hiveserver.err &
启动成功后,可以在别的节点上用beeline去连接
bin/beeline -u jdbc:hive2://mini1:10000 -n root
或者
bin/beeline
! connect jdbc:hive2://mini1:10000
bin/beeline -u jdbc:hive2://192.168.153.151:10000 -n root
4.Hive命令
hive -e ‘sql’
bin/hive -e 'select * from t_test'
】
启动命令:
java -jar xxxx.jar
debug启动:
java -jar -Xdenug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 xxxx.jar
执行命令:sha1sum APACHE_PHOENIX-4.14.0-cdh5.14.2.p0.3-el7.parcel > APACHE_PHOENIX-4.14.0-cdh5.14.2.p0.3-el7.parcel.sha1
注意: vim APACHE_PHOENIX-4.14.0-cdh5.14.2.p0.3-el7.parcel.sha文件,只保留前边的hash码
zip -d /mnt/learn/lichuan/scala-1.0.jar META-INF/*.RSA META-INF/*.DSA META-INF/*.SF