有关Linux服务器的一些配置

1.Redis部署

1.版本 redis-3.0.7
2.上传解压
3.编译 make && make install
问题:/bin/sh: cc: command not found
需要先安装好gcc : yum install gcc
问题:In file included from adlist.c:34:0:
执行:make MALLOC=libc -- 推测:编译库的问题。
提示:make PREFIX=Path install --指定安装目录
4.修改redis.conf配置文件
-- 守护进行是否打开   本不支持后台运行,要想后台运行需要开启守护
daemonize no   --> daemonize yes
--添加bind ip为当前机器
bind 192.168.245.130
5.启动:在redis根目录执行
启动:src/redis-server redis.conf //在后台运行了
连接:src/redis-cli -h 192.168.245.130 -h代表host缩写
查看key数据:keys *
数据操作:set hello 123 ,get hello
清楚数据:flushall
停止服务:./redis-cli -h 192.168.245.130 -p 6379 shutdown

 

2.Centos 7相关操作

2.1 防火墙

-- 可参考: https://www.cnblogs.com/moxiaoan/p/5683743.html
firewalld的基本使用
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld

2.2 主机名

2--主机名修改 :https://blog.csdn.net/xuheng8600/article/details/79983927
hostnamectl set-hostname xxx

2.3 selinux

SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。

但是这个安全策略会影响大数据学习时候,多个服务之间的数据交互。为了保证后续的学习,所有虚拟机都需要关闭SElinux,执行以下命令:

关闭selinux
vi /etc/selinux/config
以下注释
SELINUX=enforcing
添加以下内容
SELINUX=disabled

2.4 ssh免密登录

1.生成自己的密钥
--在每台Linux中都要生成自己的密钥,执行以下命令:
ssh-keygen -t rsa
密钥的位置:/root/.ssh

2.收集公钥   所有服务器执行
ssh-copy-id linux01   //将密钥传给hadoop01服务器,hadoop01能访问所有服务器

3.分发密钥   分给所有的服务器
scp /root/.ssh/authorized_keys linux01:/root/.ssh/

2.5 环境变量

vi /etc/profile

Java的配置==>在配置文件中添加以下配置:
export JAVA_HOME=/export/servers/jdk1.8.0_141
export PATH=:$JAVA_HOME/bin:$PATH

配置生效:source /etc/profile

2.6 tomcat

查看Tomcat日志,执行命令:
tail -f logs/catalina.out

2.7 Mysql

--mysql【5.7有变化】
https://blog.csdn.net/u013541411/article/details/89516575
安装完成之后
mysql_upgrade -u root -p --force ;//后台运行
set @@global.show_compatibility_56=ON;//解决兼容问题,后台运行


--mysql【5.6】
-- 检查是否存在mysql库
rpm -qa | grep mysql
-- 卸载mysql库    
rpm -e --nodeps mysql-libs-5.1.71-1.el6.x86_64
解压
tar -xvf xx -C ?path
安装  
rpm -ivh *.rpm
问题1: /usr/bin/perl is needed by MySQL-client-5.6.25-1.el6.x86_64
-- yum install -y perl-Module-Install.noarch
问题2:net-tools is needed by MySQL-server-5.6.25-1.el6.x86_64
-- yum install net-tools -y

启动mysql:service mysql start
systemctl start mysqld.service
查看初始密码:cat /root/.mysql_secret
连接mysql:mysql -uroot -pXXXX
修改密码:SET PASSWORD = PASSWORD('root');
设置开机自启:chkconfig mysql on

远程登录:
格式:
GRANT 【权限内容】 ON 【库名】.【表名】 TO 【用户名】@'【IP地址】'
IDENTIFIED BY '【密码】' WITH GRANT OPTION;
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;

2.8 网络配置

修改其文件:/etc/sysconfig/network-scripts/ifcfg-ens33 
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.245.130  ip地址
NETMASK=255.255.255.0   子网掩码
GATEWAY=192.168.245.2   网关
DNS1=8.8.8.8

修改完后生效:service network restart

TYPE="Ethernet"
BOOTPROTO=static
NAME="ens33"
UUID="1f093d71-99ep-4ad5-t424-98e13b4e99022"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.85.128
NETMASK=255.255.255.0
GATEWAY=192.168.85.2

DNS1=8.8.8.8

DNS2=8.8.8.4

2.9 虚拟机克隆

复制好文件之后
 -- 对复制的虚拟机生成新的MAC地址,然后启动
 -- 修改网卡配置
 	vi /etc/sysconfig/network-scripts/ifcfg-enxx
 	更改UUID 和 更改 IPADDR
-- service network restart 
-- 删除文件 /etc/udev/rules.d/70-persistent-net.rules 【存在的话】
-- 设置主机名:hostnamectl set-hostname init1 
-- 映射 vim /etc/hosts 

2.10 Shell指令

一:分解这个组合:“>/dev/null 2>&1” 为五部分。
1:> 代表重定向到哪里,例如:echo "123" > /home/123.txt
2:/dev/null 代表空设备文件
3:2> 表示stderr标准错误
4:& 表示等同于的意思,2>&1,表示2的输出重定向等同于1
5:1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于 "1>/dev/null"


 

 

3.大数据相关组件

3.1 Kafka的使用

启动Zookeeper:
/home/admin/modules/zookeeper-3.4.5/bin/zkServer.sh start

启动Kafka:
/home/admin/modules/kafka_2.11-0.11.0.2/bin/kafka-server-start.sh /home/admin/modules/kafka_2.11-0.11.0.2/config/server.properties 

检查Kafka主题:
/home/admin/modules/kafka_2.11-0.11.0.2/bin/kafka-topics.sh --zookeeper linux01:2181 --list

创建Kafka主题:
/home/admin/modules/kafka_2.11-0.11.0.2/bin/kafka-topics.sh --zookeeper linux01:2181 --topic traffic --create --replication-factor 1 --partitions 3

控制台消费数据测试:
/home/admin/modules/kafka_2.11-0.11.0.2/bin/kafka-console-consumer.sh --zookeeper linux01:2181 --topic traffic --from-beginning

删除主题:
/home/admin/modules/kafka_2.11-0.11.0.2/bin/kafka-topics.sh --delete --zookeeper linux01:2181 --topic traffic

 

3.2 Zookeeper的部署

https://www.cnblogs.com/zhaojiankai/p/7126181.html

1.首先安装jdk,配置环境变量
2.主机名与ip的映射    hosts文件
3.创建日志存放目录dataDir  和 事务日志存放目录dataLogDir 
	注意】:如果不配置dataLogDir,那么事务日志也会写在dataDir目录中。这样会严重影响zk的性能。因为在zk吞吐量很高的时候,产生的事务日志和快照日志太多。
4.修改配置文件 conf/sample.cfg--->zoo.cfg
	dataDir=xx
	dataLogDir=xx
	server.1=xx:2888:3888
	server.2=xx:2888:3888
	server.3=xx:2888:3888
5.创建标识id文件 myid
	在我们配置的dataDir指定的目录下面,创建一个myid文件,里面内容为一个数字,用来标识当前主机,conf/zoo.cfg文件中配置的server.X中X为什么数字,则myid文件中就输入这个数字:
	 echo "1" > /usr/service/zookeeper-3.4.14/dataDir/myid

6.复制zk到其他节点上,并修改对应的myid
	 scp -rp zookeeper-3.4.14 root@linux02:/usr/service/

7.启动和关闭zk
	xx/bin/zkServer.sh start 	xx/bin/zkServer.sh stop
	./zkServer.sh status 查看状态
	日志可查询:/usr/local/zookeeper-3.4.6/bin/zookeeper.out

8.连接zookeeper集群
	./zkCli.sh -server  linux[x]:2181

9.脚本定期清理zk快照和日志文件
	正常运行过程中,ZK会不断地把快照数据和事务日志输出到dataDir和dataLogDir这两个目录,并且如果没有人为操作的话,ZK自己是不会清理这些文件的。 我这里采用脚本切割。
vi clean_zklog.sh
	#!/bin/bash
    ###Description:This script is used to clear zookeeper snapshot file and transaction logs.
    ###Written by: jkzhao - [email protected]  
    ###History: 2016-04-08 First release.
    # Snapshot file dir.
    dataDir=/usr/service/zookeeper-3.4.14/dataDir/version-2
    # Transaction logs dir.
    dataLogDir=/usr/service/zookeeper-3.4.14/dataLogDir/version-2
    # Reserved 5 files.
    COUNT=5
    ls -t $dataDir/snapshot.* | tail -n +$[$COUNT+1] | xargs rm -f
    ls -t $dataLogDir/log.* | tail -n +$[$COUNT+1] | xargs rm -f
chmod +x clean_zklog.sh
crontab -e	:每个星期日的0点0分执行
0 0 * * 0 /usr/service/zookeeper-3.4.14/clean_zklog.sh


 

4.SVN部署

1、安装SVN
	yum -y install subversion
2.创建svn仓库目录
	mkdir -p /data/svn/repositories/eaglesvn
3.创建svn版本库
	svnadmin create /data/svn/repositories/eaglesvn/
4、进入conf目录配置相关信息
	 authz      //权限控制文件
	 passwd     //账号密码文件
	 svnserve.conf  //SVN服务配置文件
	创建用户	//在里面增加用户,格式为:用户名 = 密码
		vi /data/svn/repositories/eaglesvn/conf/passwd
	设置权限
		vi /data/svn/repositories/eaglesvn/conf/authz
		例如: //eaglesvn表示版本库
			[eaglesvn:/]
			zhangyh = rw
	修改svnserve.conf文件
		vi /data/svn/repositories/eaglesvn/conf/svnserve.conf
		//放出一下注释代码   要顶置,不能出现空格
        anon-access = read //匿名用户可读
        auth-access = write //授权用户可写
        password-db = passwd //使用哪个文件作为账号文件
        authz-db = authz //使用哪个文件作为权限文件
        realm =  /data/svn/repositories //认证空间名,版本库所在目录
5.启动svn
svnserve -d -r /data/svn/repositories/  //启动svn,注意目录,不包括eaglesvn
ps aux | grep svnserve      //查看启动情况

注意:如果有需要,在防火墙开放3690端口或者关闭防火墙
vim /etc/sysconfig/iptables
//在里面增加以下代码
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT

·
6、测试SVN是否启动   //svn访问路径:svn://服务器ip/eaglesvn
	svn co svn://192.168.0.190/eaglesvn


猜你喜欢

转载自www.cnblogs.com/cz-zjy/p/11125432.html