页面“Freebsd桌面初始化”与“Redis5 cluster”之间的差异

来自linux中国网wiki
(页面间的差异)
跳到导航 跳到搜索
 
 
第1行: 第1行:
=用户需知=
+
=docker-compose=
<pre>
 
 
 
FreeBSD11  FreeBSD12
 
 
 
如果是有兴趣,要有进步的 直接上freebsd 
 
 
 
[https://www.v2ex.com/t/460137 freebsd 有这么强悍呢?能做什么呢]
 
 
 
今天在家成功安装了freebsd12  并连上wifi  freebsd11连不上
 
 
 
现在双硬盘也是成功的 1t 作为了home  昨天的安装好了 再mount硬盘居然是不行的,一开机就死了了,不过现在是GPT加bios 兼容模式
 
gnome3 to leav  xfce is good for use
 
 
 
桌面用户如何? 家里不用理 带个 freebsd latop 上班就行了
 
 
 
 
 
这几天更新firefox 70 失败 用port 居然有很多软件消失了 ,例如 fcitx-qt5  liboffice
 
 
 
</pre>
 
 
 
如果你读过我的TrueOS 评论并且有兴趣尝试使用桌面 BSD 或已经使用 TrueOS,请不要担心(这对于生活来说也是一个很好的建议)。TrueOS 的所有桌面元素都将剥离到 Project Trident。目前,Project Trident 网站的细节不多。他们仿佛还在进行剥离的幕后工作。
 
 
 
如果你目前拥有 TrueOS,则无需担心迁移。TrueOS 团队表示,“对于那些希望迁移到其他基于 FreeBSD 的发行版,如 Project Trident 或 GhostBSD 的人而言将会有迁移方式。
 
 
 
[https://zhuanlan.zhihu.com/p/39736459 TrueOS不再想要成为“桌面 BSD”了]
 
 
 
 
 
TW的文档是新式,天朝的太老了
 
https://www.freebsd.org/doc/zh_TW.UTF-8/books/handbook/index.html
 
  
=freebsd12 on elitebook 问题=
+
==host 网络 要手工添加集群==
1. 中文输入法老是调不出来 无论是fcitx ibus scim
+
同样要用firewall etc
 +
要优化的地方    restart 已添加  
  
2. lxqt 界面 会假死,虽然在远程还可以ssh
 
  
  
=pre-configure=
+
相关脚本和配置
 +
https://github.com/evan886/redis/tree/master/redis-cluster-docker_host
 
<pre>
 
<pre>
Pkg源地址更换为USTC:
+
Usage:
 
 
官方源配置是 /etc/pkg/FreeBSD.conf ,请先检查该文件内容。注意其中的 url 参数配置了官方仓库的地址,我们需要把它替换为镜像站的地址。 该配置文件是 FreeBSD 基本系统的一部分,会随着 freebsd-update 更新,请不要直接修改,而是创建 /usr/local/etc/pkg/repos/FreeBSD.conf 覆盖配置,文件内容如下:
 
 
 
FreeBSD: {
 
url: "pkg+http://mirrors.ustc.edu.cn/freebsd-pkg/${ABI}/quarterly",
 
}
 
如果要使用滚动更新的 latest 仓库,把 url 配置最后的 quarterly 换成 latest 即可。 修改配置后,运行 pkg update -f 更新索引。
 
 
 
</pre>
 
 
 
=configure start=
 
==0基本系统已安装 没有gui==
 
 
 
 
 
[[安装freebsd]]
 
 
 
[http://blog.linuxchina.net/?p=1047 freebsd 添加用户]
 
 
 
===字体 ===
 
<pre>cd /usr/ports/x11-fonts/wqy
 
make install clean
 
#没有字体 显示中文时为乱码
 
 
 
编辑/usr/local/etc/fonts/conf.d/85-wqy.conf这个文件,找到下面这两行( 现在不是这二行了 应该在第99、100行):
 
 
 
查找  compare="less_eq"  freebsd12 有5个
 
 
 
<test name="size" compare="less_eq"><int>16</int></test>
 
<edit name="antialias" mode="assign"><bool>false</bool></edit>
 
把less_eq后面的int值从16改成8即可。这两行的意思是对于所有小于16号的字体都禁用抗锯齿(match居然写的target=”font”,匹配了所有字体),一个最简单的workaround就是把禁用抗锯齿的字号改小一点,8号是个不错的值,因为太小的字用抗锯齿反而会模糊。
 
 
 
这样字体就美美的 </pre>
 
  
https://www.librehat.com/solve-freebsd-dragonflybsd-font-antialiasing-settings-invalid-issues/
+
bind 要记得改为你要的IP  如果用0.0.0.0 那就不要127.0.0.1
https://www.freebsdchina.org/forum/viewtopic.php?p=291166&sid=3b2dad0b46fafdb9a54757d673fef516
+
有问题多看log 目录
  
===xorg GUI 开始 ===
+
#这里是母机的ip 如果是三台机器 那么就有 三个 IP
<pre>
+
docker exec -it  node-7000  redis-cli -p 7000  --cluster create  ip:7000    ip:7001  ip:7002  ip:7003  ip:7004  ip:7005  --cluster-replicas 1
pkg install xorg
 
  
 +
docker exec -it  node-7000  redis-cli -p 7000  --cluster create --cluster-replicas 1 ip:7000    ip:7001  ip:7002  ip:7003  ip:7004  ip:7005
  
pkg install xf86-video-intel​​​​​​​
 
  
pkg install xrandr
+
三台母机的情形 就是每个docker-compose.yml 只启动两个 ,其它的删除就行了 201912
  
/etc/rc.conf
 
hald_enable="YES"
 
dbus_enable="YES"
 
  
  
pkg install gdm  #  gnome3-lite #gnome3 有点显卡闪屏
 
 
</pre>
 
</pre>
 
+
==laradock方法==
===slim===
+
===相关文件===
 
<pre>
 
<pre>
pkg install -y slim-themes slim
 
/usr/local/etc/slim.conf
 
#sessiondir  /usr/local/share/xsessions
 
# ...
 
current_theme fbsd
 
 
ls  /usr/local/share/slim/themes/
 
archlinux-simple    fbsd                gentoo-simple      mindlock            scotland-road
 
capernoited        fingerprint        gnewsense          parallel-dimensions subway
 
debian-moreblue    flat                lake                rainbow            wave
 
default            flower2            lunar              rear-window        zenwalk
 
 
 
 
</pre>
 
====usage====
 
<pre>单用户环境
 
要将SLiM配置为加载某个特定的环境,只需编辑~/.xinitrc 如下:
 
  
#!/bin/sh
+
#注意  网络是这个, 还有就是多台机器之间 也不太可能能这个网络 那样 容器之间的redis 是不通的
 +
NETWORKS_DRIVER=bridge
  
#
+
less  docker-compose.yml
# ~/.xinitrc
+
### Redis Cluster evan##########################################
#
+
    redis-cluster:
# Executed by startx (run your window manager from here)
+
      build: ./redis-cluster
#
+
      ports:
 +
        - "${REDIS_CLUSTER_PORT_RANGE}:7000-7005"
 +
      networks:
 +
        - backend
  
exec [session-command]
 
将[session-command]替换为适当的会话命令。例如:
 
  
exec awesome
+
cat  redis-cluster/Dockerfile  #注意 redis版本
exec dwm
+
FROM grokzen/redis-cluster:5.0.6
exec startfluxbox
+
#FROM grokzen/redis-cluster:latest
exec fvwm2
+
LABEL maintainer="hareku <[email protected]>"
exec gnome-session
 
exec openbox-session
 
exec startkde
 
exec startlxde
 
exec startxfce4
 
exec enlightenment_start
 
 
</pre>
 
</pre>
  
https://wiki.archlinux.org/index.php/SLiM_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
+
=== 添加密码===
 
 
https://www.c0ffee.net/blog/freebsd-on-a-laptop/#slim
 
 
 
===xfce ===
 
 
<pre>
 
<pre>
 +
添加密码 可以进入容器里面直接添加 ,不过不够好 ,有空要 放到母机出来,有如我上面
 +
004  7005  redis-cluster.tmpl redis.tmpl  sentinel.tmpl
 +
root@401a49002b88:/data# ls /redis-conf/700
 +
7000/ 7001/ 7002/ 7003/ 7004/ 7005/
 +
root@401a49002b88:/data# ls /redis-conf/7000/redis.conf
 +
/redis-conf/7000/redis.conf
 +
root@401a49002b88:/data# tail /redis-conf/7000/redis.conf
 +
bind 0.0.0.0
 +
port 7000
 +
cluster-enabled yes
 +
cluster-config-file nodes.conf
 +
cluster-node-timeout 5000
 +
appendonly yes
 +
dir /redis-data/7000
  
pkg install xfce
 
  
  cat .xinitrc
+
进入redis-cluster 容器 直接非交互 这里以7005 端口为例子
. /usr/local/etc/xdg/xfce4/xinitrc
 
#ck-launch-session /usr/local/bin/startlxqt
 
#exec awesome
 
export LC_ALL=zh_CN.UTF-8
 
export LANGUAGE=zh_CN.UTF-8.UTF-8
 
export LANG=zh_CN.UTF-8.UTF-8
 
#fcitx &
 
  
  cat /etc/rc.conf
+
redis-cli -c  -h 127.0.0.1  -p 7005  config set masterauth 36DbRGvv66
hostname="bsdelite.linuxsa.org"
+
redis-cli  -c  -h 127.0.0.1  -p 7005  config set requirepass 36DbRGvv66
#wlans_iwm0="wlan0"
+
redis-cli  -c  -h 127.0.0.1 -p 7005 auth  36DbRGvv66
#ifconfig_wlan0="WPA DHCP"
 
sshd_enable="YES"
 
dbus_enable="YES"
 
hald_enable="YES"
 
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
 
dumpdev="AUTO"
 
ifconfig_em0="DHCP"
 
slim_enable="yes"
 
defaultrouter="192.168.10.1"
 
  
fcitx wubi 在xfce 是成功的
+
redis-cli -c  -h 127.0.0.1  -p 7005  -a 36DbRGvv66  config rewrite
</pre>
+
redis-cli  -c  -h 127.0.0.1  -p 7005  config rewrite  # 最后这一步 有时得 加上密码
  
===lxqt ===
 
<pre>
 
pkg install lxqt    # sudo pkg delete lxqt # 输入法不好用 老调不出来  放弃
 
</pre>
 
https://wiki.freebsd.org/LXQt
 
  
===awesome===
 
<pre>
 
pkg install awesome
 
# cp /usr/local/etc/xdg/awesome/rc.lua .config/awesome/ #这个不要,我们后面会操作的 在配置里面
 
echo "exec awesome" >> .xinitrc
 
chmod +x ~/.xinitrc
 
</pre>
 
===时间设置===
 
<pre>
 
先用bsdconfig-->network -->  不行再date
 
  
date 201908122145
+
Usage:  可以直接用物理机的ip  内网或者外网
2019年 8月12日 星期一 21时45分00秒 CST
 
  
 +
上次搞了几天 ,是忙晕了 不记得打开防火墙 7000-7005的端口
 
</pre>
 
</pre>
  
===xrand===
+
=源码手工=
 +
==节点信息==
 
<pre>
 
<pre>
#at  elitebook
+
角色                        主机名                                                            IP1              IP2     
xrandr --output DP2 --same-as  eDP1  --mode 1366x768  --output DP2 --mode 1920x1080
 
 
 
#I3只有这个有效果  上面那个 是完全 只有一半 感觉没有了另外一半  哈哈
 
xrandr --output DP2      --mode 1920x1080    --output eDP1 --off
 
 
 
 
 
 
 
 
 
#at 神舟
 
#xrandr --output HDMI-1 --same-as  LVDS-1  --mode 1366x768  --output HDMI-1 --mode 1920x1080
 
 
 
##kali
 
#on home
 
# if vga on home  24 1920*1080
 
#xrandr --output VGA-1 --same-as  LVDS-1  --mode 1366x768  --output VGA-1 --mode 1920x1080
 
 
 
#if hdmi on home
 
#xrandr --output HDMI-1 --same-as  LVDS-1  --mode 1366x768  --output HDMI-1 --mode 1920x1080
 
#只开启外外接显示器
 
xrandr --output  HDMI-1  --mode 1920x1080 --output LVDS-1 --off
 
 
 
#HDMI-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 527mm x 296mm
 
 
 
#xrandr --output HDMI-1  --same-as  --mode 1366x768  --output HDMI-1 --mode 1920x1080+0+0
 
# on work
 
#xrandr --output VGA1  --same-as LVDS1 --mode  1920x1080  --output LVDS1 --mode 1366x768
 
 
 
  
 +
7000  7001              01                  192.168.10.211   
 +
7002  7003              02                  192.168.10.212     
 +
7004  7005              03                  192.168.10.213     
 
</pre>
 
</pre>
  
===wifi===
+
姐妹篇 [[Redis4 cluster]]
<pre>
 
 
 
首先 安装freebsd12 时,就选择wifi连接网络,不要插网线
 
 
 
Add an entry for this network to /etc/wpa_supplicant.conf. If the file does not exist, create it.
 
 
 
network={
 
ssid="myssid"
 
psk="mypsk"
 
}
 
 
 
Add entries to /etc/rc.conf to configure the network on startup:
 
 
 
wlans_ath0="wlan0"
 
ifconfig_wlan0="WPA SYNCDHCP"
 
 
 
 
 
Restart the computer, or restart the network service to connect to the network:
 
 
 
# service netif restar
 
  
</pre>
+
==防火墙设置==
https://www.freebsd.org/doc/handbook/network-wireless.html
 
 
 
===显示器 之亮度 及双显示器 ===
 
<pre>
 
 
 
#我的
 
root@bsd-latop:~ # sudo kldload acpi_video; sudo sysctl hw.acpi.video.crt0.brightness=30
 
hw.acpi.video.crt0.brightness: 80 -> 30
 
 
 
查看
 
sysctl hw.acpi.video
 
 
 
hw.acpi.video.out2.active: 1
 
hw.acpi.video.out1.active: 1
 
hw.acpi.video.out0.active: 1
 
hw.acpi.video.ext2.active: 1
 
hw.acpi.video.ext1.active: 1
 
hw.acpi.video.ext0.active: 1
 
hw.acpi.video.lcd0.active: 1
 
hw.acpi.video.crt0.levels: 80 50 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 69 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
 
hw.acpi.video.crt0.economy: 50
 
hw.acpi.video.crt0.fullpower: 80
 
hw.acpi.video.crt0.brightness: 80
 
hw.acpi.video.crt0.active: 1
 
 
 
 
 
别人的例子
 
kldload acpi_video; sysctl hw.acpi.video.lcd0.brightness=30 试试
 
 
 
 
 
</pre>
 
 
 
[http://www.bsdart.org/freebsd-%e4%b8%8b%e5%8f%8c%e6%98%be%e7%a4%ba%e5%99%a8%e7%9a%84%e8%ae%be%e7%bd%ae/ FreeBSD 下双显示器的设置]
 
 
 
===pkg 源更新和系统更新===
 
 
<pre>
 
<pre>
mkdir -p /usr/local/etc/pkg/repos/
+
第一台:
 
+
firewall-cmd --permanent --add-port=7000/tcp
sudo pkg install security/ca_root_nss
+
firewall-cmd --permanent --add-port=17000/tcp
vi /usr/local/etc/pkg/repos/FreeBSD.conf
+
firewall-cmd --permanent --add-port=7001/tcp
FreeBSD: {
+
firewall-cmd --permanent --add-port=17001/tcp
  url: "pkg+https://mirrors.ustc.edu.cn/freebsd-pkg/${ABI}/quarterly",
+
firewall-cmd --reload
#url: "pkg+http://mirrors.ustc.edu.cn/freebsd-pkg/${ABI}/quarterly",
+
firewall-cmd --list-all-zones
}
+
第二台:
 
+
firewall-cmd --permanent --add-port=7002/tcp
 
+
firewall-cmd --permanent --add-port=17002/tcp
 
+
firewall-cmd --permanent --add-port=7003/tcp
#系统更新
+
firewall-cmd --permanent --add-port=17003/tcp
pkg update -f
+
firewall-cmd --reload
pkg update
+
firewall-cmd --list-all-zones
pkg upgrade
+
第三台:
 
+
firewall-cmd --permanent --add-port=7004/tcp
 
+
firewall-cmd --permanent --add-port=17004/tcp
 +
firewall-cmd --permanent --add-port=7005/tcp
 +
firewall-cmd --permanent --add-port=17005/tcp
 +
firewall-cmd --reload
 +
firewall-cmd --list-all-zones
 
</pre>
 
</pre>
  
[https://www.freebsd.org/releases/12.1R/installation.html FreeBSD 12.1-RELEASE Installation Instructions]
+
==系统参数设置==
https://mirrors.ustc.edu.cn/help/freebsd-pkg.html
+
<pre>#vi /etc/sysctl.conf
 
+
echo 'vm.overcommit_memory = 1
https://www.freebsd.org/doc/handbook/pkgng-intro.html
+
net.core.somaxconn = 1024' >>/etc/sysctl.conf
 
 
===更新单个软件===
 
<pre>
 
 
 
这里以firefox为例子
 
 
 
pkg install firefox #就可以直接升级了
 
 
 
Installed packages to be UPGRADED:
 
firefox: 68.0.1_1,1 -> 69.0.2,1
 
telegram: 1.4.1.g20161227_5 -> 1.4.1.g20161227_6
 
protobuf: 3.7.1,1 -> 3.9.2,1
 
libevent: 2.1.10 -> 2.1.11
 
libqtxdg: 3.3.0 -> 3.3.0_1
 
 
 
Installed packages to be REINSTALLED:
 
mysql57-server-5.7.27 (direct dependency changed: perl5)
 
 
 
Number of packages to be upgraded: 5
 
Number of packages to be reinstalled: 1
 
 
 
The operation will free 1 MiB.
 
64 MiB to be downloaded.
 
  
 +
/sbin/sysctl -p /etc/sysctl.conf
 
</pre>
 
</pre>
  
===ports 加速===
+
==redis 5 安装==
 
<pre>
 
<pre>
sudo pkg install axel
+
#bash redisins.sh 2>&1 | tee redislog
 
 
vi /etc/make.conf
 
#加入以下内容
 
FETCH_CMD=axel
 
FETCH_BEFORE_ARGS= -n 10 -a
 
FETCH_AFTER_ARGS=
 
DISABLE_SIZE=yes
 
MASTER_SITE_OVERRIDE?=\
 
http://ports.hshh.org/${DIST_SUBDIR}/\
 
http://ports.cn.freebsd.org/${DIST_SUBDIR}/\
 
#ftp://ftp.freeBSDchina.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
 
MASTER_SITE_OVERRIDE?=http://mirrors.ustc.edu.cn/freebsd-ports/distfiles/${DIST_SUBDIR}/
 
MASTER_SITE_OVERRIDE?=${MASTER_SITE_BACKUP}
 
#MASTER_SITE_OVERRIDE?=http://mirrors.ustc.edu.cn/freebsd-ports/distfiles/${DIST_SUBDIR}/
 
 
 
vi /etc/portsnap.conf
 
 
 
 
SERVERNAME=portsnap.freebsd.org
 
 
 
修改成:
 
 
 
SERVERNAME=portsnap.hshh.org
 
 
 
这个是他的更新服务器。另外还有几个国内比较快的portsnap服务器:
 
 
 
portsnap.hshh.org
 
 
 
portsnap2.hshh.org
 
 
 
portsnap3.hshh.org (网通)
 
 
 
portsnap4.hshh.org
 
</pre>
 
 
 
===更新ports===
 
<pre>
 
 
 
在 /etc/make.conf 中添加以下内容(如果文件不存在,则新建之):
 
 
 
MASTER_SITE_OVERRIDE?=http://mirrors.ustc.edu.cn/freebsd-ports/distfiles/${DIST_SUBDIR}/
 
 
 
 
 
 
 
cat  /etc/portsnap.conf  | grep cn
 
SERVERNAME=portsnap.cn.FreeBSD.org
 
 
 
fetch 获取数据
 
extract 释放全部ports
 
update 更新ports
 
第一次使用可以portsnap fetch extract
 
 
 
以后使用可以 portsnap fetch update
 
portsnap extract; portsnap update
 
 
 
现在的亚洲pkg mirrors
 
pkg0.twn.freebsd.org
 
</pre>
 
 
 
http://mirrors.ustc.edu.cn/help/freebsd-ports.html
 
 
 
[https://blog.csdn.net/joyous/article/details/81990019 FreeBSD 11.1 发行版在线升级到 FreeBSD 11.2 发行版]
 
 
 
[https://blog.csdn.net/lanzh_syf/article/details/86599445 FreeBSD 12 国内源提速 pkg 和 ports 做个笔记]
 
 
 
[https://www.cnblogs.com/apexchu/p/4131821.html Freebsd 下如何最有效率的安装软件]
 
 
 
[http://blog.linuxchina.net/?p=1039 freebsd 安装ports以及加速]
 
 
 
[https://blog.csdn.net/pengsixiang/article/details/4224141 使用国内镜像给FreeBSD的Ports安装加速]
 
 
 
[https://blog.csdn.net/pengsixiang/article/details/7458136 FreeBSD Fetch和Tar的妙用]
 
 
 
 
 
[https://www.zhihu.com/question/264793642 怎么看待FreeBSD官方对镜像站的封闭管理]
 
 
 
=20190808 new add=
 
<pre>
 
root@freebsd:/home/evan # cat /etc/fstab
 
# Custom /etc/fstab for FreeBSD VM images
 
/dev/gpt/rootfs  /      ufs    rw      1       1
 
/dev/gpt/swapfs  none    swap    sw      0      0
 
 
 
 
 
% echo 'ck-launch-session /usr/local/bin/startlxqt' > ~/.xinitrc
 
 
 
pkg install xorg
 
 
 
 
 
安装:
 
pkg install xorg
 
//在/etc/rc.conf文件内添加如下内容:
 
 
 
 
 
cat  /etc/rc.conf
 
hostname="freebsd"
 
moused_enable="YES"
 
moused_nodefault_enable="YES"
 
dbus_enable="YES"
 
hald_enable="YES"
 
ifconfig_DEFAULT="DHCP inet6 accept_rtadv"
 
sshd_enable="YES"
 
slim_enable="yes"
 
#lightdm_enable="YES"
 
 
 
 
 
pkg install xrandr  remmina synapse
 
 
 
pkg  install awesome 
 
 
 
pkg install telegram # or pidgim </pre>
 
https://forums.freebsd.org/threads/running-telegram-gui.51494/
 
 
 
添加 新硬盘  这个会出错  只有在安装时就两个硬盘 并分区就没事
 
 
 
 
 
Aug 9 2019
 
 
 
[https://blog.csdn.net/tg2003/article/details/80569955 FreeBSD本地化]
 
 
 
 
 
[http://blog.linuxchina.net/?p=1039 freebsd 安装ports以及加速]
 
 
 
[https://blog.csdn.net/pengsixiang/article/details/4224141 使用国内镜像给FreeBSD的Ports安装加速]
 
 
 
[https://blog.csdn.net/pengsixiang/article/details/7458136 FreeBSD Fetch和Tar的妙用]
 
 
 
 
 
[https://www.zhihu.com/question/264793642 怎么看待FreeBSD官方对镜像站的封闭管理]
 
 
 
 
 
[https://blog.csdn.net/lanzh_syf/article/details/86635083 freebsd12 安装gnome3图形界面]
 
 
 
 
 
 
 
docker on freebsd
 
https://wiki.freebsd.org/Docker
 
 
 
jails
 
 
 
 
 
---------------------
 
 
 
原文链接:https://blog.csdn.net/MoeDisk/article/details/87028238
 
  
 +
wget -c http://download.redis.io/releases/redis-5.0.6.tar.gz
 +
#set var
 +
redis_install_dir=/data/apps/redis
 +
redis_ver=5.0.6
  
==1 安装 gui 相关==
+
THREAD=4
=== 安装===
+
tar xzf redis-${redis_ver}.tar.gz
<pre>#不用 portnaps 直接pkg
+
pushd redis-${redis_ver} > /dev/null
#昨晚这个默认居然是没有cn的 我去 搞半天 ,还是改一下比较好滴
 
vi /etc/portsnap.conf
 
SERVERNAME=portsnap.cn.FreeBSD.org
 
  
#不安装gnome3 就没有gdm,但是没办法单独安装gdm 
+
make -j ${THREAD}
pkg install xorg mate  slim  #没了 xf86-video-fbdev ?
 
  
#[Install CINNAMON Desktop Environment]
+
make PREFIX=${redis_install_dir}
pkg install cinnamon
+
make distclean
#20170331
+
#cd src && make install #这个才行 特别是cluster ? 2019年 8月16日 星期五 23时29分41秒 CST
#Lightdm is in the ports tree.
+
make install PREFIX=${redis_install_dir} 
pkg install x11/lightdm
+
echo "export PATH=${redis_install_dir}/bin/:$PATH" >> /etc/profile && source /etc/profile
  
For lightdm to function, it requires one of the available greeters to be
+
####**********************下面是老的
installed, which are available in the ports tree at x11/lightdm-*greeter*
+
wget -c http://download.redis.io/releases/redis-5.0.5.tar.gz
 +
redis_install_dir=/home/apps/redis
 +
redis_ver=5.0.5
  
# 记得要添加这个DM Add the following lines to /etc/rc.conf to enable the LightDM:
+
THREAD=4
lightdm_enable="YES"
+
tar xzf redis-${redis_ver}.tar.gz
 +
pushd redis-${redis_ver} > /dev/null
 +
make  -j ${THREAD}
 +
make PREFIX=/home/apps/redis #here
 +
make distclean
 +
#cd src && make install #这个才行 特别是cluster ? 2019年 8月16日 星期五 23时29分41秒 CST
 +
make install  PREFIX=/home/apps/redis  # make install #这个有时没有创建出目录来呀
  
# pkg install terminology</pre>
+
#这个我没做 根本没用 哈哈
 +
#复制rb 或者放到安装的bin目录 然后再加path
 +
#cp /opt/redis-5.0.0/src/redis-trib.rb /usr/local/bin
  
===配置 和开机自启动===
+
echo 'export PATH=/home/apps/redis/bin/:$PATH' >> /etc/profile && source /etc/profile
<pre>vi /etc/fstab
+
##**********************上面是老的
proc /proc procfs rw 0 0
+
NOTE
sysrc  'hald_enable=YES'  'dbus_enable=YES' 'slim_enable=YES'    #'gdm_enable=YES'
+
redis5 用redis-cli创建整个redis集群(redis5以前的版本集群是依靠ruby脚本redis-trib.rb实现
 
</pre>
 
</pre>
  
=== 中文化===
+
==创建节点 ==
<pre>
 
 
 
只有中文化后 才能调用fcitx 五笔哦 不然没中文输入
 
2019
 
 
 
编辑用户的环境文件:
 
#vi ~/.cshrc      //增加如下内容
 
setenv LANG        zh_CN.UTF-8   
 
setenv LC_CTYPE    zh_CN.UTF-8
 
setenv LC_ALL      zh_CN.UTF-8
 
//添加完后退出当前会话,重新进入。
 
#locale    //显示当前用户环境
 
LANG=zh_CN.UTF-8
 
LC_CTYPE="zh_CN.UTF-8"
 
LC_COLLATE="zh_CN.UTF-8"
 
LC_TIME="zh_CN.UTF-8"
 
LC_NUMERIC="zh_CN.UTF-8"
 
LC_MONETARY="zh_CN.UTF-8"
 
LC_MESSAGES="zh_CN.UTF-8"
 
LC_ALL=zh_CN.UTF-8
 
 
 
 
 
用户级:
 
修改用户根目录文件.login_conf: 这个好像加了无效 201908
 
me:\
 
        :lang=zh_CN.UTF-8:\
 
        :setenv=LC_ALL=zh_CN.UTF-8:\
 
        :setenv=LC_CTYPE=zh_CN.UTF-8:\
 
        :setenv=LC_COLLATE=zh_CN.UTF-8:\
 
        :setenv=LC_TIME=zh_CN.UTF-8:\
 
        :setenv=LC_NUMERIC=zh_CN.UTF-8:\
 
        :setenv=LC_MONETARY=zh_CN.UTF-8:\
 
        :setenv=LC_MESSAGES=zh_CN.UTF-8:\
 
        :charset=UTF-8:\
 
        :xmodifiers="@im=SCIM": #这里我假设你使用SCIM
 
在英文界面下运行中文输入法:
 
 
 
startx 开启 gnome 或 gdm 开始登录gnome
 
 
 
我在 ~/.xinitrc中加入了:
 
 
 
 
 
cat .xinitrc
 
#ck-launch-session /usr/local/bin/startlxqt
 
exec awesome
 
export LC_ALL=zh_CN.UTF-8
 
export LANGUAGE=zh_CN.UTF-8.UTF-8
 
export LANG=zh_CN.UTF-8.UTF-8
 
fcitx &
 
 
 
2019
 
 
 
export LC_CTYPE=“zh_CN.UTF-8” export XMODIFIERS=@im=SCIM export GTK_IM_MODULE=xim export QT_IM_DODULE=xim export XIM_PROGRAM=“scim -d” scim -d
 
 
 
 
 
 
 
#汉化  第一次失败了 第二再重装一下又好了 2017
 
$ vi  .xinitrc
 
export LC_ALL=zh_CN.UTF-8
 
export LANGUAGE=zh_CN.UTF-8.UTF-8
 
export LANG=zh_CN.UTF-8.UTF-8
 
#exec mate-session 不用这个 mate 默认没有gdm了 如果用slim 还是要用这个</pre>
 
 
 
http://blog.chinaunix.net/uid-20377663-id-114464.html
 
 
 
https://zhidao.baidu.com/question/2203007741278957948.html
 
 
 
https://www.cnblogs.com/misstaste/p/5177011.html
 
 
 
 
 
 
 
https://www.cnblogs.com/sinx/p/10585930.html
 
 
 
=== wifi===
 
http://www.puchalian.com/freebsd-wireless-networking-basics.html
 
 
 
https://www.howtoing.com/setting_up_a_freebsd_wlan_access_point/
 
 
 
=== update ports===
 
 
<pre>
 
<pre>
 +
#第一台:192.168.10.211 #here
 +
redis_install_dir=/data/apps/redis
 +
mkdir -p ${redis_install_dir}
 +
cd ${redis_install_dir}
 +
mkdir -p redis_cluster
 +
cd redis_cluster
 +
mkdir data 7000 7001
  
 
+
#cp /root/src/redis-5.0.5/redis.conf  ${redis_install_dir}/redis_cluster
SERVERNAME=portsnap.hshh.org
+
#cd  /home/apps/redis/redis_cluster
 
+
#cp redis.conf 7000/redis_7000.conf
 
+
#mv redis.conf  7001/redis_7001.conf
http://mirrors.ustc.edu.cn/help/freebsd-ports.html
 
  
  
 +
#第2台:192.168.10.212
 +
redis_install_dir=/data/apps/redis
 +
mkdir -p ${redis_install_dir}
 +
cd ${redis_install_dir}
 +
mkdir -p redis_cluster
 +
cd redis_cluster
 +
mkdir data 7002 7003
  
https://www.cnblogs.com/yibinboy/articles/6136704.html
+
#cp /root/src/redis-5.0.5/redis.conf  .
 +
#cp  redis.conf 7002/redis_7002.conf
 +
#mv redis.conf  7003/redis_7003.conf
  
  
 +
#第3台:192.168.10.213
 +
redis_install_dir=/data/apps/redis
 +
mkdir -p ${redis_install_dir}
 +
cd ${redis_install_dir}
 +
mkdir -p redis_cluster
 +
cd redis_cluster
 +
mkdir data 7004 7005
 +
#cp /root/src/redis-5.0.5/redis.conf  .
 +
#cp redis.conf 7004/redis_7004.conf
 +
#mv redis.conf 7005/redis_7005.conf
  
  
pkg install firefox
 
 
</pre>
 
</pre>
http://mirrors.ustc.edu.cn/help/freebsd-ports.html
 
 
https://www.cnblogs.com/yibinboy/articles/6136704.html
 
 
https://blog.csdn.net/lanzh_syf/article/details/86599445
 
  
===输入法===
+
==修改配置文件(三台机器6个配置)==
==== install ====
 
 
<pre>
 
<pre>
# fcitx wubi 在xfce 是成功的
+
note 日志在系统那 因为我们配置文件没指定 /var/log/redis/
##记得 一定要加上chinese/ 不然是pkg 不到东西的  #fcitx-qt5 qt支持 不然在telegarm不能打字
 
pkg install chinese/fcitx  chinese/fcitx-configtool chinese/fcitx-table-extra  chinese/fcitx-ui-light fcitx-qt5
 
 
 
 
 
#skin
 
/usr/local/share/fcitx/skin/dark
 
 
 
我放在 .config/fcitx/skin  可以看到 但是用不了  无法加载皮肤36,回到默认皮肤 应试是皮肤不对
 
 
</pre>
 
下載後放在 .config/fcitx/skin  下創建一個對應的目錄就行了
 
 
 
 
 
[https://github.com/hosxy/fcitx-skin 基于sogou拼音皮肤修改的fcitx皮肤]
 
 
 
[https://bbs.deepin.org/forum.php?mod=viewthread&tid=168146 两款简洁的fcitx皮肤 ]
 
 
 
[https://forum.suse.org.cn/t/fcitx-artwork-fcitx/731 Fcitx 输入法皮肤制作全教程]
 
 
 
[https://blog.csdn.net/Luo_Jin/article/details/102842437 Fcitx使用搜狗词库与皮肤]
 
 
 
==== configure ====
 
<pre>
 
 
 
Note:
 
默认输入状态 非激活 不然 老是默认中文 影响 commmond
 
 
 
fcitx-diagnose  #查看相关的模块 非常不错的命令
 
 
 
vi .cshrc
 
 
 
#Note just for csh
 
setenv LANG        zh_CN.UTF-8
 
setenv LC_CTYPE    zh_CN.UTF-8
 
setenv LC_ALL      zh_CN.UTF-8
 
 
 
# evan 4 fcitx
 
setenv  XMODIFIERS @im=fcitx
 
setenv  GTK_IM_MODULE fcitx
 
setenv  QT_IM_MODULE fcitx
 
setenv  XIM=fcitx
 
 
 
 
 
下面这些只是提示而已
 
 
 
③如果使用的Shell是bash或sh:
 
cat .cshrc
 
 
 
export XMODIFIERS='@im=fcitx'
 
export GTK_IM_MODULE=fcitx
 
export QT_IM_MODULE=fcitx
 
 
 
我暂时是这个哦
 
④如果使用的Shell是csh或tcsh :
 
setenv  XMODIFIERS @im=fcitx
 
setenv  GTK_IM_MODULE fcitx
 
setenv  QT_IM_MODULE fcitx
 
⑤开机启动设置
 
系统-->首选项-->启动应用程序
 
添加fcitx
 
 
 
 
 
 
 
 
 
evan@home:~ % cat .xinitrc
 
export LC_ALL=zh_CN.UTF-8
 
export LANGUAGE=zh_CN.UTF-8.UTF-8
 
export LANG=zh_CN.UTF-8.UTF-8
 
export XMODIFIERS='@im=fcitx'
 
export GTK_IM_MODULE=fcitx
 
export GTK3_IM_MODULE=fcitx
 
 
 
mkdir -p ~/.config/autostart/
 
cp /usr/local/share/applications/fcitx.desktop    ~/.config/autostart/
 
 
 
 
 
pkg  prompt
 
Message from zh-fcitx-4.2.9.6_2:
 
 
 
************************************************************************
 
 
 
Remember to set the environment variable XMODIFIERS:
 
 
 
        csh/tcsh:      setenv XMODIFIERS @im=fcitx
 
        sh/bash:        export XMODIFIERS='@im=fcitx'
 
 
 
For GTK+ programs, you may want to set:
 
 
 
        csh/tcsh:      setenv GTK_IM_MODULE fcitx
 
                        setenv GTK3_IM_MODULE fcitx
 
        sh/bash:        export GTK_IM_MODULE=fcitx
 
                        export GTK3_IM_MODULE=fcitx
 
 
 
For Qt4 programs, we recommend you to use
 
 
 
        qtconfig-qt4: /usr/ports/misc/qt4-qtconfig
 
 
 
instead of to manually set QT4_IM_MODULE.
 
 
 
To start fcitx with your desktop, just
 
 
 
        cp /usr/local/share/applications/fcitx.desktop \
 
            ~/.config/autostart/
 
 
 
************************************************************************
 
Message from zh-fcitx-ui-light-0.1.3_2:
 
 
 
************************************************************************
 
 
 
Replace your `fcitx` command with
 
        fcitx -u fcitx-light-ui
 
to start Fcitx with this lightweight UI.
 
 
 
**************************************************************
 
 
 
 
 
</pre>
 
 
 
 
 
[[https://ultra-technology.org/freebsd/chinese-japanese-korean-input-freebsd/ Writing Chinese, Japanese, Korean in FreeBSD with fcitx]]
 
 
 
=== ops and develop  ===
 
<pre>pkg install git  rsync sudo vim bash  terminal anjuta vsftp  xfce4-terminal gcc
 
echo 'evan ALL=(ALL) NOPASSWD:NOPASSWD:ALL' >/usr/local/etc/sudoers.d/evan
 
 
 
pkg install  python
 
https://docs.python.org/2.7/using/unix.html
 
https://docs.python.org/3.3/using/unix.html
 
 
 
# python ide
 
pkg install python  intellij-pycharm
 
ln -s /usr/local/bin/python2  /usr/bin/python
 
 
 
 
 
pkg install editors/emacs
 
https://www.freebsd.org/doc/en/books/developers-handbook/emacs.html
 
 
 
pkg install terminator
 
 
 
#dig
 
pkg  install  dns/bind-tools
 
 
 
sudo pkg install py36-pip
 
sudo pip install ipython
 
 
 
evan@bsd-latop:~/lx/zabbix/api_zbx % sudo pkg search urllib3
 
py27-urllib3-1.22,1            HTTP library with thread-safe connection pooling, file post, and more
 
py36-urllib3-1.22,1            HTTP library with thread-safe connection pooling, file post, and more
 
 
 
 
 
</pre>
 
 
 
====更改freebsd shell为bash vi 为vim ====
 
==== install ====
 
<pre>pkg install bash vim
 
root@home:~ # where  vi
 
/usr/bin/vi
 
 
 
mv /usr/bin/vi /usr/bin/bakvi && ln -s /usr/local/bin/vim  /usr/bin/vi</pre>
 
 
 
====设置bash====
 
<pre>evan# whereis bash
 
bash: /usr/local/bin/bash
 
 
 
#sudo mv /bin/sh /bin/bak_sh
 
 
 
##做了下面这个ln 以后我们把平时在linux下跑的 shell 脚本拿到freebsd跑,也绝大部分没问题了
 
ln -s /usr/local/bin/bash /bin/bash
 
#ln -s /usr/local/bin/bash /bin/sh
 
 
 
 
 
evan# chsh -s /usr/local/bin/bash
 
chsh: user information updated
 
注销重启后 如下 搞定
 
[root@evan ~]# echo $SHELL
 
/usr/local/bin/bash
 
 
 
sudo chsh -s /bin/tcsh
 
 
 
 
 
#这两个干啥
 
tcsh -s /bin/bash
 
tcsh -s /usr/local/bin/bash
 
 
 
 
 
chsh命令:
 
 
 
chsh 这个命令现在一般被用来替换,usermod -s 命令即更改用户登录的shell。其常用的只有两个参数 -l 和 -s
 
 
 
chsh -l 起到的作用是列出当前系统的所有shell
 
  
 +
ls /home/apps/redis/redis_cluster/data/
 +
appendonly-7000.aof  dump_7000.rdb  nodes_7000.conf
 +
appendonly-7001.aof  dump_7001.rdb  nodes_7001.conf
 +
# 生成在这里了  /home/apps/redis/redis_cluster/data/nodes_7000.conf  nodes_7001.conf
  
 +
配置建议加上这个  下面这些配置还加上的
 +
# appendfsync always
 +
appendfsync everysec
 +
# appendfsync no
  
 +
第一台:
 +
pushd /home/apps/redis/redis_cluster
 +
mkdir -p /var/log/redis
 +
: > 7000/redis_7000.conf
 +
#vi 7000/redis_7000.conf
 +
#非交互进行
 +
echo 'port 7000
 +
bind 192.168.10.211 127.0.0.1
 +
cluster-enabled yes
 +
appendfilename "appendonly-7000.aof"
 +
cluster-config-file nodes_7000.conf
 +
cluster-node-timeout 15000
 +
appendonly yes
 +
appendfsync everysec
 +
daemonize yes
 +
dbfilename dump_7000.rdb
 +
dir /data/apps/redis/redis_cluster/data
 +
logfile "/var/log/redis/7000.log"
 +
protected-mode yes
 +
pidfile /var/run/redis_7000.pid'>7000/redis_7000.conf
  
#anjuta log
 
===========================================================================
 
Note that some standard Python modules are provided as separate ports
 
as they require additional dependencies. They are available as:
 
  
py35-gdbm      databases/py35-gdbm
+
:>7001/redis_7001.conf
py35-sqlite3    databases/py35-sqlite3
+
echo 'port 7001
py35-tkinter    x11-toolkits/py35-tkinter
+
bind 192.168.10.211 127.0.0.1
===========================================================================
+
cluster-enabled yes
</pre>
+
appendfilename "appendonly-7001.aof"
 +
cluster-config-file nodes_7001.conf
 +
cluster-node-timeout 15000
 +
appendonly yes
 +
appendfsync everysec
 +
daemonize yes
 +
dbfilename dump_7001.rdb
 +
dir /home/apps/redis/redis_cluster/data
 +
logfile "/var/log/redis/7001.log"
 +
protected-mode yes
 +
pidfile /var/run/redis_7001.pid'>7001/redis_7001.conf
  
====7zip====
 
<pre>
 
archivers/p7zip
 
  
1. 解压缩文件
+
第二台
# 7z x 解压缩文件
+
pushd /home/apps/redis/redis_cluster
注意的是如果类似libpcap-0.7.1.tar.gz,一次性7z x libpcap-0.7.1.tar.gz后,7z会解压出文件libpcap-0.7.1.tar这一层,这个时候再一次7z x libpcap-0.7.1.tar就可以啦。
+
mkdir -p /var/log/redis
2.压缩文件的参数是a
+
:>7002/redis_7002.conf
# 7z a filename.7z 要压缩的文件或者目录
+
echo 'port 7002
3.其他
+
bind 192.168.10.212 127.0.0.1
# 7z e,e这个参数很有意思,也是解压,但和x参数不同 有的就解不了 如 tar , gz
+
cluster-enabled yes
4.更多的使用7z -h看说明! 另外,apt安装p7aip后还有个命令7za,不知道和7z有什么区别
+
appendfilename "appendonly-7002.aof"
</pre>
+
cluster-config-file nodes_7002.conf
 +
cluster-node-timeout 15000
 +
appendonly yes
 +
appendfsync everysec
 +
daemonize yes
 +
dbfilename dump_7002.rdb
 +
dir /home/apps/redis/redis_cluster/data
 +
logfile "/var/log/redis/7002.log"
 +
protected-mode yes
 +
pidfile /var/run/redis_7002.pid' >7002/redis_7002.conf
  
=applications=
+
:>7003/redis_7003.conf
==终端==
+
echo 'port 7003
<pre>
+
bind 192.168.10.212 127.0.0.1
sudo pkg install tilda
+
cluster-enabled yes
</pre>
+
appendfilename "appendonly-7003.aof"
 +
cluster-config-file nodes_7003.conf
 +
cluster-node-timeout 15000
 +
appendonly yes
 +
appendfsync everysec
 +
daemonize yes
 +
dbfilename dump_7003.rdb
 +
dir /home/apps/redis/redis_cluster/data
 +
logfile "/var/log/redis/7003.log"
 +
protected-mode yes
 +
pidfile /var/run/redis_7003.pid'>7003/redis_7003.conf
  
  
==health[[Linux 下的护眼软件]]==
+
第3台
<pre>
+
pushd /home/apps/redis/redis_cluster
sudo pkg install  redshift
+
mkdir -p /var/log/redis
</pre>
+
:>7004/redis_7004.conf
 +
echo 'port 7004
 +
bind 192.168.10.213 127.0.0.1
 +
cluster-enabled yes
 +
appendfilename "appendonly-7004.aof"
 +
cluster-config-file nodes_7004.conf
 +
cluster-node-timeout 15000
 +
appendonly yes
 +
appendfsync everysec
 +
daemonize yes
 +
dbfilename dump_7004.rdb
 +
dir /home/apps/redis/redis_cluster/data
 +
logfile "/var/log/redis/7004.log"
 +
protected-mode yes
 +
pidfile /var/run/redis_7004.pid ' > 7004/redis_7004.conf
  
==rednotebook==
+
:>7005/redis_7005.conf
<pre>
+
echo 'port 7005
sudo ln -s /usr/local/bin/bash /bin/bash
+
bind 192.168.10.213 127.0.0.1
sudo pkg install py36-yaml
+
cluster-enabled yes
 +
appendfilename "appendonly-7005.aof"
 +
cluster-config-file nodes_7005.conf
 +
cluster-node-timeout 15000
 +
appendonly yes
 +
daemonize yes
 +
dbfilename dump_7005.rdb
 +
dir /home/apps/redis/redis_cluster/data
 +
logfile "/var/log/redis/7005.log"
 +
protected-mode yes
 +
pidfile /var/run/redis_7005.pid' >7005/redis_7005.conf
  
sudo python3.6 setup.py install
 
 
</pre>
 
</pre>
https://www.freshports.org/devel/py-yaml/
 
 
http://bbs.chinaunix.net/thread-3568241-1-1.html
 
  
==ss==
+
==启动redis==
 
<pre>
 
<pre>
ss
+
#cd /usr/local/redis/etc/redis_cluster #on freebsd
pkg install shadowsocks-libev
+
第一台: #注意用 "" 不要'' 要替换变量的值
  # or cd /usr/ports/net/shadowsocks-libev/ && make install clean
+
mkdir /var/log/redis
 
+
redis_install_dir=/data/apps/redis
 +
echo "redis_install_dir=/data/apps/redis
 +
${redis_install_dir}/bin/redis-server ${redis_install_dir}/redis_cluster/7000/redis_7000.conf
 +
${redis_install_dir}/bin/redis-server ${redis_install_dir}/redis_cluster/7001/redis_7001.conf">${redis_install_dir}/redis_cluster/run
  
</pre>
+
chmod +x ${redis_install_dir}/redis_cluster/run && bash ${redis_install_dir}/redis_cluster/run
[http://wiki.linuxchina.net/index.php?title=Chrome%E9%80%9A%E8%BF%87shadowsocks%E7%BF%BB%E5%A2%99#linux.28debian_pc.29_or_freebsd12 Chrome通过shadowsocks翻墙]
+
chmod  +x /etc/rc.d/rc.local
 +
echo "${redis_install_dir}/redis_cluster/run" > >/etc/rc.d/rc.local #把变量替换为值,不建议用''
  
==Document Viewers==
+
第二台
  sudo pkg install  Okular    epdfview  #Okular好用 #mupdf 只有命令行界面  # atril 好用 但是是安装上整个mate桌面
+
mkdir /var/log/redis
https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/desktop-viewers.html
+
redis_install_dir=/data/apps/redis
 +
echo "${redis_install_dir}/bin/redis-server ${redis_install_dir}/redis_cluster/7002/redis_7002.conf
 +
${redis_install_dir}/bin/redis-server ${redis_install_dir}/redis_cluster/7003/redis_7003.conf">${redis_install_dir}/redis_cluster/run
  
==IM==
+
chmod +x ${redis_install_dir}/redis_cluster/run && bash ${redis_install_dir}/redis_cluster/run
 +
chmod  +x /etc/rc.d/rc.local
 +
echo "${redis_install_dir}/redis_cluster/run" > >/etc/rc.d/rc.local #把变量替换为值
  
===telegram===
 
  sudo pkg install telegram-desktop # 其它都不对 sudo pkg install telegram  #/usr/ports/net-im/telegram && make install clean
 
  在界面顶部的搜索框中输入@zh_CN
 
  
===IRC===
+
第三台:
  sudo pkg install hexchat konversation
+
mkdir /var/log/redis
 +
redis_install_dir=/data/apps/redis
 +
echo "${redis_install_dir}/bin/redis-server ${redis_install_dir}/redis_cluster/7004/redis_7004.conf
 +
${redis_install_dir}/bin/redis-server ${redis_install_dir}/redis_cluster/7005/redis_7005.conf">${redis_install_dir}/redis_cluster/run
  
== 影音==
+
chmod +x ${redis_install_dir}/redis_cluster/run && bash ${redis_install_dir}/redis_cluster/run
<pre>pkg install celluloid vlc audacious  multimedia/audacious-plugins archivers/unzip  mplayer  gnome-mplayer    qmmp </pre>
+
chmod +x /etc/rc.d/rc.local
 +
echo "${redis_install_dir}/redis_cluster/run" >>/etc/rc.d/rc.local #把变量替换为值
  
==ftp ==
 
<pre>service 自带了ftp
 
FreeBSD includes FTP server software, ftpd, in the base system.
 
https://www.freebsd.org/doc/en/books/handbook/network-ftp.html
 
#ftp client
 
pkg install filezilla
 
 
</pre>
 
</pre>
  
==Browsers==
+
=登陆redis=
<pre>pkg install netsurf  midori falkon  chromium  firefox-esr#  firefox # firefox这个在配置那里就可以选择 add 中文
 
 
 
falkon
 
ld-elf.so.1: /usr/local/lib/qt5/libQt5Core.so.5: version Qt_5.13 required by /usr/local/bin/falkon not found
 
 
 
#今天 更新到firefox 70 然后起不来了 Segmentation fault (core dumped)
 
 
 
 
 
fetch https://download.cdn.mozilla.net/pub/firefox/releases/70.0/source/firefox-70.0.source.tar.xz
 
 
 
:/usr/ports/www/firefox # make install clean
 
 
 
 
 
https://www.freebsd.org/doc/handbook/desktop-browsers.html
 
 
 
## log
 
Message from chromium-56.0.2924.87_1:
 
For correct operation, shared memory support has to be enabled
 
in Chromium by performing the following command as root :
 
 
 
sysctl kern.ipc.shm_allow_removed=1
 
 
 
To preserve this setting across reboots, append the following
 
to /etc/sysctl.conf :
 
 
 
kern.ipc.shm_allow_removed=1
 
 
 
 
 
安装flashplayer插件
 
 
 
安装 nspluginwrapper  this is  only for firefox ?
 
cd /usr/ports/www/nspluginwrapper   
 
make   
 
make install
 
安装 linux-c6-flashplugin11
 
cd /usr/ports/www/linux-c6-flashplugin11 
 
make 
 
make install
 
执行nspluginwrapper -v -a -i
 
若报错Kernel too old, 执行命令sysctl compat.linux.osrelease=2.6.18
 
修改/etc/sysctl.conf, 增加compat.linux.osrelease=2.6.18
 
修改/etc/fstab
 
linproc /usr/compat/linux/proc linprocfs rw 0 0
 
 
 
 
 
 
 
#这个是 也是手册上的哦
 
cd /usr/ports/www/linux-flashplayer
 
make install clean
 
 
 
 
 
备注
 
 
 
安装步骤参考FreeBSD Handbook
 
安装nspluginwrapper会安装linux_base-c6
 
注意安装的版本</pre>
 
 
 
 
 
=== firefox ===
 
 
<pre>
 
<pre>
要把 .mozilla/ 目录先删除 再 重装 firefox-esr 就可以同步回插件等等所有东西回来了
+
/home/apps/redis/bin/redis-cli -c -h  192.168.10.211 -p 7000
sudo pkg install firefox-esr
+
redis-cli -h 10.3.10.141 -p 7001
 
 
 
 
 
 
字体设置 记得这个不要勾上
 
允许页面选择自己的字体代替您的上述选择(A
 
  
 +
redis-cli -h 10.3.10.142 -p 7002
 +
redis-cli -h 10.3.10.142 -p 7003
  
 +
redis-cli -h 10.3.10.143 -p 7004
 +
redis-cli -h 10.3.10.143 -p 7005
 
</pre>
 
</pre>
 
+
==创建集群==
 
+
<pre>注意:在任意一台上运行 不要在每台机器上都运行,一台就够了
https://www.freebsd.org/doc/en/books/handbook/desktop-browsers.html
+
#要开通端口  firewalld
 
+
#在geany 有: 格式可能有点不对 要注意
[https://daemon-notes.com/articles/desktop/firefox Firefox/Flash on FreeBSD]
+
redis-cli --cluster create --cluster-replicas 1 192.168.10.211:7000 192.168.10.211:7001 192.168.10.212:7002 192.168.10.212:7003 192.168.10.213:7004  192.168.10.213:7005
 
+
#--replicas  1  表示 自动为每一个master节点分配一个slave节点    上面有6个节点,程序会按照一定规则生成 3个master(主)3个slave(从)
==remmina==
 
<pre>
 
pkg install remmina
 
#默认没有rdp 等协议
 
To install the port: cd /usr/ports/net/remmina-plugins/ && make install clean
 
To add the package: pkg install remmina-plugins
 
 
</pre>
 
</pre>
https://forums.freebsd.org/threads/rdp-or-vnc-for-access-to-remote-windows-machine.53651/
+
===执行详情===
 
 
https://www.freshports.org/net/remmina-plugins/
 
 
 
==启动器==
 
synapse
 
rofi
 
 
 
https://wiki.archlinux.org/index.php/Rofi
 
 
 
https://www.cnblogs.com/siyingcheng/p/11706215.html
 
https://hacpai.com/article/1552717494529
 
 
 
https://itgoyo.github.io/2019/01/28/%E8%87%AA%E5%B7%B1%E6%8A%98%E8%85%BE%E4%B8%AARofi%E9%85%8D%E7%BD%AE/
 
 
 
https://github.com/davatorium/rofi/wiki/themes
 
 
 
==文件管理器==
 
 
<pre>
 
<pre>
pcmanfm
+
[root@dev-hello-1 redis_cluster]# redis-cli --cluster create --cluster-replicas 1 192.168.10.201:7000 192.168.10.201:7001 192.168.10.202:7002 192.168.10.202:7003 192.168.10.203:7004  192.168.10.203:7005
 +
>>> Performing hash slots allocation on 6 nodes...
 +
Master[0] -> Slots 0 - 5460
 +
Master[1] -> Slots 5461 - 10922
 +
Master[2] -> Slots 10923 - 16383
 +
Adding replica 192.168.10.202:7003 to 192.168.10.201:7000
 +
Adding replica 192.168.10.203:7005 to 192.168.10.202:7002
 +
Adding replica 192.168.10.201:7001 to 192.168.10.203:7004
 +
M: caf3a2c83f4f34498d9152161d3d62ca499094eb 192.168.10.201:7000
 +
  slots:[0-5460] (5461 slots) master
 +
S: ecbc0c648ff15c4ff2c176563afa580c7c8b7f3b 192.168.10.201:7001
 +
  replicates 3792aae886d957e1a0272bcd198a06798f05c26d
 +
M: 9c2f0b7827180d93371b493e8ca59b6eea776b0c 192.168.10.202:7002
 +
  slots:[5461-10922] (5462 slots) master
 +
S: b66f09b38e321ce3f8ee000b7cb40fe804f3a450 192.168.10.202:7003
 +
  replicates caf3a2c83f4f34498d9152161d3d62ca499094eb
 +
M: 3792aae886d957e1a0272bcd198a06798f05c26d 192.168.10.203:7004
 +
  slots:[10923-16383] (5461 slots) master
 +
S: a027592b56eb7477fe039786490318efdda8a0d6 192.168.10.203:7005
 +
  replicates 9c2f0b7827180d93371b493e8ca59b6eea776b0c
 +
Can I set the above configuration? (type 'yes' to accept): yes
 +
>>> Nodes configuration updated
 +
>>> Assign a different config epoch to each node
 +
>>> Sending CLUSTER MEET messages to join the cluster
 +
Waiting for the cluster to join
 +
....
 +
>>> Performing Cluster Check (using node 192.168.10.201:7000)
 +
M: caf3a2c83f4f34498d9152161d3d62ca499094eb 192.168.10.201:7000
 +
  slots:[0-5460] (5461 slots) master
 +
  1 additional replica(s)
 +
S: a027592b56eb7477fe039786490318efdda8a0d6 192.168.10.203:7005
 +
  slots: (0 slots) slave
 +
  replicates 9c2f0b7827180d93371b493e8ca59b6eea776b0c
 +
M: 3792aae886d957e1a0272bcd198a06798f05c26d 192.168.10.203:7004
 +
  slots:[10923-16383] (5461 slots) master
 +
  1 additional replica(s)
 +
M: 9c2f0b7827180d93371b493e8ca59b6eea776b0c 192.168.10.202:7002
 +
  slots:[5461-10922] (5462 slots) master
 +
  1 additional replica(s)
 +
S: ecbc0c648ff15c4ff2c176563afa580c7c8b7f3b 192.168.10.201:7001
 +
  slots: (0 slots) slave
 +
  replicates 3792aae886d957e1a0272bcd198a06798f05c26d
 +
S: b66f09b38e321ce3f8ee000b7cb40fe804f3a450 192.168.10.202:7003
 +
  slots: (0 slots) slave
 +
  replicates caf3a2c83f4f34498d9152161d3d62ca499094eb
 +
[OK] All nodes agree about slots configuration.
 +
>>> Check for open slots...
 +
>>> Check slots coverage...
 +
[OK] All 16384 slots covered.
 
</pre>
 
</pre>
  
==edit==
+
=查看redis集群情况=
 
<pre>
 
<pre>
pkg install  gedit geany  gnote  gnome-calculator#算机器  #madedit
+
redis-cli -h 192.168.10.211 -p 7000 cluster nodes
</pre>
 
 
 
==svn==
 
pkg install subversion && pkg install kdesvn  # or esvn
 
 
[[Svn基础]]
 
  
[https://blog.csdn.net/xujianhua815926/article/details/468811 在FreeBSD上安装SVN(Subversion)]
+
a027592b56eb7477fe039786490318efdda8a0d6 192.168.10.203:7005@17005 slave 9c2f0b7827180d93371b493e8ca59b6eea776b0c 0 1567502665000 6 connected
 +
3792aae886d957e1a0272bcd198a06798f05c26d 192.168.10.203:7004@17004 master - 0 1567502666171 5 connected 10923-16383
 +
9c2f0b7827180d93371b493e8ca59b6eea776b0c 192.168.10.202:7002@17002 master - 0 1567502664166 3 connected 5461-10922
 +
ecbc0c648ff15c4ff2c176563afa580c7c8b7f3b 192.168.10.201:7001@17001 slave 3792aae886d957e1a0272bcd198a06798f05c26d 0 1567502664000 5 connected
 +
caf3a2c83f4f34498d9152161d3d62ca499094eb 192.168.10.201:7000@17000 myself,master - 0 1567502663000 1 connected 0-5460
 +
b66f09b38e321ce3f8ee000b7cb40fe804f3a450 192.168.10.202:7003@17003 slave caf3a2c83f4f34498d9152161d3d62ca499094eb 0 1567502665169 4 connected
  
==office==
 
=== libreoffice===
 
<pre>
 
sudo pkg install libreoffice
 
pushd  /usr/ports/chinese/libreoffice-zh_CN  && sudo make  install clean
 
 
</pre>
 
</pre>
[https://www.libreofficechina.org/ LibreOffice 中文社区]
+
==cluster 完整性检查==
 
 
==虚拟化 ==
 
<pre>#FreeBSD as a Host with VirtualBox
 
sudo pkg install emulators/virtualbox-ose
 
 
 
 
 
sudo pkg install virtualbox-ose-additions #不然没办法在freebsd12 上安装debian10.04 依然失败
 
#普通用户启动
 
sudo pw groupmod vboxusers -m evan
 
 
 
sudo sysrc vboxnet_enable
 
 
 
#现在是这样启动的
 
sudo virtualbox
 
</pre>
 
 
 
===err===
 
win10  debian10 安装错误  installation step  failed
 
 
 
===note===
 
 
 
 
<pre>
 
<pre>
=============================================================================
 
 
VirtualBox was installed.
 
 
You need to load the vboxdrv kernel module via /boot/loader.conf:
 
 
vboxdrv_load="YES"
 
  
You also have to add all users to your vboxusers group in order to use vbox.
+
redis-trib.rb check 10.3.10.140:7000
 +
redis-trib.rb check 10.3.10.140:7001
 +
redis-trib.rb check 10.3.10.140:7002
 +
redis-trib.rb check 10.3.10.140:7003
 +
redis-trib.rb check 10.3.10.140:7004
 +
redis-trib.rb check 10.3.10.140:7005
  
% pw groupmod vboxusers -m jerry
+
结果如下  16384个槽都分配到了 节点
  
Reboot the machine to load the needed kernel modules.
+
[OK] All nodes agree about slots configuration.
 
+
>>> Check for open slots...
 
+
>>> Check slots coverage...
Bridging Support:
+
[OK] All 16384 slots covered.
=================
 
 
 
For bridged networking please add the following line to your /etc/rc.conf:
 
 
 
vboxnet_enable="YES"
 
 
 
 
 
USB Support:
 
============
 
 
 
For USB support your user needs to be in the operator group and needs read
 
 
 
and write permissions to the USB device.
 
 
 
% pw groupmod operator -m jerry
 
 
 
Add the following to /etc/devfs.rules (create if it doesn't exist):
 
 
 
[system=10]
 
add path 'usb/*' mode 0660 group operator
 
 
 
To load these new rule add the following to /etc/rc.conf:
 
 
 
devfs_system_ruleset="system"
 
 
 
Then restart devfs to load the new rules:
 
 
 
% /etc/rc.d/devfs restart
 
 
 
 
 
Troubleshooting:
 
================
 
 
 
Running VirtualBox as non-root user may fail with a fatal error
 
NS_ERROR_FACTORY_NOT_REGISTERED. In this case delete /tmp/.vbox-*-ipc file.
 
If you experience "Network: write Failed: Cannot allocate memory" errors
 
try to increase net.graph.maxdata in /boot/loader.conf
 
 
 
If you are using AIO, then increase these limits (PR#168298):
 
vfs.aio.max_buf_aio=8192
 
vfs.aio.max_aio_queue_per_proc=65536
 
vfs.aio.max_aio_per_proc=8192
 
vfs.aio.max_aio_queue=65536
 
To check if AIO is used use: kldstat -v | grep aio
 
 
 
Check wiki page for known issues and troubleshooting:
 
http://wiki.freebsd.org/VirtualBox
 
 
 
Please report any problems to emulation@. Thanks!
 
 
 
</pre>
 
 
 
https://www.freebsd.org/doc/handbook/virtualization-host-virtualbox.html
 
 
 
https://wiki.freebsd.org/VirtualBox
 
 
 
[https://blog.csdn.net/flymyd/article/details/76399861 FREENAS虚拟机Jails配置全攻略(多篇集合)]
 
 
 
== 连接win客户端==
 
=== rdesktop===
 
<pre>
 
pkg  -y install rdesktop
 
pkg  -y install tsclient
 
 
 
rdesktop是基于命令行的工具,tsclient只是一个图形化的界面,依赖于rdesktop
 
 
</pre>
 
</pre>
  
=== remmmina===
+
==测试 ==
== email==
 
===thunderbird===
 
 
<pre>
 
<pre>
201912 现在 打开会100cpu
+
 
composition—> language —Download more 就可以下载中文了
+
redis-cli -c -h 192.168.10.201 -p 7000
 
 
Advanced  language  选择chinese
 
 
 
代理配置
 
高级 —网络 —连接
 
</pre>
 
[https://jingyan.baidu.com/article/cdddd41cac326353cb00e129.html Thunderbird设置IRC聊天]
 
  
[[Thunderbird]]
+
[root@dev-hello-1 redis_cluster]# redis-cli -c -h  192.168.10.201 -p 7000
 +
192.168.10.201:7000> set evan 36
 +
-> Redirected to slot [14924] located at 192.168.10.203:7004
 +
OK
 +
192.168.10.203:7004>
  
==server ==
+
[root@dev-hello-2 redis_cluster]# redis-cli -c -h  192.168.10.202 -p 7002
===redis===
+
192.168.10.202:7002> get evan
<pre>
+
-> Redirected to slot [14924] located at 192.168.10.203:7004
#redis 3.x compli
+
"36"
gmaek -j2 && sudo gmake  install
+
192.168.10.203:7004>
  
/usr/local/bin/redis-server
+
dev-hello-3 redis_cluster]#  redis-cli -c -h  192.168.10.203  -p 7005
 +
192.168.10.203:7005> get evan
 +
-> Redirected to slot [14924] located at 192.168.10.203:7004
 +
"36"
 +
192.168.10.203:7004>
  
#自启动
+
测试通过了
cat  /etc/rc.local
 
/usr/local/bin/redis-server > /dev/null 
 
  
#这个不行 Ambiguous output redirect
 
/usr/local/bin/redis-server > /dev/null  2 > &1
 
  
or
 
/usr/local/etc/rc.d下面放你的脚本
 
  
  
 +
#20191113 
 +
要加 -a 密码访问  不然老是提示要密码
 +
[root@prod-02 ~]# redis-cli  -c -h 172.16.200.12 -p 7002
 +
172.16.200.12:7002> auth ci1723
 +
OK
 +
172.16.200.12:7002> get evan
 +
-> Redirected to slot [14924] located at 172.16.200.7:7004
 +
(error) NOAUTH Authentication required.
 +
172.16.200.7:7004> auth ci1723
 +
OK
 +
172.16.200.7:7004> get evan
 +
"56;"
  
 
cd /usr/ports/databases/redis
 
make
 
/usr/local/etc/rc.d/redis start
 
/usr/local/bin/redis-cli
 
  
  
  
 
</pre>
 
</pre>
[https://www.cnblogs.com/1q84/archive/2011/12/18/2291840.html FreeBSD下安装redis以及redis_py]
 
  
====docker====
+
=添加redis集群密码=
https://wiki.freebsd.org/Docker
+
==方式一:修改所有Redis集群中的redis.conf文件加入==  
 
+
<pre>  
=== 参考===
+
# NOTE  还是这个办法好  不然可能有些 没加载到配置文件去呢
https://www.c0ffee.net/blog/freebsd-on-a-laptop/
+
masterauth passwd123
 
+
requirepass passwd123
[https://feng.si/posts/2019/06/freebsd-and-risc-v-the-future-of-open-source-iot-ecosystem/ FreeBSD 与 RISC-V: 开源物联网生态系统的未来]
+
说明:这种方式需要重新启动各节点
 
 
https://wiki.freebsdchina.org/software/a/awesome
 
 
 
[https://wiki.freebsdchina.org/doc/d/freebsd_desktop 使用FreeBSD作为桌面操作系统]
 
 
 
 
 
[http://bbs.chinaunix.net/thread-1780047-1-1.html FreeBSD 桌面系统常用软件清单]
 
 
 
[https://blog.csdn.net/u011152627/article/details/77744795 FreeBSD 配置经验]
 
 
 
[https://wiki.freebsdchina.org/doc/x/freebsd_desktop_xfce FreeBSD桌面-Xfce4]
 
 
 
[https://wiki.freebsdchina.org/doc/p/freebsd_desktop_kde FreeBSD 7 Xorg7.3 KDE3.5 桌面系统安装及美化]
 
 
 
[https://huataihuang.gitbooks.io/cloud-atlas/os/freebsd/ gitbooks.io freebsd]
 
 
 
[https://www.freebsd.org/doc/en/books/developers-handbook/index.html FreeBSD Developers' Handbook]
 
 
 
[https://www.freebsd.org/doc/en/books/developers-handbook/emacs.html ecmacs]
 
 
 
[http://blog.163.com/sujoe_2006/blog/static/3353151201211431245305/ Freebsd 9.0+LXDE桌面安装]
 
 
 
 
 
 
 
[https://www.cnblogs.com/yibinboy/articles/1818638.html FreeBSD笔记常用命令]
 
 
 
[http://www.2daygeek.com/install-xfce-mate-kde-gnome-cinnamon-desktop-environment-on-freebsd/ Choose the best Desktop for FreeBSD]
 
 
 
https://cooltrainer.org/a-freebsd-desktop-howto/
 
 
 
 
 
[https://www.linuxprobe.com/remmina-linux.html 如何使用Remmina从 Linux 上连接到远程桌面]
 
 
 
 
 
[https://www.freebsdchina.org/forum/viewtopic.php?t=62967 配置FreeBSD 10.0(amd64)fvwm桌面]
 
 
 
[https://blog.csdn.net/xport/article/details/500161 安装远程桌面,VNC Server on FreeBSD + VNC Viewer on Windows ]
 
 
 
== 截图==
 
===flameshot===
 
<pre>pkg install flameshot
 
 
 
#conf
 
vi ~/.cshrc
 
alias flameshot  flameshot  gui
 
 
 
source ~/.cshrc
 
 
</pre>
 
</pre>
  
==图形==
+
==方式二:进入各个实例进行设置   就是所有节点:不建议==
   gimp screenfetch
+
<pre>  
 
+
redis-cli -c -h 10.3.10.141 -p 7001
==development==
+
#好像不能一起执行
 
+
config set masterauth 36DbRGvv
[[Eclipse]]
+
config set requirepass 36DbRGvv
==mysql==
+
auth  36DbRGvv
<pre>
+
config rewrite
Message from mysql57-server-5.7.27:
 
*****************************************************************************
 
 
 
Remember to run mysql_upgrade the first time you start the MySQL server
 
after an upgrade from an earlier version.
 
 
 
Initial password for first time use of MySQL is saved in $HOME/.mysql_secret
 
ie. when you want to use "mysql -u root -p" first you should see password
 
in /root/.mysql_secret
 
 
 
MySQL57 has a default %%ETCDIR%%/my.cnf,
 
remember to replace it wit your own
 
or set `mysql_optfile="$YOUR_CNF_FILE` in rc.conf.
 
 
 
*****************************************************************************
 
Message from akonadi-19.04.2_1:
 
 
 
===============================================================================
 
 
 
KDE Applications versions of Akonadi, KMail, and Kontact use large
 
messages on the local machine. The default size on FreeBSD is too
 
small, which causes local connection problems, and Akonadi-based
 
applications will be flaky (e.g. mailboxes do not display, messages
 
cannot be found). Increasing the buffer size is recommended:
 
 
 
sysctl net.local.stream.recvspace=65536
 
sysctl net.local.stream.sendspace=65536
 
 
 
===============================================================================
 
  
</pre>
+
添加redis集群密码 一开始忘记加-c 导致 143 两个都加不上了  redis本身的密码这样就有了
  
==有用的==
+
-a 后 再执行命令就再 auth , 而如果是进入后 auth password 要每次 都再验证一下密码 麻烦
<pre>
 
启用、安装linxu内核。
 
#kldload linux
 
#ee /etc/rc.conf
 
linux_enable=”YES”
 
#cd /usr/ports/www/linux_base-f10 && make install clean
 
先安装linux的flash10插件
 
cd /usr/ports/www/linux-f10-flashplugin10
 
make install clean (这一步会把libflashplayer.so安装在/usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so)
 
再安装nspluginwrapper
 
cd /usr/ports/www/nspluginwrapper
 
make install clean
 
兼容转换
 
nspluginwrapper -v -i /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so(这一步会在/usr/local/lib/browser_plugins/ 下生成能在freebsd下使用的npwrapper.libflashplayer.so文件 )
 
最后把插件链接到chromium插件目录下
 
ln -s /usr/local/lib/browser_plugins/npwrapper.libflashplayer.so /usr/local/share/chromium/plugins/
 
与此同时firefox也可以进行视频播放了,如果还不可以,可以到网上去看看其他教程.
 
  
 
</pre>
 
</pre>
==old输入法==
 
 
[https://www.xuebuyuan.com/1982862.html FreeBSD 下安装输入法]
 
 
[https://blog.csdn.net/cheviko/article/details/17628425 FreeBSD安装汉字输入法:SCIM]
 
 
[https://www.freebsdchina.org/forum/viewtopic.php?p=177278  如何配置scim(或skim)]
 
 
[https://wiki.archlinux.org/index.php/IBus_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) IBus (简体中文)]
 
 
 
[https://www.freshports.org/chinese/ibus-table-chinese/ ibus-table-chinese Chinese input tables for IBus]
 
  
==== other====
+
=开机自己启动=
 
<pre>
 
<pre>
 +
#非交互
 +
redis_install_dir=/data/apps/redis
 +
echo "${redis_install_dir}/bin/redis-server ${redis_install_dir}/redis_cluster/7004/redis_7004.conf
 +
${redis_install_dir}/bin/redis-server ${redis_install_dir}/redis_cluster/7005/redis_7005.conf">${redis_install_dir}/redis_cluster/run
  
 +
chmod +x ${redis_install_dir}/redis_cluster/run && bash ${redis_install_dir}/redis_cluster/run
 +
chmod  +x /etc/rc.d/rc.local
 +
echo "${redis_install_dir}/redis_cluster/run"  >>/etc/rc.d/rc.local #把变量替换为值
  
 +
#交互
 +
vi /apps/redis/redis_cluster/run
  
sed -i '' -e 's/memorylocked=128M/memorylocked=256M/' /etc/login.conf
+
/apps/redis/bin/redis-server /home/apps/redis/redis_cluster/7004/redis_7004.conf
# cap_mkdb /etc/login.conf
+
/apps/redis/bin/redis-server /home/apps/redis/redis_cluster/7005/redis_7005.conf
 
 
 
 
 
 
Remember to set the environment variable XMODIFIERS:
 
 
 
csh/tcsh: setenv XMODIFIERS @im=fcitx
 
sh/bash: export XMODIFIERS='@im=fcitx'
 
 
 
For GTK+ programs, you may want to set:
 
 
 
csh/tcsh: setenv GTK_IM_MODULE fcitx
 
setenv GTK3_IM_MODULE fcitx
 
sh/bash: export GTK_IM_MODULE=fcitx
 
export GTK3_IM_MODULE=fcitx
 
 
 
 
 
 
 
 
 
 
 
 
 
For Qt4 programs, we recommend you to use
 
 
 
qtconfig-qt4: /usr/ports/misc/qt4-qtconfig
 
 
 
instead of to manually set QT4_IM_MODULE.
 
 
 
To start fcitx with your desktop, just
 
 
 
cp /usr/local/share/applications/fcitx.desktop \
 
    ~/.config/autostart/
 
 
 
************************************************************************
 
Message from zh-fcitx-ui-light-0.1.3_2:
 
 
 
************************************************************************
 
 
 
Replace your `fcitx` command with
 
fcitx -u fcitx-light-ui
 
to start Fcitx with this lightweight UI.
 
 
 
</pre>
 
<pre>0.
 
#添加到管理员组
 
pw groupmod wheel -m evan
 
 
 
#enable ssh
 
sysrc 'sshd_enable=YES'
 
 
 
 
 
cat  /etc/rc.conf
 
zfs_enable="YES"
 
hostname="digitalocean"
 
ifconfig_vtnet0="dhcp"
 
sshd_enable="YES"
 
nginx_enable="YES"
 
php_fpm_enable="YES"
 
mysql_enable="YES"
 
redis_enable="YES"
 
shadowsocks_libev_enable="YES"
 
 
 
 
 
 
 
# set time
 
ntpdate cn.pool.ntp.org
 
  
#添加新硬盘到 home 给evan 使用
+
chmod  +x  /apps/redis/redis_cluster/run
 +
chmod +x /etc/rc.d/rc.local
  
 +
vi  /etc/rc.d/rc.local
 +
/apps/redis/redis_cluster/run
  
  
 
</pre>
 
</pre>
  
 +
=开启关闭=
 
<pre>
 
<pre>
fstab
+
redis-cli -a xxx -c -h 192.168.0.60 -p 8001 shutdown #集群cluster_state变成了fail状态?
evan@homebsd:~/kalibak % cat /etc/fstab
 
# Device Mountpoint FStype Options Dump Pass#
 
/dev/ada0p1 none swap sw 0 0
 
/dev/ada0p3 / ufs rw 1 1
 
/dev/ada0p4 /home ufs rw 2 2
 
proc /proc procfs rw 0 0
 
 
 
 
 
Display manager
 
https://wiki.archlinux.org/index.php/Display_manager_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
 
 
 
FreeBSD从入门到放弃
 
https://linxiaohui.gitbooks.io/notes-on-freebsd/content/
 
 
 
 
 
 
 
Tencent QQ (简体中文)
 
https://wiki.archlinux.org/index.php/Tencent_QQ_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)#.E5.9F.BA.E4.BA.8E_WebQQ
 
 
 
 
 
Installing a Desktop Environment on FreeBSD
 
https://www.freebsdfoundation.org/freebsd/how-to-guides/installing-a-desktop-environment-on-freebsd/#!
 
 
 
 
 
How to Install FreeBSD 10.2 with Mate Desktop
 
http://linoxide.com/linux-how-to/install-freebsd-10-2-mate-desktop/
 
 
 
 
 
https://wiki.lxde.org/en/FreeBSD
 
 
 
Installing Mate desktop on FreeBSD 11
 
http://www.vpierre.it/installing-mate-desktop-on-freebsd-11/
 
 
 
fetch 获取数据
 
extract 释放全部ports
 
update 更新ports
 
第一次使用可以 portsnap fetch extract
 
以后使用可以 portsnap fetch update
 
portsnap  extract; portsnap update
 
 
 
如果写在cron可以用 portsnap cron update
 
 
 
FreeBSD 简明用户指南
 
install gnome3  kde4 xfce etc
 
https://www.freebsd.org/doc/handbook/x11-wm.html
 
 
 
Browsers
 
https://www.freebsd.org/doc/handbook/desktop-browsers.html
 
pkg install firefox
 
pkg install swfdec-plugin
 
 
 
 
 
MP3 Audio
 
https://www.freebsd.org/doc/handbook/sound-mp3.html
 
  
https://bsdelf.github.io/posts/freebsd-brief-user-guide
 
  
https://huataihuang.gitbooks.io/cloud-atlas/content/os/freebsd/packages_and_ports.html
 
  
https://antumdeluge.wordpress.com/2014/07/19/how-to-install-freebsd/
 
 
FreeBSD简单汉化终结篇[基于core font的汉化]
 
http://bbs.watchstor.com/thread-274706-1-1.html
 
 
**********************
 
 
 
安装Firefox的多国语言包
 
#pkg install firefox35-i18n
 
 
你太善良》是香港歌手张智霖,
 
张惠妹 放开你的头脑
 
 
 
就两个文件 另外一个freebsd10 4 desktop
 
 
program/kindlereader
 
 
 
Official Mirrors
 
https://www.freebsd.org/doc/handbook/eresources-web.html
 
 
SERVERNAME=portsnap.FreeBSD.org
 
SERVERNAME=portsnap.cn.FreeBSD.org
 
 
portsnap fetch extract
 
 
 
 
桌面相关的官方文档
 
https://www.freebsd.org/doc/handbook/x11-wm.html
 
 
echo 'exec enlightenment_start'  >> ~/.xinitrc
 
 
##xfce  这个也是成功了 字体好看  不过是英文的呢喃 加上汉化的就行了
 
pkg install xfce
 
 
#昨天今天就是少了这一步 看来要多提高英文水平哦
 
Unlike GNOME or KDE, Xfce does not provide its own login manager. In order to start Xfce from the command line by typing startx, first add its entry to ~/.xinitrc:
 
 
% echo "exec /usr/local/bin/startxfce4 --with-ck-launch" > ~/.xinitrc
 
 
 
##gnome3
 
 
pkg install gnome3  vlc
 
 
have gdm can not add this
 
#echo 'exec gnome-session'  >> ~/.xinitrc
 
 
 
http://blog.linuxchina.net/?p=993
 
 
https://www.freebsd.org/doc/handbook/x11-wm.html
 
https://antumdeluge.wordpress.com/2014/07/19/how-to-install-freebsd/
 
 
https://forums.freebsd.org/threads/57329/
 
 
Installing Mate desktop on FreeBSD 11
 
http://www.vpierre.it/installing-mate-desktop-on-freebsd-11/</pre>
 
 
=ops=
 
在bsd上直接叫 md5  linux上是md5sum
 
https://www.freebsd.org/cgi/man.cgi?query=md5&apropos=0&sektion=0&manpath=FreeBSD+11.1-RELEASE&arch=default&format=html
 
=优化=
 
<pre>
 
 
sendmail_enable="NONE"
 
 
</pre>
 
</pre>
  
==old ==         
+
=troubleshooting=
 
<pre>
 
<pre>
 +
ISCONF Errors writing to the AOF file: No space left on device; nested exception is redis.clients.jedis.exceptions.JedisDataException: MISCONF Errors writing to the AOF file: No space left on device
  
###fvwm
+
org.springframework.dao.InvalidDataAccessApiUsageException: MISCONF Errors writing to the AOF file: No space left on device; nested exception is redis.clients.jedis.exceptions.JedisDataException: MISCONF Errors writing to the AOF file: No space left on device
FreeBSD汉化+FVWM
 
http://zqscm.qiniucdn.com/data/20090728100241/index.html
 
 
 
1 中文环境
 
  pkg_add -r zh-auto-ch-l10n
 
  这个命令好像作了不少事情,我忘记是否下载了wenquanyi字体,没有的话,再手动来一遍
 
 pkg_add -r wqy
 
  下边的不知道是不是必须的
 
  在设置好xorg.conf中fontpath的前题下,执行
 
  fc-cache -fv,让系统加入wqy字体
 
  输入法如果没下载的话,可以
 
 pkg_add -r fcitx,我是用五笔的
 
 然后,配置中文的locale
 
 
 
 
 
  在~/.chsrc里,增加
 
 setenv LANG zh_CN.eucCN
 
  setenv LC_CTYPE zh_CN.eucCN
 
setenv LC_ALL zh_CN.eucCN
 
  上边是中文local,lc_all好像不是必须要设置的
 
 下边设置输入法
 
  setenv XMODIFIERS @im=fcitx
 
  
2 fvwm,这个东西小快,够用了
+
原因 有一个台redis的机器 空间100%
  pkg_add -r fvwm
 
  
3 使用fvwm作为桌面
 
  在~下,找一下有没有.xinitrc文件,没有就搞一个出来
 
  内容是
 
  exec fvwm
 
  如果要输入法也一并启动则为
 
  fcitx&
 
    exec fvwm
 
  
</pre>
 
  
=Troubleshooting=
+
tail  boot.log
<pre>
+
[  OK  ] Started Network Time Service.
 +
[FAILED] Failed to start /etc/rc.d/rc.local Compatibility.
 +
See 'systemctl status rc-local.service' for details.
  
随便更新了一下firefox 70 现在总算可以了 以后少更新点
+
#启动rc-local 服务  on aliyun 不要不小心 不清空了  /etc/rc.d/rc.local
 +
systemctl enable  rc-local.service
  
 +
redis 安装报错 jemalloc/jemalloc.h: No such file or directory
  
terminator 启动不了
+
理上次编译残留文件,重新编译
Traceback (most recent call last):
 
  File "/usr/local/bin/terminator", line 83, in <module>
 
    from terminatorlib import ipc
 
  File "/usr/local/lib/python2.7/site-packages/terminatorlib/ipc.py", line 31, in <module>
 
    class DBusService(Borg, dbus.service.Object):
 
  File "/usr/local/lib/python2.7/site-packages/terminatorlib/ipc.py", line 62, in DBusService
 
    @dbus.service.method(BUS_NAME, in_signature='a{ss}')
 
  File "/usr/local/lib/python2.7/site-packages/dbus/decorators.py", line 155, in method
 
    validate_interface_name(dbus_interface)
 
ValueError: Invalid interface or error name 'net.tenshu.Terminator2-0x3bc8d9c28d7f7322': contains invalid character '-'   
 
  
terminator -u  这样启动就行了
+
make distclean && make
  
 +
导致出现这个错误的原因
  
telegram 等等有关qt的都用不了  firefox70 也好了
+
  错误的本质是我们在开始执行make 时遇到了错误(大部分是由于gcc未安装),然后我们安装好了gcc 后,我们再执行make ,这时就出现了jemalloc/jemalloc.h: No such file or directory。这是因为上次的
Cannot mix incompatible Qt library (version ) with this library (version )
 
 
 
pkg install qt5-core
 
 
 
pkg update -f
 
pkg update
 
pkg upgrade
 
 
 
 
 
 
 
 
 
telegram-desktop
 
ld-elf.so.1: /usr/local/lib/qt5/libQt5Core.so.5: version Qt_5.13 required by /usr/local/bin/telegram-desktop not found
 
root@bsd-latop:~ # pkg install qt5
 
root@bsd-latop:~ # telegram-desktop
 
ld-elf.so.1: /usr/local/lib/qt5/libQt5Core.so.5: version Qt_5.13 required by /usr/local/bin/telegram-desktop not found
 
root@bsd-latop:~ # file /usr/local/lib/qt5/libQt5Core.so.5
 
/usr/local/lib/qt5/libQt5Core.so.5: symbolic link to libQt5Core.so.5.12.2
 
 
 
 
 
 
 
 
 
 
 
pkg: cached package *:size mismatch, cannot continue
 
 
 
pkg update -f
 
  
  
 +
ERROR: for redis-cluster-8005  Cannot start service redis-cluster-8005: OCI runtime create failed: container_linux.go:346: starting container process caused "process_linux.go:449: container init caused \"rootfs_linux.go:58: mounting \\\"/home/redis-cluster-docker_host/conf/redis-8005.conf\\\" to rootfs \\\"/var/lib/docker/overlay2/f80340e6f1abc4aa43cde08ba4c5aa48787b092cbbbb64f01c5f0ad213d71368/merged\\\" at \\\"/var/lib/docker/overlay2/f80340e6f1abc4aa43cde08ba4c5aa48787b092cbbbb64f01c5f0ad213d71368/merged/usr/local/etc/redis/redis.conf\\\" caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
 +
ERROR: Encountered errors while bringing up the project.
 +
[root@stage-secret-im-rabbitmq03 redis-cluster-docker_host]# docker -V
 +
^C
 +
[root@stage-secret-im-rabbitmq03 redis-cluster-docker_host]# docker -v
 +
Docker version 19.03.5, build 633a0ea
 +
[root@stage-secret-im-rabbitmq03 redis-cluster-docker_host]# docker-compose  down
 +
Removing node-8004 ... done
 +
Removing node-8005 ... done
 +
Removing node-8003 ... done
 +
Removing node-8001 ... done
 +
Removing node-8002 ... done
 +
Removing node-8006 ... done
  
  
第1,607行: 第631行:
 
</pre>
 
</pre>
  
https://unix.stackexchange.com/questions/384396/terminator-fails-to-start-in-i686-dbus-issue-in-python
+
[https://www.bbsmax.com/A/xl5613k1Jr/ redis 安装报错 jemalloc/jemalloc.h: No such file or directory。]
  
 
=see also=
 
=see also=
 +
[https://blog.51cto.com/kerry/2316700 redis-5.0 cluster带认证及客户端连接]
  
 
+
[https://www.jianshu.com/p/8045b92fafb2 Redis 5 之后版本的高可用集群搭建]
[https://linuxtoy.org/pages/download.html  Linux 相关资料]
+
[[category:ops]] [[category:redis]]
 
 
[https://www.lulinux.com/archives/5557 Linux桌面常用软件列表 (2019]
 
 
 
                   
 
[https://www.cnblogs.com/dcb3688/p/4607976.html linux下几个常用软件]
 
 
 
 
 
[https://linux.cn/article-8050-1.html 24 款必备的 Linux 桌面应用(2016 版)]
 
 
 
http://www.chinafreebsd.cn/article/59da3fa39561e
 
 
 
[https://blog.csdn.net/xiao_wanpeng/article/category/1134819 csdn freebsd blog]
 
 
 
[http://bbs.chinaunix.net/thread-3769209-1-1.html [FreeBSD<nowiki>]</nowiki> 选择 FreeBSD 六个理由]
 
 
 
freenas Mount ext4 partition
 
http://blog.linuxchina.net/?p=1782
 
 
 
linux: mount UFS filesystem
 
http://blog.linuxchina.net/?p=1776
 
 
 
Linux® 用户的 FreeBSD 快速入门向导
 
https://www.freebsd.org/doc/zh_CN/articles/linux-users/index.html
 
 
 
 
 
https://freebsdchina.org/forum/topic_63558.html
 
 
 
https://www.enlightenment.org/distros/freebsd-start
 
 
 
https://www.freebsd.org/doc/zh_CN.UTF-8/books/handbook/updating-upgrading-portsnap.html
 
 
 
https://www.trueos.org/handbook/preinstall.html
 
 
 
[https://www.cnblogs.com/linux-xsj/p/7089069.html Linux下远程桌面连接windows]
 
 
 
 
 
 [[category:freebsd]]
 

2020年1月7日 (二) 10:11的版本

docker-compose

host 网络 要手工添加集群

同样要用firewall etc 要优化的地方 restart 已添加


相关脚本和配置 https://github.com/evan886/redis/tree/master/redis-cluster-docker_host

Usage:

bind 要记得改为你要的IP  如果用0.0.0.0 那就不要127.0.0.1 
有问题多看log 目录 

#这里是母机的ip 如果是三台机器 那么就有 三个 IP 
docker exec -it  node-7000  redis-cli -p 7000  --cluster create  ip:7000     ip:7001  ip:7002  ip:7003  ip:7004  ip:7005  --cluster-replicas 1

docker exec -it  node-7000  redis-cli -p 7000  --cluster create --cluster-replicas 1 ip:7000     ip:7001  ip:7002  ip:7003  ip:7004  ip:7005 


三台母机的情形 就是每个docker-compose.yml 只启动两个 ,其它的删除就行了  201912



laradock方法

相关文件


#注意  网络是这个, 还有就是多台机器之间 也不太可能能这个网络 那样 容器之间的redis 是不通的 
NETWORKS_DRIVER=bridge 

less  docker-compose.yml 
### Redis Cluster evan##########################################
    redis-cluster:
      build: ./redis-cluster
      ports:
        - "${REDIS_CLUSTER_PORT_RANGE}:7000-7005"
      networks:
        - backend


cat  redis-cluster/Dockerfile  #注意 redis版本
FROM grokzen/redis-cluster:5.0.6
#FROM grokzen/redis-cluster:latest
LABEL maintainer="hareku <[email protected]>"

添加密码

添加密码 可以进入容器里面直接添加 ,不过不够好 ,有空要 放到母机出来,有如我上面
004  7005  redis-cluster.tmpl	redis.tmpl  sentinel.tmpl
root@401a49002b88:/data# ls /redis-conf/700
7000/ 7001/ 7002/ 7003/ 7004/ 7005/ 
root@401a49002b88:/data# ls /redis-conf/7000/redis.conf 
/redis-conf/7000/redis.conf
root@401a49002b88:/data# tail /redis-conf/7000/redis.conf 
bind 0.0.0.0
port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
dir /redis-data/7000


进入redis-cluster 容器 直接非交互  这里以7005 端口为例子 

redis-cli  -c  -h 127.0.0.1  -p 7005   config set masterauth 36DbRGvv66 
redis-cli  -c  -h 127.0.0.1  -p 7005   config set requirepass 36DbRGvv66 
redis-cli  -c  -h 127.0.0.1  -p 7005 auth  36DbRGvv66

redis-cli  -c  -h 127.0.0.1  -p 7005   -a 36DbRGvv66  config rewrite
redis-cli  -c  -h 127.0.0.1  -p 7005  config rewrite  # 最后这一步 有时得 加上密码 



Usage:  可以直接用物理机的ip  内网或者外网 

上次搞了几天 ,是忙晕了 不记得打开防火墙 7000-7005的端口

源码手工

节点信息

角色                        主机名                                                             IP1               IP2       

7000  7001               01                   192.168.10.211     
7002  7003               02                   192.168.10.212      
7004  7005               03                   192.168.10.213      

姐妹篇 Redis4 cluster

防火墙设置

第一台:
firewall-cmd --permanent --add-port=7000/tcp
firewall-cmd --permanent --add-port=17000/tcp
firewall-cmd --permanent --add-port=7001/tcp
firewall-cmd --permanent --add-port=17001/tcp
firewall-cmd --reload
firewall-cmd --list-all-zones
第二台:
firewall-cmd --permanent --add-port=7002/tcp
firewall-cmd --permanent --add-port=17002/tcp
firewall-cmd --permanent --add-port=7003/tcp
firewall-cmd --permanent --add-port=17003/tcp
firewall-cmd --reload
firewall-cmd --list-all-zones
第三台:
firewall-cmd --permanent --add-port=7004/tcp
firewall-cmd --permanent --add-port=17004/tcp
firewall-cmd --permanent --add-port=7005/tcp
firewall-cmd --permanent --add-port=17005/tcp
firewall-cmd --reload
firewall-cmd --list-all-zones

系统参数设置

#vi /etc/sysctl.conf
echo 'vm.overcommit_memory = 1
net.core.somaxconn = 1024' >>/etc/sysctl.conf

/sbin/sysctl -p /etc/sysctl.conf

redis 5 安装

#bash redisins.sh 2>&1 | tee redislog

wget -c http://download.redis.io/releases/redis-5.0.6.tar.gz
#set var
redis_install_dir=/data/apps/redis
redis_ver=5.0.6

THREAD=4
tar xzf redis-${redis_ver}.tar.gz
pushd redis-${redis_ver} > /dev/null

make  -j ${THREAD}

make PREFIX=${redis_install_dir} 
make distclean
#cd src && make install #这个才行 特别是cluster ? 2019年 8月16日 星期五 23时29分41秒 CST
make install  PREFIX=${redis_install_dir}  
echo "export PATH=${redis_install_dir}/bin/:$PATH" >> /etc/profile && source /etc/profile

####**********************下面是老的
wget -c http://download.redis.io/releases/redis-5.0.5.tar.gz
redis_install_dir=/home/apps/redis
redis_ver=5.0.5

THREAD=4
tar xzf redis-${redis_ver}.tar.gz
pushd redis-${redis_ver} > /dev/null
make  -j ${THREAD}
make PREFIX=/home/apps/redis #here
make distclean
#cd src && make install #这个才行 特别是cluster ? 2019年 8月16日 星期五 23时29分41秒 CST
make install  PREFIX=/home/apps/redis  # make install #这个有时没有创建出目录来呀

#这个我没做 根本没用 哈哈 
#复制rb 或者放到安装的bin目录 然后再加path 
#cp /opt/redis-5.0.0/src/redis-trib.rb /usr/local/bin

echo 'export PATH=/home/apps/redis/bin/:$PATH' >> /etc/profile && source /etc/profile
##**********************上面是老的
NOTE
redis5 用redis-cli创建整个redis集群(redis5以前的版本集群是依靠ruby脚本redis-trib.rb实现

创建节点

#第一台:192.168.10.211 #here
redis_install_dir=/data/apps/redis
 mkdir -p ${redis_install_dir}
cd ${redis_install_dir} 
mkdir -p redis_cluster
cd redis_cluster
mkdir data 7000 7001

#cp /root/src/redis-5.0.5/redis.conf  ${redis_install_dir}/redis_cluster
#cd  /home/apps/redis/redis_cluster
#cp redis.conf 7000/redis_7000.conf
#mv redis.conf  7001/redis_7001.conf


#第2台:192.168.10.212
redis_install_dir=/data/apps/redis
mkdir -p ${redis_install_dir}
cd ${redis_install_dir} 
mkdir -p redis_cluster
cd redis_cluster
mkdir data 7002 7003

#cp /root/src/redis-5.0.5/redis.conf  .
#cp  redis.conf 7002/redis_7002.conf
#mv redis.conf  7003/redis_7003.conf


#第3台:192.168.10.213
redis_install_dir=/data/apps/redis
mkdir -p ${redis_install_dir}
cd ${redis_install_dir} 
mkdir -p redis_cluster
cd redis_cluster
mkdir data 7004 7005
#cp /root/src/redis-5.0.5/redis.conf  .
#cp redis.conf 7004/redis_7004.conf
#mv redis.conf 7005/redis_7005.conf


修改配置文件(三台机器6个配置)

note  日志在系统那  因为我们配置文件没指定 /var/log/redis/

ls /home/apps/redis/redis_cluster/data/
appendonly-7000.aof  dump_7000.rdb  nodes_7000.conf
appendonly-7001.aof  dump_7001.rdb  nodes_7001.conf
# 生成在这里了  /home/apps/redis/redis_cluster/data/nodes_7000.conf  nodes_7001.conf

配置建议加上这个  下面这些配置还加上的 
# appendfsync always
appendfsync everysec
# appendfsync no

第一台:
 pushd /home/apps/redis/redis_cluster
mkdir -p /var/log/redis
: > 7000/redis_7000.conf
#vi 7000/redis_7000.conf
#非交互进行
echo 'port 7000
bind 192.168.10.211 127.0.0.1
cluster-enabled yes
appendfilename "appendonly-7000.aof"
cluster-config-file nodes_7000.conf 
cluster-node-timeout 15000
appendonly yes
appendfsync everysec
daemonize yes
dbfilename dump_7000.rdb
dir /data/apps/redis/redis_cluster/data 
logfile "/var/log/redis/7000.log"
protected-mode yes
pidfile /var/run/redis_7000.pid'>7000/redis_7000.conf


:>7001/redis_7001.conf
echo 'port 7001
bind 192.168.10.211 127.0.0.1
cluster-enabled yes
appendfilename "appendonly-7001.aof"
cluster-config-file nodes_7001.conf
cluster-node-timeout 15000
appendonly yes
appendfsync everysec
daemonize yes
dbfilename dump_7001.rdb
dir /home/apps/redis/redis_cluster/data 
logfile "/var/log/redis/7001.log"
protected-mode yes
pidfile /var/run/redis_7001.pid'>7001/redis_7001.conf


第二台 
 pushd /home/apps/redis/redis_cluster
mkdir -p /var/log/redis
:>7002/redis_7002.conf
echo 'port 7002
bind 192.168.10.212 127.0.0.1
cluster-enabled yes
appendfilename "appendonly-7002.aof"
cluster-config-file nodes_7002.conf
cluster-node-timeout 15000
appendonly yes
appendfsync everysec
daemonize yes
dbfilename dump_7002.rdb
dir /home/apps/redis/redis_cluster/data 
logfile "/var/log/redis/7002.log"
protected-mode yes
pidfile /var/run/redis_7002.pid' >7002/redis_7002.conf

:>7003/redis_7003.conf
echo 'port 7003
bind 192.168.10.212 127.0.0.1
cluster-enabled yes
appendfilename "appendonly-7003.aof"
cluster-config-file nodes_7003.conf
cluster-node-timeout 15000
appendonly yes
appendfsync everysec
daemonize yes
dbfilename dump_7003.rdb
dir /home/apps/redis/redis_cluster/data 
logfile "/var/log/redis/7003.log"
protected-mode yes
pidfile /var/run/redis_7003.pid'>7003/redis_7003.conf


第3台
 pushd /home/apps/redis/redis_cluster
mkdir -p /var/log/redis
:>7004/redis_7004.conf
echo 'port 7004
bind 192.168.10.213 127.0.0.1
cluster-enabled yes
appendfilename "appendonly-7004.aof"
cluster-config-file nodes_7004.conf
cluster-node-timeout 15000
appendonly yes
appendfsync everysec
daemonize yes
dbfilename dump_7004.rdb
dir /home/apps/redis/redis_cluster/data 
logfile "/var/log/redis/7004.log"
protected-mode yes
pidfile /var/run/redis_7004.pid ' > 7004/redis_7004.conf

:>7005/redis_7005.conf
echo 'port 7005
bind 192.168.10.213 127.0.0.1
cluster-enabled yes
appendfilename "appendonly-7005.aof"
cluster-config-file nodes_7005.conf
cluster-node-timeout 15000
appendonly yes
daemonize yes
dbfilename dump_7005.rdb
dir /home/apps/redis/redis_cluster/data 
logfile "/var/log/redis/7005.log"
protected-mode yes
pidfile /var/run/redis_7005.pid' >7005/redis_7005.conf

启动redis

#cd /usr/local/redis/etc/redis_cluster #on freebsd
第一台: #注意用 "" 不要'' 要替换变量的值
mkdir /var/log/redis
redis_install_dir=/data/apps/redis
echo  "redis_install_dir=/data/apps/redis
${redis_install_dir}/bin/redis-server ${redis_install_dir}/redis_cluster/7000/redis_7000.conf
${redis_install_dir}/bin/redis-server ${redis_install_dir}/redis_cluster/7001/redis_7001.conf">${redis_install_dir}/redis_cluster/run

chmod +x ${redis_install_dir}/redis_cluster/run && bash ${redis_install_dir}/redis_cluster/run
chmod  +x /etc/rc.d/rc.local
echo "${redis_install_dir}/redis_cluster/run" > >/etc/rc.d/rc.local #把变量替换为值,不建议用''

第二台
mkdir /var/log/redis
redis_install_dir=/data/apps/redis
echo "${redis_install_dir}/bin/redis-server ${redis_install_dir}/redis_cluster/7002/redis_7002.conf
${redis_install_dir}/bin/redis-server ${redis_install_dir}/redis_cluster/7003/redis_7003.conf">${redis_install_dir}/redis_cluster/run

chmod +x ${redis_install_dir}/redis_cluster/run && bash ${redis_install_dir}/redis_cluster/run
chmod  +x /etc/rc.d/rc.local
echo "${redis_install_dir}/redis_cluster/run" > >/etc/rc.d/rc.local #把变量替换为值


第三台:
mkdir /var/log/redis
redis_install_dir=/data/apps/redis
echo "${redis_install_dir}/bin/redis-server ${redis_install_dir}/redis_cluster/7004/redis_7004.conf
${redis_install_dir}/bin/redis-server ${redis_install_dir}/redis_cluster/7005/redis_7005.conf">${redis_install_dir}/redis_cluster/run

chmod +x ${redis_install_dir}/redis_cluster/run && bash ${redis_install_dir}/redis_cluster/run
chmod  +x /etc/rc.d/rc.local
echo "${redis_install_dir}/redis_cluster/run"  >>/etc/rc.d/rc.local #把变量替换为值

登陆redis

/home/apps/redis/bin/redis-cli  -c -h  192.168.10.211 -p 7000
redis-cli -h 10.3.10.141 -p 7001

redis-cli -h 10.3.10.142 -p 7002
redis-cli -h 10.3.10.142 -p 7003

redis-cli -h 10.3.10.143 -p 7004
redis-cli -h 10.3.10.143 -p 7005

创建集群

注意:在任意一台上运行 不要在每台机器上都运行,一台就够了
#要开通端口  firewalld
#在geany 有: 格式可能有点不对 要注意 
redis-cli --cluster create --cluster-replicas 1 192.168.10.211:7000 192.168.10.211:7001 192.168.10.212:7002 192.168.10.212:7003 192.168.10.213:7004  192.168.10.213:7005
#--replicas  1  表示 自动为每一个master节点分配一个slave节点    上面有6个节点,程序会按照一定规则生成 3个master(主)3个slave(从)

执行详情

 [root@dev-hello-1 redis_cluster]# redis-cli --cluster create --cluster-replicas 1 192.168.10.201:7000 192.168.10.201:7001 192.168.10.202:7002 192.168.10.202:7003 192.168.10.203:7004  192.168.10.203:7005
>>> Performing hash slots allocation on 6 nodes...
Master[0] -> Slots 0 - 5460
Master[1] -> Slots 5461 - 10922
Master[2] -> Slots 10923 - 16383
Adding replica 192.168.10.202:7003 to 192.168.10.201:7000
Adding replica 192.168.10.203:7005 to 192.168.10.202:7002
Adding replica 192.168.10.201:7001 to 192.168.10.203:7004
M: caf3a2c83f4f34498d9152161d3d62ca499094eb 192.168.10.201:7000
   slots:[0-5460] (5461 slots) master
S: ecbc0c648ff15c4ff2c176563afa580c7c8b7f3b 192.168.10.201:7001
   replicates 3792aae886d957e1a0272bcd198a06798f05c26d
M: 9c2f0b7827180d93371b493e8ca59b6eea776b0c 192.168.10.202:7002
   slots:[5461-10922] (5462 slots) master
S: b66f09b38e321ce3f8ee000b7cb40fe804f3a450 192.168.10.202:7003
   replicates caf3a2c83f4f34498d9152161d3d62ca499094eb
M: 3792aae886d957e1a0272bcd198a06798f05c26d 192.168.10.203:7004
   slots:[10923-16383] (5461 slots) master
S: a027592b56eb7477fe039786490318efdda8a0d6 192.168.10.203:7005
   replicates 9c2f0b7827180d93371b493e8ca59b6eea776b0c
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join
....
>>> Performing Cluster Check (using node 192.168.10.201:7000)
M: caf3a2c83f4f34498d9152161d3d62ca499094eb 192.168.10.201:7000
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
S: a027592b56eb7477fe039786490318efdda8a0d6 192.168.10.203:7005
   slots: (0 slots) slave
   replicates 9c2f0b7827180d93371b493e8ca59b6eea776b0c
M: 3792aae886d957e1a0272bcd198a06798f05c26d 192.168.10.203:7004
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
M: 9c2f0b7827180d93371b493e8ca59b6eea776b0c 192.168.10.202:7002
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
S: ecbc0c648ff15c4ff2c176563afa580c7c8b7f3b 192.168.10.201:7001
   slots: (0 slots) slave
   replicates 3792aae886d957e1a0272bcd198a06798f05c26d
S: b66f09b38e321ce3f8ee000b7cb40fe804f3a450 192.168.10.202:7003
   slots: (0 slots) slave
   replicates caf3a2c83f4f34498d9152161d3d62ca499094eb
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

查看redis集群情况

redis-cli -h 192.168.10.211 -p 7000 cluster nodes

a027592b56eb7477fe039786490318efdda8a0d6 192.168.10.203:7005@17005 slave 9c2f0b7827180d93371b493e8ca59b6eea776b0c 0 1567502665000 6 connected
3792aae886d957e1a0272bcd198a06798f05c26d 192.168.10.203:7004@17004 master - 0 1567502666171 5 connected 10923-16383
9c2f0b7827180d93371b493e8ca59b6eea776b0c 192.168.10.202:7002@17002 master - 0 1567502664166 3 connected 5461-10922
ecbc0c648ff15c4ff2c176563afa580c7c8b7f3b 192.168.10.201:7001@17001 slave 3792aae886d957e1a0272bcd198a06798f05c26d 0 1567502664000 5 connected
caf3a2c83f4f34498d9152161d3d62ca499094eb 192.168.10.201:7000@17000 myself,master - 0 1567502663000 1 connected 0-5460
b66f09b38e321ce3f8ee000b7cb40fe804f3a450 192.168.10.202:7003@17003 slave caf3a2c83f4f34498d9152161d3d62ca499094eb 0 1567502665169 4 connected

cluster 完整性检查


redis-trib.rb check 10.3.10.140:7000
redis-trib.rb check 10.3.10.140:7001
redis-trib.rb check 10.3.10.140:7002
redis-trib.rb check 10.3.10.140:7003
redis-trib.rb check 10.3.10.140:7004
redis-trib.rb check 10.3.10.140:7005

结果如下  16384个槽都分配到了 节点 

[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

测试

  
redis-cli -c -h  192.168.10.201 -p 7000

[root@dev-hello-1 redis_cluster]# redis-cli -c -h  192.168.10.201 -p 7000
192.168.10.201:7000> set evan 36
-> Redirected to slot [14924] located at 192.168.10.203:7004
OK
192.168.10.203:7004> 

[root@dev-hello-2 redis_cluster]# redis-cli -c -h  192.168.10.202 -p 7002
192.168.10.202:7002> get evan 
-> Redirected to slot [14924] located at 192.168.10.203:7004
"36"
192.168.10.203:7004> 

dev-hello-3 redis_cluster]#  redis-cli -c -h  192.168.10.203  -p 7005
192.168.10.203:7005> get evan
-> Redirected to slot [14924] located at 192.168.10.203:7004
"36"
192.168.10.203:7004>

测试通过了 




#20191113  
要加 -a 密码访问  不然老是提示要密码
[root@prod-02 ~]# redis-cli  -c -h 172.16.200.12 -p 7002
172.16.200.12:7002> auth ci1723
OK
172.16.200.12:7002> get evan
-> Redirected to slot [14924] located at 172.16.200.7:7004
(error) NOAUTH Authentication required.
172.16.200.7:7004> auth ci1723
OK
172.16.200.7:7004> get evan 
"56;"




添加redis集群密码

方式一:修改所有Redis集群中的redis.conf文件加入

 
# NOTE   还是这个办法好  不然可能有些 没加载到配置文件去呢 
masterauth passwd123 
requirepass passwd123 
说明:这种方式需要重新启动各节点

方式二:进入各个实例进行设置 就是所有节点:不建议

 
redis-cli -c -h 10.3.10.141 -p 7001
#好像不能一起执行
config set masterauth 36DbRGvv 
config set requirepass 36DbRGvv 
auth  36DbRGvv
config rewrite 

添加redis集群密码 一开始忘记加-c 导致 143 两个都加不上了  redis本身的密码这样就有了

-a 后 再执行命令就再 auth , 而如果是进入后 auth password 要每次 都再验证一下密码 麻烦 

开机自己启动

#非交互
redis_install_dir=/data/apps/redis
echo "${redis_install_dir}/bin/redis-server ${redis_install_dir}/redis_cluster/7004/redis_7004.conf
${redis_install_dir}/bin/redis-server ${redis_install_dir}/redis_cluster/7005/redis_7005.conf">${redis_install_dir}/redis_cluster/run

chmod +x ${redis_install_dir}/redis_cluster/run && bash ${redis_install_dir}/redis_cluster/run
chmod  +x /etc/rc.d/rc.local
echo "${redis_install_dir}/redis_cluster/run"  >>/etc/rc.d/rc.local #把变量替换为值

#交互
vi /apps/redis/redis_cluster/run

/apps/redis/bin/redis-server /home/apps/redis/redis_cluster/7004/redis_7004.conf
/apps/redis/bin/redis-server /home/apps/redis/redis_cluster/7005/redis_7005.conf

chmod  +x  /apps/redis/redis_cluster/run
chmod +x /etc/rc.d/rc.local

 vi  /etc/rc.d/rc.local
/apps/redis/redis_cluster/run


开启关闭

redis-cli -a xxx -c -h 192.168.0.60 -p 8001 shutdown  #集群cluster_state变成了fail状态?



troubleshooting

ISCONF Errors writing to the AOF file: No space left on device; nested exception is redis.clients.jedis.exceptions.JedisDataException: MISCONF Errors writing to the AOF file: No space left on device

org.springframework.dao.InvalidDataAccessApiUsageException: MISCONF Errors writing to the AOF file: No space left on device; nested exception is redis.clients.jedis.exceptions.JedisDataException: MISCONF Errors writing to the AOF file: No space left on device

原因 有一个台redis的机器 空间100% 



tail  boot.log
[  OK  ] Started Network Time Service.
[FAILED] Failed to start /etc/rc.d/rc.local Compatibility.
See 'systemctl status rc-local.service' for details.

#启动rc-local 服务  on aliyun 不要不小心 不清空了  /etc/rc.d/rc.local
 systemctl enable  rc-local.service

redis 安装报错 jemalloc/jemalloc.h: No such file or directory

理上次编译残留文件,重新编译

make distclean  && make

导致出现这个错误的原因

  错误的本质是我们在开始执行make 时遇到了错误(大部分是由于gcc未安装),然后我们安装好了gcc 后,我们再执行make ,这时就出现了jemalloc/jemalloc.h: No such file or directory。这是因为上次的


ERROR: for redis-cluster-8005  Cannot start service redis-cluster-8005: OCI runtime create failed: container_linux.go:346: starting container process caused "process_linux.go:449: container init caused \"rootfs_linux.go:58: mounting \\\"/home/redis-cluster-docker_host/conf/redis-8005.conf\\\" to rootfs \\\"/var/lib/docker/overlay2/f80340e6f1abc4aa43cde08ba4c5aa48787b092cbbbb64f01c5f0ad213d71368/merged\\\" at \\\"/var/lib/docker/overlay2/f80340e6f1abc4aa43cde08ba4c5aa48787b092cbbbb64f01c5f0ad213d71368/merged/usr/local/etc/redis/redis.conf\\\" caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type
ERROR: Encountered errors while bringing up the project.
[root@stage-secret-im-rabbitmq03 redis-cluster-docker_host]# docker -V 
^C
[root@stage-secret-im-rabbitmq03 redis-cluster-docker_host]# docker -v
Docker version 19.03.5, build 633a0ea
[root@stage-secret-im-rabbitmq03 redis-cluster-docker_host]# docker-compose  down 
Removing node-8004 ... done
Removing node-8005 ... done
Removing node-8003 ... done
Removing node-8001 ... done
Removing node-8002 ... done
Removing node-8006 ... done




redis 安装报错 jemalloc/jemalloc.h: No such file or directory。

see also

redis-5.0 cluster带认证及客户端连接

Redis 5 之后版本的高可用集群搭建