Linux 相关命令及Linux相关服务部署

3 篇文章 0 订阅
2 篇文章 0 订阅
桌面版虚拟机修改密码:
	1.id
	2.passwd
	输入新密码
用户切换su 、sudo:
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
linux挂载数据盘:
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
mount操作:
挂载光驱:
	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
本地yum源:
使用 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免密码登录:

远程访问虚拟机:ssh [ip地址] 
	退出:exit
生成公钥和私钥:ssh-keygen -t rsa 【按四下回车】

将公钥发给其他虚拟机:ssh-copy-id [虚拟机名或ip]

公钥存储位置(【/root/.ssh路径下】文件名固定):authorized_keys
lrzsz安装:
自动安装: 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、tomcat:
查看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
【安装mysql】:
 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: <your new 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为成功)
安装nginx(默认80端口):
解压: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
安装nginx(lua):
服务器中安装依赖:
	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
安装 nginx:
解压:
	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版本控制工具:
在线安装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:
下载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 <seconds> <changes>
持久化机制  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配置(jdk、tomcat已装):
解压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(分布式协调服务)配置:
解压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. <int name="hostPort">${jetty.port:8080}</int>
修改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" 

~~

SolrCloud常用管理命令

创建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
安装activeMQ:
上传压缩包: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

【安装hive】

【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 
	添加如下内容:
	<configuration>
	<property>
	<name>javax.jdo.option.ConnectionURL</name>
	<value>jdbc:mysql://localhost:3306/hive createDatabaseIfNotExist=true</value>
	<description>JDBC connect string for a JDBC metastore</description>
	</property>

	<property>
	<name>javax.jdo.option.ConnectionDriverName</name>
	<value>com.mysql.jdbc.Driver</value>
	<description>Driver class name for a JDBC metastore</description>
	</property>

	<property>
	<name>javax.jdo.option.ConnectionUserName</name>
	<value>root</value>
	<description>username to use against metastore database</description>
	</property>

	<property>
	<name>javax.jdo.option.ConnectionPassword</name>
	<value>hadoop</value>
	<description>password to use against metastore database</description>
	</property>
	</configuration>

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
CDH生成sha文件:
执行命令: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码

删除jar中指定文件
zip -d /mnt/learn/lichuan/scala-1.0.jar META-INF/*.RSA META-INF/*.DSA META-INF/*.SF
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值