systemd

RocketMQ安装

时光总嘲笑我的痴心妄想 提交于 2020-04-21 17:00:03
初始化安装环境 下载RocketMQ安装包 wget http://mirror.bit.edu.cn/apache/rocketmq/4.6.1/rocketmq-all-4.6.1-bin-release.zip 安装jdk yum install -y jdk8 启动namesrv #执行脚本调整系统参数 bash /opt/rocketmq/bin/os.sh #vim /lib/systemd/system/rocketmq-nameserver.service --------------- cat > /lib/systemd/system/rocketmq-nameserver.service << EOF [Unit] Description=rocketmq-nameserver After=syslog.target network.target remote-fs.target nss-lookup.target ​ [Service] User=admin Type=simple ExecStart=/bin/sh /opt/rocketmq/bin/mqnamesrv ExecStop=/bin/sh /opt/rocketmq/bin/mqshutdown namesrv Restart=always PrivateTmp=true ​

ElasticSearch请求锁住内存失败

可紊 提交于 2020-04-19 10:56:27
具体错误信息: [2020-04-18T21:40:31,571][ERROR][o.e.b.Bootstrap ] [node-1] node validation exception [1] bootstrap checks failed [1]: memory locking requested for elasticsearch process but memory is not locked 解决思路: (1)调整JVM内存为物理机内存大小的50%,官方推荐,配置文件/etc/sysconfig/elasticsearch ES_JAVA_OPTS="-Xms4g -Xmx4g" MAX_LOCKED_MEMORY=unlimited (2)修改/etc/security/limits.conf文的件内容,取消限制 elasticsearch soft memlock unlimited elasticsearch hard memlock unlimited (3)在/etc/systemd/system/elasticsearch.service.d目录下创建一个文件override.conf,并添加下列内容。 这个 elasticsearch.service.d 也需要创建一下: [Service] LimitMEMLOCK=infinity 最后重启机器,就好了。

创建 SysV 风格的 linux daemon 程序

风流意气都作罢 提交于 2020-04-18 13:11:17
创建 SysV 风格的 linux daemon 程序 本文介绍如何使用 C 语言创建 Linux 系统中 SysV 风格的 daemon 程序。注意:这是一种旧式的 daemon 程序写法,进入 systemd 时代后是不需要通过这样的方式创建 daemon 程序的。 本文的演示环境为 ubuntu 18.04。 创建 daemon 程序的流程 通过前文《Linux session(会话)》我们了解到,如果要让程序运行在后台,必须处理好进程的 session。所以在创建 daemon 程序的过程中处理 session 问题是很重要的一步,当然除此之外还需要其它的步骤。下面是在 Linux 系统中创建一个 SysV 风格的 daemon 的基本流程: 从父进程 fork 出一个子进程 为子进程创建新的 session ID 在子进程中再 fork 一次 修改 umask 修改进程的当前工作目录 关闭进程中的文件描述符 接下来我们通过代码来介绍这些操作的含义。 创建 daemon 程序 从父进程 fork 出一个子进程 创建一个子进程,如果成功就让父进程退出,此时的子进程已经成为了 init 进程的子进程: pid_t pid; pid = fork(); if (pid < 0) exit(EXIT_FAILURE); if (pid > 0) exit(EXIT_SUCCESS)

Docker

让人想犯罪 __ 提交于 2020-04-18 05:50:05
阅读目录 1. 登录阿里开发者平台:https://dev.aliyun.com/search.html 2. 点击“创建我的容器镜像” 3. 注册/登录后,进入Docker 镜像仓库 (https://cr.console.aliyun.com/#/imageList),选中加速器 Tab 4. 根据个人需要, 选择运行Docker 的OS,按照要求修改Docker配置文件 引言 由于网络原因,我们在pull Image 的时候,从Docker Hub上下载会很慢。。。所以,国内的Docker爱好者们就添加了一一些国内的镜像(mirror),方便大家使用。 配置阿里云加速器 回到顶部 1. 登录阿里开发者平台:https://dev.aliyun.com/search.html 回到顶部 2. 点击“创建我的容器镜像” 回到顶部 3. 注册/登录后,进入Docker 镜像仓库 (https://cr.console.aliyun.com/#/imageList),选中加速器 Tab 这里可以看到,系统已经为我们生成了一个专属加速器地址:https://xxxxx.mirror.aliyuncs.com 回到顶部 4. 根据个人需要, 选择运行Docker 的OS,按照要求修改Docker配置文件 我这里的OS是CentOS, docker版本是1.12, 所以步骤如下:

关于limits生效的案例一两只

纵然是瞬间 提交于 2020-04-17 16:42:38
第一个问题 limits.conf的限制在/proc/pid/limits中未生效 # cat /proc/3606/limits Limit Soft Limit Hard Limit Units Max processes 31202 31202 processes Max open files 1024 4096 files 在Centos7 & ubuntu 系统中,使用Systemd替代了之前的SysV。/etc/security/limits.conf文件的配置作用域缩小了。 /etc/security/limits.conf的配置,只适用于通过PAM认证登录用户的资源限制,它对systemd的service的资源限制不生效。因此登录用户的限制,通过/etc/security/limits.conf与/etc/security/limits.d下的文件设置即可。 对于systemd service的资源设置,则需修改全局配置, 全局配置文件放在/etc/systemd/system.conf和/etc/systemd/user.conf, 同时也会加载两个对应目录中的所有.conf文件/etc/systemd/system.conf.d/ .conf和/etc/systemd/user.conf.d/ .conf system.conf是系统实例使用的,user

CentOS系列教程(九)

Deadly 提交于 2020-04-16 16:04:05
【推荐阅读】微服务还能火多久?>>> 本文是 kubernets集群实验的部署操作。 以下是操作过程: 安装docker [root@localhost master]# yum -y update Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile docker-ce-stable | 3.5 kB 00:00:00 kubernetes | 1.4 kB 00:00:00 (1/3): docker-ce-stable/x86_64/updateinfo | 55 B 00:00:00 (2/3): docker-ce-stable/x86_64/primary_db | 41 kB 00:00:00 (3/3): kubernetes/primary | 66 kB 00:00:00 kubernetes 484/484 No packages marked for update [root@localhost master]# [root@localhost master]# yum install -y docker-ce-18.06.1.ce-3.el7 Loaded plugins: fastestmirror, langpacks Loading

CentOS系列教程(七)

断了今生、忘了曾经 提交于 2020-04-16 12:45:36
【推荐阅读】微服务还能火多久?>>> 本文是 kubernets集群实验部署前的准备操作。 以下是操作过程: ######################################################### 更换yum源 [master@localhost ~]$ su root Password: [root@localhost master]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.original0 [root@localhost master]# ls -F /etc/yum.repos.d/ CentOS-Base.repo.original0 CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo [root@localhost master]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo --2020-04-14 19:42:42--

CentOS第一次安装MySQL的完整步骤

左心房为你撑大大i 提交于 2020-04-15 14:56:00
【推荐阅读】微服务还能火多久?>>> 文章来自:http://www.jianshu.com/p/4a41a6df19a6,我自己调整了下 1、官方安装文档 http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/ 2、下载 Mysql yum包 http://dev.mysql.com/downloads/repo/yum/ 下载到本地再上传到服务器,或者使用wget 直接下载 wget http: //repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm 3、安转软件源 将 platform-and-version-specific-package-name 替换为你下载的rpm名 sudo rpm -Uvh platform- and- version-specific-package- name.rpm 例如 rpm -Uvh mysql57-community-release-el7- 10 .noarch .rpm 4、安装mysql服务端 yum install -y mysql-community- server 如果网络环境不是很好,执行完命令就可以去泡杯茶🍵或者荣耀杀一局(可以自己先下载好相应的rpm包或直接下载...bundle.tar压缩包)

linux配置服务启动/守护进程

◇◆丶佛笑我妖孽 提交于 2020-04-15 13:42:10
【推荐阅读】微服务还能火多久?>>> systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,像需要开机不登陆就能运行的程序,还是存在系统服务里吧,即:/usr/lib/systemd/system目录下 每一个服务以.service结尾,一般会分为3部分:[Unit]、[Service]和[Install] 示例: [root@localhost system]# cat ntpdate.service [Unit] Description =Set time via NTP After =syslog.target network.target nss- lookup.target Before = time - sync .target Wants = time - sync .target [Service] Type = oneshot ExecStart =/usr/libexec/ntpdate- wrapper RemainAfterExit = yes [Install] WantedBy =multi-user.target Unit 描述信息 Description = #描述信息 After = #在那个程序之前启动 Before #在那个程序之后启动 Service 启动信息 Type = #启动类型

Perl多进程

你说的曾经没有我的故事 提交于 2020-04-13 16:31:42
【今日推荐】:为什么一到面试就懵逼!>>> 本文关于Perl进程的内容主体来自于《Pro Perl》的第21章。 创建新进程 Perl中可以使用 fork 函数来创建新的进程,它会调用操作系统的fork系统调用来创建新进程。 fork是Unix系统中的函数,在Windows中不原生支持fork。但从Perl 5.8开始,Perl提供了一个模拟的fork使其可以无视平台的差异,它是使用Perl解释器线程来实现的fork,因为解释器线程不自动共享数据,所以用来fork进程正好。换句话说,Perl 5.8开始fork是可以随意用来创建进程的。 fork函数会派生自己,通过自己克隆出一个子进程。这个克隆过程是完整的,因为子进程和父进程在克隆的过程中是完全一致的,子进程和父进程共享代码,克隆完成后才设置一些各进程独有的属性,比如有自己的文件句柄(已经文件句柄上的锁)、进程ID、优先级等等属性。 在fork新进程之后,就会有两个近乎完全一样的进程在并行运行。 fork有两个返回值,一个是给父进程的返回值,这个返回值是fork出来的子进程的PID(如果fork失败,则返回undef),一个是给子进程的返回值,这个返回值为0。所以,通过fork的返回值可以判断出进程是子进程还是父进程 。 if (my $pid = fork) { print "parent process\n"; print