linux 安装docker 及redis常用命令

//mkdir 创建文件
//rm -f 删除文件
Esc wq! 保存
wget
// tar xzf 解压
复制、移动与删除命令为:cp,mv,rm
Linux安装

yum install -y iptables-services

//关闭防火墙
service iptables stop
Redirecting to /bin/systemctl stop iptables.service

//检查防火墙状态
service iptables status

yum -y install httpd   ← 在线安装httpd Apache服务器及相关组件
yum -y install php   ← 在线安装PHP
yum -y install mysql-server   ← 安装MySQL
yum -y install php-mysql   ← 安装php-mysql

升级常用库文件
yum -y install gcc gcc-c++ autoconf
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel ncurses ncurses-devel

安装make命令
yum -y install make

安装vi
yum -y install vim-enhanced
装完命令是vim,加个链接
ln -s /usr/bin/vim /bin/vi

安装locate
yum -y install mlocate

安装patch
yum -y install patch

安装同步时间的
yum install -y ntp
ntpdate ntp.api.bz

yum -y install wget


安装ifconfig
yum provides ifconfig
yum install net-tools

网络

使用hostnamectl set-hostname 命令修改主机名,可永久生效
vi /etc/hostname

修改主机名

vi /etc/sysconfig/network

  NETWORKING=yes
  HOSTNAME=主机名称

vi /etc/sysconfig/network-scripts/ifcfg-ens33

mv ifcfg-eth33 ifcfg-eth0 重命名

修改

BOOTPROTO=static #这里讲dhcp换成static

ONBOOT=yes #将no换成yes

新增

-----------------正确配置------------------
TYPE=Etherent
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
NAME=ens33
DEVICE=ens33
ONBOOT=“yes”
IPADDR=192.168.20.36
GATEWAY=192.168.20.2
DNS1=114.114.114.114
NETMASK=255.255.255.0
//编辑-虚拟网络编辑器-子网ip地址也需要配置192.168.20.0

IPADDR=192.168.0.116(填你的ip) #IP地址
NETMASK=255.255.255.0 (填你的掩码值) #掩码值
GATEWAY=192.168.0.1 (默认网关)
DNS1=8.8.8.8

systemctl restart network
service network restart


修改ip地址和主机名的映射关系

???vi /etc/hosts

???127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
???::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
???10.10.0.120 hadoop-120

???10.10.0.121 hadoop-121

systemctl restart network #配置完成后,需重启网络才能生效
查看防火墙状态
firewall-cmd --state
停止firewall
systemctl stop firewalld.service
禁止firewall开机启动
systemctl disable firewalld.service


安装jDK
vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_211-amd64
export PATH=JAVA_HOME/bin:PATH
export CLASSPATH=.:JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
source /etc/profile 让配置的环境变量生效
使用rpm -qa|grep java命令可以查询出已安装的java版本

要删除的话使用yum -y remove

etc/hadoop/core-site.xml:

fs.defaultFS
hdfs://localhost:9000

 <property>
    <name>fs.defaultFS</name>
    <value>hdfs://node1:9000</value>
</property>

etc/hadoop/hdfs.xml:

dfs.replication
2

生成密钥
ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys

//格式化
./hadoop namenode -format

./start-dfs.sh

C:\Windows\System32\drivers\etc
192.168.255.136 node1
192.168.255.137 node2
192.168.255.138 node3
192.168.255.139 node4
http://192.168.255.136:50070


配置mapreduce
vi /home/haddoop-1.2/conf/mapred-site.xml

mapred.job.tracker node1:9001

./start-all.sh

//查看是否已安装docker列表
yum list installed | grep docker

//安装docker
yum -y install docker
//启动docker
systemctl start docker
// 查看docker服务状态
systemctl status docker

5、开机启动docker
[root@localhost ~]# systemctl enable docker
6、停止docker
[root@localhost ~]# systemctl stop docker

//命令来查看可用版本
docker search redis

//取最新版的 Redis 镜像
docker pull redis:latest

//使用镜像加速下载redis
docker pull registry.docker-cn.com/library/redis

docker pull hub.c.163.com/library/redis //网易

//指定版本号:
docker pull redis:4.0.9

//查看本地镜像
docker images

//运行容器
docker run -itd --name myredis -p 6379:6379 redis
-p 6379:6379:映射容器服务的 6379 端口到宿主机的 6379 端口。外部可以直接通过宿主机ip:6379 访问到 Redis 的服务。

//redis-cli 连接测试使用 redis 服务 redis-cli -p 6379
docker exec -it myredis /bin/bash

启动redis
docker run -d -p 6379:6379 --name myredis registry.docker-cn.com/library/redis

docker run -d -p 6379:6379 --name myredis hub.c.163.com/library/redis

查看容器启动情况:
docker ps

redis-cli 常用命令及用法

连接Redis服务器

连接Redis方案一:在docker环境启动redis-cli

docker exec -it myredis redis-cli
如果redis服务器有密码,需要带-a参数
docker exec -it myredis redis-cli -a “your password”
myredis表示redis容器名称
-a 密码

连接Redis方案二:使用windows版redis-cli.exe客户端启动redis-cli

redis-cli.exe -h 127.0.0.1 -p 6379
如果redis服务器有密码,需要带-a参数
redis-cli.exe -h 127.0.0.1 -p 6379 -a “123456”
-h 服务器地址
-p 端口
-a 密码

redis-cli 常用命令及用法

set命令

设置string类型,设置成功返回 OK
格式:set key value [ex seconds | px millisedonds ] [nx | xx]
Redis里的key中可以使用冒号(😃,这样可以做出命名空间的效果。
set user:myname “black cat yee”
set user:myname “black cat yee” ex 120
ex参数设置过期时间120秒

get命令

读取string类型,读取成功返回值,读取失败返回(nil)
get user:myname

getset命令

一个key - value,然后把设置之前的值返回.
set user:myname “yee”
getset user:myname “cat yee”
返回yee,注意取回来的是本次设置之前的值,因为get在前,set在后。

incr命令

自增类型,自增1,返回自增后的值
incr age

decr命令

自减类型,自减1,返回自减后的值
decr age

incrby命令

按某个长度自增,返回自增后的值
incrby age 10

decrby命令

按某个长度自减,返回自减后的值
decrby age 10

mset 命令

同时设置多个字符串key
mset country 中国 provice 湖南 city 长沙

mget命令

同时获取多个key的值
mget country provice city

exists命令

判断key是否存在,存在返回1,不存在返回0
exists country

del命令

删除key,删除成功返回1,删除失败返回0
del city

同时删除多个key,返回实际删除成功的数值
del city zipcode email

expire命令

设置某个key的过期时间
格式:expire key 时间(秒)
expire myname 10
设置myname键的过期时间为10秒

ttl 命令
查看某个key的离过期时间还剩余多少秒
ttl myname
查看myname这个缓存key离过期时间还剩余多少秒,返回-1表示未设置过期时间,返回-2表示已经过期了,返回0或正数表示剩余的过期时间

lpush命令

向List的左侧(头部)添加一个新元素,可以一次性添加多个元素,返回List的总长度

格式: lpush key member [member 2] [member n]
lpush mylist “a”
lpush mylist “b” “c” “d”

rpush命令

向List的右侧(尾部)添加一个新元素,可以一次性添加多个元素,返回List的总长度
格式: rpush key member [member 2] [member n]
rpush mylist “1”
rpush mylist “2” “3” “4”

LRange命令

可以按索引下标范围取出一个List类型某段范围的值
格式:LRange list-key 起始索引 结束索引
如果想获取整个list,起始索引用0,结束索引用-1,-1表示最后一个元素
Range mylist 0 3
LRange mylist 0 -1
起始索引为List的起始索引位置,结束索引为List的结束索引位置,结束索引为-1的时候,取出从0索引到后面所有索引范围的值

LPOP命令

从LIst左侧取出并删除一个元素,返回取出元素的值,如果list不存在,则返回null
LPOP mylist

RPOP命令

从List右侧取出并删除一个元素,返回取出元素的值,如果list不存在,则返回null
RPOP mylist
当LPOP或RPOP弹出最后一个元素时, 这个list键同时会被删除

Ltrim 命令

可以从右边开始对Listf元素进行裁剪,格式为 LTrim listKey start end,返回结果是OK
格式:Lrim list-key start end
Ltrim mylist 0 3
裁前掉右边3个元素

BRPOP和BLPOP

这两个命令与RPOP和LPOP类似,如果元素有值,则立即返回最左边或最右边的值,但是当List里没有元素的时候,它可以等待一定的时间,如果这段时间有新元素添加到了List里,那么就会停止等待并返回该元素,否则就会一直等待直到设定的时间结束,然后返回null
BRPOP listKey 等待时间(秒)
BLPOP listKey 等待时间(秒)

BRPOP mylist 5
BLPOP mylist 5
例子里表示等待5秒。如果等待时间为0,则会永远等待,要慎用。

llen命令

返回List的长度
格式:llen list-key
llen mylist

sadd命令

添加新元素到set,可以同时添加多个元素,如果添加了重复元素,会删除重复的元素,它的元素顺序是无序的,不会按先来后到的顺序显示。

返回添加成功的元素个数
格式:sadd set-key member [member 2] [member n]
sadd myset 789
给myset添加789这个元素,返回1
sadd myset a b c d e e e
这个例子会给myset添加a b c d e 五个元素,多余的e元素自动删除,返回5

smembers 命令

获取set所有元素,返回的元素列表是无序的。
smembers myset

sismember 命令

判断某个元素是否在set里,存在则返回1,不存在则返回0.
sismember myset c

sinter 命令

返回交集,可以返回两个或两个以上set的交集,返回每个set集合共同存在的元素。
格式:sinter key1 [key2] [key3]
例:
del myset1 myset2 myset3
sadd myset1 1 2 3 4 5
sadd myset2 3 4 5 6 7
sadd myset3 5 6 7 8 9

sinter myset1 myset2
返回: 3 4 5

sinter myset1 myset2 myset3
返回: 5

sinterstore 命令

返回交集,可以返回两个或两个以上set的交集,返回每个set集合共同存在的元素。
然后将交集结果保存到目标set。如果只有一个set需要合并的话,那么就相当于是复制。
格式:sinterstore 目标set-key key1 [key2] [key3]
例:
del myset1 myset2 myset3
sadd myset1 1 2 3 4 5
sadd myset2 3 4 5 6 7
sadd myset3 5 6 7 8 9
sinter myset myset1 myset2 myset3
这个例子,myset的元素为: 5

sunion命令

返回并集,返回多个set之间的并集,并去掉重复的元素
格式:sunion key1 [key2] [key3]
例:
del myset1 myset2 myset3
sadd myset1 1 2 3 4 5
sadd myset2 3 4 5 6 7
sadd myset3 5 6 7 8 9

sunion myset1 myset2
返回 1 2 3 4 5 6 7

sunion myset1 myset2 myset3
返回 1 2 3 4 5 6 7 8 9

sunionstore命令

对多个set集合的元素进行合并,并去掉重复的元素,然后保存到目标set中
格式:sunionstore 目标set-key key1 [key2] [key3]
del myset1 myset2 myset3
sadd myset1 1 2 3 4 5
sadd myset2 3 4 5 6 7
sadd myset3 5 6 7 8 9
sunionstore myset myset1 myset2 myset3
这个例子,myset的元素为 1 2 3 4 5 6 7 8 9,myset以前的值被覆盖

sdiff命令

返回差集,返回第一个集合里面有,而第二个,并且第三个,并且第n个集合里面没有的元素,只要后面任意一个集合有第一个集合的元素,都不返回。
格式:sdiff key1 [key2] [key3]
del myset1 myset2 myset3
sadd myset1 1 2 3 4 5
sadd myset2 4 5 6 7 8
sadd myset3 1 7 8 9 10

sdiff myset1 myset2
返回 1 2 3

sdiff myset1 myset3
返回 2 3 4 5

sdiff myset1 myset2 myset3
返回 2 3

sdiffstore命令

返回差集,返回第一个集合里面有,而第二个,并且第三个,并且第n个集合里面没有的元素,只要后面任意一个集合有第一个集合的元素。
然后将结果保存到目标set集合
格式:sdiffstore 目标set-key key1 [key2] [key3]
del myset1 myset2 myset3
sadd myset1 1 2 3 4 5
sadd myset2 4 5 6 7 8
sadd myset3 1 7 8 9 10
sdiffstore myset myset1 myset2 myset3
这个例子,myset的元素为 2 3

spop命令

随机从set中移除一个或多个元素并返回,格式:spop setKey [返回元数个数],
返回元素个数可写可不写,不写则随机返回1个元素,否则随机返回指定个元素
如果[返回元素个数]超过set元素的总个数,则返回全部元素
spop myset
spop myset 3
spop myset表示随机返回一个
spop myset 3 表示顾及机返回三个

scard 命令

返回set元素的总个数,如果set不存在,返回0
scard myset
如果myset不存在则返回0,存在则返回set元素总个数

srandmember命令,可以随机获取set里面的一个或多个元素,但不会移除他们。当获取的set元素的key不存在时,返回null。当指定的元数个数大于set里元素的总个数时,返回所有。
格式:srandmember setKey [number]
例:srandmember myset
srandmember myset 3

Sorted Set有点像Set和Hash的结合体,和Set一样,它里面的元素是唯一的,类型是String,所以它可以理解为就是一个Set。

但是Set里面的元素是无序的,而Sorted Set里面的元素都带有一个浮点值,叫做分数(score),所以这一点和Hash有点像,因为每个元素都映射到了一个值。
Sorted Set是有序的,规则如下:
如果A.score > B.score,那么A > B
如果A.score == B.score,那么A和B的大小就通过比较字符串来决定,而A和B的字符串是不会相等的,因为Sorted Set里面的值都是唯一的。

zadd命令

可以添加元素到Sorted Set,可以同时添加多个元素,分数(score)可以重复,但值不能重复,重复的值不会被添加进去,返回本次成功添加元素的个数。
格式:zadd sortedSetKey score value [score value] [score value]
zadd myzset 10 “Li 1”
zadd myzset 20 “Li 2”
可以同是用zadd添加多个元素
zadd myzset 30 “Li 3” 40 “Li 4” 40 “Li 5”

zrange 命令

按分数由低到高把Sorted Set的所有元素显示出来
格式:zrange key startScore endScore [withscores]
zrange myzset 0 -1
zrange myzset 0 -1 withscores
withscores参数把对应的分数显示出来

zrevrange 命令

按分数由高到低把Sorted Set的所有元素显示出来,与zrange反序显示
格式:zrevrange key startScore endScore [withscores]
zrange myzset 0 -1
zrange myzset 0 -1 withscores
withscores参数把对应的分数显示出来

zrangeByScore 命令

可以按分数范围显示sorted set的部分元素,只显示在范围内的元素
格式:zrangebyscore key 分数下限 分数上限
zrangebyscore myzset 0 59

zremrangebyscore 命令

按分数范围删除元素,返回删除元素的个数
格式:zremrangebyscore key startScore endScore
zremrangebyscore myzset 30 40

zrank 命令

按分数从低到高获得sorted set里面某个元素值的排名,如果该元素不存在,返回空。排名从0开始,0表示排第一,1表示排第二,2表示排第三。
格式:zrank key member
zrank myzset “yee 2”
返回排名

zrevrank 命令

按分数从高到低获得sorted set里面某个元素值的排名,如果该元素不存在,返回空。排名从0开始,0表示排第一,1表示排第二,2表示排第三。
格式:zrevrank key member
zrevrank myzset “yee 2”
返回排名

hash有点像javascript里面的object对象,一个hash里面可以存储多个field-value,每个field相当于一个二级key。

hash里面的值作为string类型存储,但是如果filed里面的值可以解释为数字,也可以对其进行自增或自减操作。

hset命令

设置hash里面的值,返回设置field的个数,但是当某个field已经存在时,这个field的值不会覆盖,会hset失败。
格式:hset hash-key field1 value1 [field2 value2 …]
hash中的key也可以使用冒号(:),这样可以做出命名空间的效果。
hset user:yee name “black cat”
可以同时设置多个field及值,返回filed的个数。
hset user:yee name “black cat”
hset user:yee age 20 born “2000-6-9” addr “shang hai”

hmset 命令

设置hash里多个field,如果被设置的field已经存在,就更新field的值,不存在则添加一个新的 field。
格式 hmset hash-key field1 value1 [field2 value2 …]
hmset user:yee name “black cat” age 18

hsetnx 命令

如果hash里存在某个field,则不会添加field并返回0,如果不存在field,则添加新的field并返回1。
格式:hsetnx hash-key field value
hsetnx user:yee tel 15099996666

hget命令

获取hash key里单个field的值,如果key或filed不存在,则返回null
格式 :hget hash-key field
hget user:yee name

hmget 命令

获取hash key里多个field的值。如果field不存在则返回null。
格式:hmget hash-key field1 [field2 …]
hmget user:yee name age addr

hgetall 命令

获取某个hash-key中的所有field名称及值,field与value都返回
格式:hgetall hash-key
hgetall user:yee

hincrby 命令

如果hash里某个field值的类型可以转换成数值,可以用来做自增或自减操作,返回自增或自减后的值。
格式 hincrby hash-key field incrment
incrment为正数表示自增,为负数表示自减,如果field不存在,新增一个field。
hincrby user:yee count 1
hincrby user:yee count -1

hincrbyfloat 命令

如果hash里某个field值的类型可以转换成数值,可以用来自增或自减少数,返回自增或自减后的值。如果 field不存在,则新增field。
格式: hincrbyfloat hash-key field increment
hincrby user:yee count 3.2
hincrby user:yee count -2.1

hdel 命令

删除某个hash里的字段,可以同时删除多个field,返回删除field的个数,如果field不存在,就忽略删除,并且不计入删除个数。
格式: hdel hash-key field [field …]
hdel user:yee addr count

hexists 命令

判断hash某个field是否存在,存在返回1,不存在返回0。
格式:hexists hash-key field
hexists user:yee name

hkeys 命令

返回某个hash里的所有field的名称数组。
格式:hkeys hash-key
hkeys user:yee

hvals 命令

返回某个hash里所有field的值数值
格式:hvals hash-key
hvals user:yee

hlen 命令

返回某个hash里所有field的总个数。
格式:hlen hash-key
hlen user:yee

flushall命令

清理所有key,全部删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值