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
可能需要
rpm -e mariadb-libs-1:5.5.60-1.el7_5.x86_64 --nodeps
问题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;
flush privileges;
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"
2.11 服务器的编码设置
1. locale查看服务器的编码
2. locale -a 查看支持的编码有哪些
3. vi /etc/sysconfig/i18nvi
LANG=en_US.UTF-8
SYSFONT=latarcyrheb-sun16
#LANG="zh_CN.GBK"
#SUPPORTED="zh_CN.UTF-8:zh_CN:zh"
#SYSFONT="latarcyrheb-sun16"
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 - jkzhao@wisedu.com
###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