首页 文章 精选 资源 留言

精选列表

搜索[centos7],共1048篇文章
优秀的个人博客,低调大师

CentOS7中时间同步,时间信息查看,at延时任务

1.时间同步 在服务器端共享时间 vim /etc/chrony.conf 29 local stratum 10 ##开启时间共享功能并设定共享级别 ##这个参数开启后本机不同步别人的时间到本机 22 allow 172.25.254.0/24 ##允许那些客户端来访问本机共享的时间 systemctl restart chronyd 注意:服务端此时的防火墙应关闭 在客户端: vim /etc/chrony.conf server 172.25.254.120 iburst ##同步服务端主机时间 systemctl restart chronyd ##重启服务 chronyc sources -v ##查看是否同步时间 ^*代表同步成功 ^?代表没同步过来 ###查看时间,设定时间指令 timedatectl ##查看时间 timedatectl list-timezones ##查看时区 timedatectl set-timezone Asia/Shanghai ##设定时区 timedatectl date vim /etc/adjtime timedatectl set-local-rtc 1 ##设定成本地时间 vim /etc/adjtime timedatectl set-local-rtc 0 ##设定成utc时间 vim /etc/adjtime timedatectl timedatectl set-time "2018-11-11 11:11:11" ##更改当前本地时间 date at ##延时任务操作指令 at 时间 at now+5min ##5分钟后执行任务 at 16:38 ##在16:38执行任务 >touch /mnt/file{1..10} >ctrl+d ##结束操作 at -l ##查看延时任务job号 at -c job号 ##查看延迟任务 at -r job号 ##撤销延迟任务 ##操作步骤## vim /etc/at.deny ##设定at用户使用黑名单 useradd westos useradd linux su - linux su - westos vim /etc/at.allow ##设定at用户使用白名单(其余所有用户都默认是黑名单) su - linux su - westos at now+1min vim /etc/at.allow su - linux

优秀的个人博客,低调大师

2步安装1个hive docker运行环境[centos7]

1 构建基础容器 基于centos环境docker环境快速搭建,执行步骤 docker build -t cenosbase7 . 执行此步骤就可以构建1个基础的centos基础运行环境 相关的文件如下具体内容如下,其中有详细注释 Dockerfile #Build image 包含了JDK mariadb sshd # docker build -t cenosbase7 . #Run #-v /sys/fs/cgroup:/sys/fs/cgroup:ro 必须加 # https://hub.docker.com/_/centos/ systemd enabled # 带提示的启动 # docker run -ti -v /sys/fs/cgroup:/sys/fs/cgroup:ro --privileged=true --name csx cenosbase7 # 守护方式启动 # docker run -tid -v /sys/fs/cgroup:/sys/fs/cgroup:ro --privileged=true --name csx cenosbase7 #1503 not have systemd #cat /etc/redhat_rlease 7.3 FROM centos:7 MAINTAINER cenosbase USER root #https://hub.docker.com/_/centos/ #systemd # 7.1.1503, RUN yum clean all && yum swap fakesystemd systemd systemd没有安装 ENV container docker RUN [ -d /lib/systemd/system/sysinit.target.wants ] && (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == systemd-tmpfiles-setup.service ] || rm -f $i; done); \ rm -f /lib/systemd/system/multi-user.target.wants/*;\ rm -f /etc/systemd/system/*.wants/*;\ rm -f /lib/systemd/system/local-fs.target.wants/*; \ rm -f /lib/systemd/system/sockets.target.wants/*udev*; \ rm -f /lib/systemd/system/sockets.target.wants/*initctl*; \ rm -f /lib/systemd/system/basic.target.wants/*;\ rm -f /lib/systemd/system/anaconda.target.wants/*; RUN yum install -y net-tools iproute lsof && \ yum install -y vim-enhanced && \ yum install -y sudo passwd && \ yum install -y iptables && \ yum install -y openssh.x86_64 openssh-server.x86_64 openssh-clients.x86_64 && \ yum install -y java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64 && \ yum install -y mariadb-server.x86_64 mariadb.x86_64 && \ yum install -y mysql-connector-java.noarch #sshd and root RUN ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N '' && \ ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N '' && \ ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N '' && \ sed -i "s/#UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config && \ sed -i "s/UsePAM.*/UsePAM no/g" /etc/ssh/sshd_config && \ sed -i "s/#Port.*/Port 23/g" /etc/ssh/sshd_config && \ echo "root:root" | chpasswd && systemctl enable mariadb.service && systemctl enable sshd.service RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" > /etc/default/local #jdk RUN ln -s /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.141-1.b16.el7_3.x86_64 /usr/lib/jvm/jdk8 ENV JAVA_HOME /usr/lib/jvm/jdk8 ENV CLASSPATH .:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV PATH $PATH:$JAVA_HOME/bin RUN rm /usr/bin/java && ln -s $JAVA_HOME/bin/java /usr/bin/java #supervisor RUN rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-10.noarch.rpm RUN yum install -y supervisor RUN mkdir -p /etc/supervisor/ COPY supervisord.conf /etc/supervisor/ #should use systemd VOLUME [ "/sys/fs/cgroup" ] #CMD /usr/sbin/init COPY run.sh / RUN chown root:root /run.sh && \ chmod 700 /run.sh && yum clean all #CMD supervisord -c /etc/supervisor/supervisord.conf CMD /run.sh EXPOSE 23 supervisord.conf [unix_http_server] file=/var/run/supervisor/supervisor.sock ; (the path to the socket file) [supervisord] logfile=/var/run/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log) logfile_maxbytes=50MB ; (max main logfile bytes b4 rotation;default 50MB) logfile_backups=10 ; (num of main logfile rotation backups;default 10) loglevel=info ; (log level;default info; others: debug,warn,trace) pidfile=/var/run/supervisor/supervisord.pid ; (supervisord pidfile;default supervisord.pid) nodaemon=true ; (start in foreground if true;default false) minfds=1024 ; (min. avail startup file descriptors;default 1024) minprocs=200 ; (min. avail process descriptors;default 200) [rpcinterface:supervisor] supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface [supervisorctl] serverurl=unix:///var/run/supervisor/supervisor.sock ; use a unix:// URL for a unix socket [program:sshd] command=/usr/sbin/sshd–D run.sh #!/bin/bash echo "supervisord start..." supervisord -c /etc/supervisor/supervisord.conf & echo "init start..." exec /usr/sbin/init 2 构建hive 基于上一个的镜像,可以构建hive的镜像 docker build -t centoshive . Dockerfile #docker build -t centoshive . #参考了 https://github.com/sequenceiq/hadoop-docker FROM cenosbase7 MAINTAINER centoshive USER root #.tar.gz会自动解压 #http://archive.apache.org/dist/hive/hive-1.1.0/apache-hive-1.1.0-bin.tar.gz #http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.10.1.tar.gz ADD pkg/apache-hive-1.1.0-bin.tar.gz /usr/local/ ADD pkg/hadoop-2.6.0-cdh5.10.1.tar.gz /usr/local/ #RUN ls -l /usr/local/ RUN cd /usr/local && ln -s ./hadoop-2.6.0-cdh5.10.1 hadoop && ln -s ./apache-hive-1.1.0-bin hive ENV HADOOP_PREFIX=/usr/local/hadoop HADOOP_COMMON_HOME=/usr/local/hadoop HADOOP_HDFS_HOME=/usr/local/hadoop ENV HADOOP_MAPRED_HOME /usr/local/hadoop ENV HADOOP_YARN_HOME /usr/local/hadoop ENV HADOOP_CONF_DIR /usr/local/hadoop/etc/hadoop ENV YARN_CONF_DIR $HADOOP_PREFIX/etc/hadoop RUN sed -i '/^export JAVA_HOME/ s:.*:export JAVA_HOME=/usr/lib/jvm/jdk8\nexport HADOOP_PREFIX=/usr/local/hadoop\nexport HADOOP_HOME=/usr/local/hadoop\n:' $HADOOP_PREFIX/etc/hadoop/hadoop-env.sh && \ sed -i '/^export HADOOP_CONF_DIR/ s:.*:export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop/:' $HADOOP_PREFIX/etc/hadoop/hadoop-env.sh #RUN . $HADOOP_PREFIX/etc/hadoop/hadoop-env.sh RUN mkdir $HADOOP_PREFIX/input && \ cp $HADOOP_PREFIX/etc/hadoop/*.xml $HADOOP_PREFIX/input # pseudo distributed ADD hadoop-cfg/core-site.xml.template $HADOOP_PREFIX/etc/hadoop/core-site.xml.template RUN sed s/HOSTNAME/localhost/ /usr/local/hadoop/etc/hadoop/core-site.xml.template > /usr/local/hadoop/etc/hadoop/core-site.xml ADD hadoop-cfg/hdfs-site.xml $HADOOP_PREFIX/etc/hadoop/hdfs-site.xml ADD hadoop-cfg/mapred-site.xml $HADOOP_PREFIX/etc/hadoop/mapred-site.xml ADD hadoop-cfg/yarn-site.xml $HADOOP_PREFIX/etc/hadoop/yarn-site.xml RUN $HADOOP_PREFIX/bin/hdfs namenode -format # fixing the libhadoop.so like a boss ADD pkg/hadoop-native-64-2.7.1.tar.gz /usr/local/hadoop/lib/native # workingaround docker.io build error RUN chmod +x /usr/local/hadoop/etc/hadoop/*-env.sh #ssh ADD ssh_config /root/.ssh/config RUN chmod 600 /root/.ssh/config RUN chown root:root /root/.ssh/config #ssh localhost不用登录 # passwordless ssh RUN ssh-keygen -q -N "" -t dsa -f /etc/ssh/ssh_host_dsa_key #RUN ssh-keygen -q -N "" -t rsa -f /etc/ssh/ssh_host_rsa_key RUN ssh-keygen -q -N "" -t rsa -f /root/.ssh/id_rsa RUN cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys #hive ENV HIVE_HOME /usr/local/hive COPY hive/hive-site.xml /usr/local/hive/conf/. COPY pkg/mysql-connector-java-5.1.38.jar /usr/local/hive/lib/. ENV PATH $PATH:/usr/local/hive/bin #daemon service RUN mkdir -p /opt/daemon/ && rm -f /run.sh && rm -rf /etc/supervisor/ ADD svc/*.sh /opt/daemon/ COPY svc/*.ini /etc/supervisord.d/ RUN mkdir -p /opt/log && chown root:root /opt/daemon/*.sh && \ chmod 700 /opt/daemon/*.sh # COPY svc/locale.conf /etc/ #RUN yum install -y kde-l10n-Chinese # CMD /opt/daemon/run.sh # Hdfs ports EXPOSE 50010 50020 50070 50075 50090 8020 9000 # Mapred ports EXPOSE 10020 19888 #Yarn ports EXPOSE 8030 8031 8032 8033 8040 8042 8088 #hive ports EXPOSE 10000 其他依赖文件 https://gitee.com/wushifeng/hivedocker/attach_files/download?i=114939&u=http%3A%2F%2Ffiles.git.oschina.net%2Fgroup1%2FM00%2F02%2FC6%2FPaAvDFpfFtOASF8RABMYaUNwYdI5212.gz%3Ftoken%3D08896e8c3e9a49eed5c33d921bd52836%26ts%3D1516181203%26attname%3Dhive-docker.tar.gz

优秀的个人博客,低调大师

基于centos7镜像创建可以ssh链接的Docker容器

写dockerfile 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [root@web01sshddockerfile] #catDockerfile FROMcentos MAINTAINERliuhaixiao RUNyum-y install wget RUN rm -rf /etc/yum .repos.d/* RUNwget-O /etc/yum .repos.d /CentOS-Base .repohttp: //mirrors .aliyun.com /repo/Centos-7 .repo RUNyumcleanall RUNyum install -yopenssh-server sudo RUN sed -i 's/UsePAMyes/UsePAMno/g' /etc/ssh/sshd_config RUN useradd admin RUN echo "admin:admin" |chpasswd RUN echo "adminALL=(ALL)ALL" >> /etc/sudoers RUN ssh -keygen-tdsa-f /etc/ssh/ssh_host_dsa_key RUN ssh -keygen-trsa-f /etc/ssh/ssh_host_rsa_key #启动sshd服务并且暴露22端口 RUN mkdir /var/run/sshd EXPOSE22 CMD[ "/usr/sbin/sshd" , "-D" ] [root@web01sshddockerfile] # 2.创建镜像 1 dockerbuild-tsshddocker./ 3.查看镜像 1 2 3 [root@web01sshddockerfile] #dockerimages REPOSITORYTAGIMAGEIDCREATEDSIZE sshddockerlatest73204ab652dd12minutesago323.2MB 4.根据此镜像启动一个容器 1 dockerrun-d--namemysshdcontainerIP:23:22sshddocker 5.查看生成的容器 1 2 3 4 [root@web01sshddockerfile] #dockerps-a CONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES f4620f5dd045sshddocker "/usr/sbin/sshd-D" 6minutesagoUp6minutesIP:23->22 /tcp mysshdcontainer [root@web01sshddockerfile] # 6.远程登录测试 1 2 3 4 5 6 7 8 [root@web02~] #sshadmin@59.110.25.215-p23 admin@59.110.25.215'spassword: [admin@f4620f5dd045~]$ [admin@f4620f5dd045~]$ sudo -i [ sudo ]password for admin: [root@f4620f5dd045~] #pwd /root 7.查看容器的IP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 yum-y install net-tools [root@f4620f5dd045~] #ifconfig eth0:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu1500 inet192.168.0.2netmask255.255.240.0broadcast0.0.0.0 inet6fe80::42:c0ff:fea8:2prefixlen64scopeid0x20<link> ether02:42:c0:a8:00:02txqueuelen0(Ethernet) RXpackets814bytes377183(368.3KiB) RXerrors0dropped0overruns0frame0 TXpackets565bytes64761(63.2KiB) TXerrors0dropped0overruns0carrier0collisions0 lo:flags=73<UP,LOOPBACK,RUNNING>mtu65536 inet127.0.0.1netmask255.0.0.0 inet6::1prefixlen128scopeid0x10<host> looptxqueuelen0(LocalLoopback) RXpackets0bytes0(0.0B) RXerrors0dropped0overruns0frame0 TXpackets0bytes0(0.0B) TXerrors0dropped0overruns0carrier0collisions0 [root@f4620f5dd045~] # 本文转自 小小三郎1 51CTO博客,原文链接:http://blog.51cto.com/wsxxsl/1889535,如需转载请自行联系原作者

优秀的个人博客,低调大师

CentOS7下搭建hadoop2.7.3完全分布式

这里搭建的是3个节点的完全分布式,即1个nameNode,2个dataNode,分别如下: CentOS-master nameNode 192.168.11.128 CentOS-node1 dataNode 192.168.11.131 CentOS-node2 dataNode 192.168..11.132 1.首先创建好一个CentOS虚拟机,将它作为主节点我这里起名为CentOS-master,起什么都行,不固定要求 2.VMware中打开虚拟机,输入java -version,检查是否有JDK环境,不要用系统自带的openJDK版本,要自己安装的版本 3.输入 systemctl status firewalld.service ,若如图,防火墙处于running状态,则执行第4和第5步,否则直接进入第6步 4.输入 systemctl stop firewalld.service ,关闭防火墙 5.输入 systemctl disable firewalld.service ,禁用防火墙 6.输入 mkdir /usr/local/hadoop 创建一个hadoop的文件夹 7.将hadoop的tar包放到刚创建好的目录 8.进入hadoop目录,输入 tar -zxvf hadoop-2.7.3.tar.gz 解压tar包 9.输入 vi /etc/profile ,配置环境变量 10.加入如下内容,保存并退出 HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.3/ PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin 11.输入 . /etc/profile ,使环境变量生效 12.任意目录输入 hado ,然后按Tab,如果自动补全为hadoop,则说明环境变量配的没问题,否则检查环境变量哪出错了 13.创建3个之后要用到的文件夹,分别如下: mkdir /usr/local/hadoop/tmp mkdir -p /usr/local/hadoop/hdfs/name mkdir /usr/local/hadoop/hdfs/data 14.进入hadoop解压后的 /etc/hadoop 目录,里面存放的是hadoop的配置文件,接下来要修改这里面一些配置文件 15.有2个.sh文件,需要指定一下JAVA的目录,首先输入 vi hadoop-env.sh 修改配置文件 16.将原有的JAVA_HOME注释掉,根据自己的JDK安装位置,精确配置JAVA_HOME如下,保存并退出 export JAVA_HOME=/usr/local/java/jdk1.8.0_102/ 17.输入 vi yarn-env.sh 修改配置文件 18.加入如下内容,指定JAVA_HOME,保存并退出 export JAVA_HOME=/usr/local/java/jdk1.8.0_102 19.输入 vi core-site.xml 修改配置文件 20.在configuration标签中,添加如下内容,保存并退出,注意这里配置的hdfs:master:9000是不能在浏览器访问的 <property> <name> fs.default.name </name> <value>hdfs://master:9000</value> <description>指定HDFS的默认名称</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> <description>HDFS的URI</description> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop/tmp</value> <description>节点上本地的hadoop临时文件夹</description> </property> 21.输入 vi hdfs-site.xml 修改配置文件 22.在configuration标签中,添加如下内容,保存并退出 <property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/hadoop/hdfs/name</value> <description>namenode上存储hdfs名字空间元数据 </description> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop/hdfs/data</value> <description>datanode上数据块的物理存储位置</description> </property> <property> <name>dfs.replication</name> <value>1</value> <description>副本个数,默认是3,应小于datanode机器数量</description> </property> 23.输入 cp mapred-site.xml.template mapred-site.xml 将mapred-site.xml.template文件复制到当前目录,并重命名为mapred-site.xml 24.输入 vi mapred-site.xml 修改配置文件 25.在configuration标签中,添加如下内容,保存并退出 <property> <name>mapreduce.framework.name</name> <value>yarn</value> <description>指定mapreduce使用yarn框架</description> </property> 26.输入 vi yarn-site.xml 修改配置文件 27.在configuration标签中,添加如下内容,保存并退出 <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> <description>指定resourcemanager所在的hostname</description> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> <description> NodeManager上运行的附属服务。 需配置成mapreduce_shuffle,才可运行MapReduce程序 </description> </property> 28.输入 vi slaves 修改配置文件 29.将localhost删掉,加入如下内容,即dataNode节点的主机名 node1 node2 30.将虚拟机关闭,再复制两份虚拟机,重命名为如下,注意这里一定要关闭虚拟机,再复制 31.将3台虚拟机都打开,后两台复制的虚拟机打开时,都选择“我已复制该虚拟机” 32.在master机器上,输入 vi /etc/hostname,将localhost改为master,保存并退出 33.在node1机器上,输入 vi /etc/hostname,将localhost改为node1,保存并退出 34.在node2机器上,输入 vi /etc/hostname,将localhost改为node2,保存并退出 35.在三台机器分别输入 vi /etc/hosts 修改文件,其作用是将一些常用的网址域名与其对应的IP地址建立一个关联,当用户在访问网址时,系统会首先自动从Hosts文件中寻找对应的IP地址 36.三个文件中都加入如下内容,保存并退出,注意这里要根据自己实际IP和节点主机名进行更改,IP和主机名中间要有一个空格 192.168.11.128 master 192.168.11.131 node1 192.168.11.132 node2 37.在master机器上输入 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 创建一个无密码的公钥,-t是类型的意思,dsa是生成的密钥类型,-P是密码,’’表示无密码,-f后是秘钥生成后保存的位置 38.在master机器上输入 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 将公钥id_dsa.pub添加进keys,这样就可以实现无密登陆ssh 39.在master机器上输入 ssh master 测试免密码登陆 如果有询问,则输入yes ,回车 40.在node1主机上执行 mkdir ~/.ssh 41.在node2主机上执行 mkdir ~/.ssh 42.在master机器上输入 scp ~/.ssh/authorized_keys root@node1:~/.ssh/authorized_keys 将主节点的公钥信息导入node1节点,导入时要输入一下node1机器的登陆密码 43.在master机器上输入 scp ~/.ssh/authorized_keys root@node2:~/.ssh/authorized_keys 将主节点的公钥信息导入node2节点,导入时要输入一下node2机器的登陆密码 44.在三台机器上分别执行 chmod 600 ~/.ssh/authorized_keys 赋予密钥文件权限 45.在master节点上分别输入 ssh node1 和 ssh node2 测试是否配置ssh成功 46.如果node节点还没有hadoop,则master机器上分别输入如下命令将hadoop复制 scp -r /usr/local/hadoop/ root@node1:/usr/local/ scp -r /usr/local/hadoop/ root@node2:/usr/local/ 47.在master机器上,任意目录输入 hdfs namenode -format 格式化namenode,第一次使用需格式化一次,之后就不用再格式化,如果改一些配置文件了,可能还需要再次格式化 48.格式化完成 49.在master机器上,进入hadoop的sbin目录,输入 ./start-all.sh 启动hadoop 50.输入yes,回车 51.输入 jps 查看当前java的进程,该命令是JDK1.5开始有的,作用是列出当前java进程的PID和Java主类名,nameNode节点除了JPS,还有3个进程,启动成功 52.在node1机器和node2机器上分别输入 jps 查看进程如下,说明配置成功 53.在浏览器访问nameNode节点的8088端口和50070端口可以查看hadoop的运行状况 54.在master机器上,进入hadoop的sbin目录,输入 ./stop-all.sh 关闭hadoop 文章可以转载,必须以链接形式标明出处。 本文转自 张冲andy 博客园博客,原文链接:http://www.cnblogs.com/andy6/p/7440804.html ,如需转载请自行联系原作者

优秀的个人博客,低调大师

CentOS7中LVM通过扩展逻辑卷扩展swap空间

在我们日常运维工作中,偶尔也会遇到需要扩展swap空间的操作。扩展swap空间的方法很多,现在让我们一起来探讨一下,在LVM下扩展swap空间的方法。 1、查看一下卷组,是否还有空闲空间能用于扩展swap空间。 [root@Geeklp201 ~]# vgdisplay 从倒数第二行,我们可以看到,本机centos卷组的空闲空间小于5GB,分出1GB来扩展swap空间足够了。 2、查看逻辑卷。 [root@Geeklp201 ~]# lvdisplay 逻辑卷swap的路径为/dev/centos/swap。扩展逻辑卷swap。 [root@Geeklp201 ~]# lvextend -L 2GB /dev/centos/swap Size of logical volume centos/swap changed from 1.00 GiB (256 extents) to 2.00 GiB (512 extents). Logical volume centos/swap successfully resized. 扩展成功!然而,用free命令看一下,当前swap空间并未增加。还需要执行以下几步: [root@Geeklp201 ~]# lvextend -L 2GB /dev/centos/swap 在操作之前最好把将缓冲区的数据写 入磁盘。 [root@Geeklp201 ~]# sync;sync [root@Geeklp201 ~]# swapoff /dev/centos/swap [root@Geeklp201 ~]# mkswap /dev/centos/swap mkswap: /dev/centos/swap: warning: wiping old swap signature. 正在设置交换空间版本 1,大小 = 2097148 KiB 无标签,UUID=4250fdac-92c1-43f4-b266-c9d9c69a2783 [root@Geeklp201 ~]# swapon /dev/centos/swap 增加成功!都不用去修改fstab文件,是不是很方便? 对于扩展卷组等内容,可以阅读我之前的文章。希望对大家有帮助。

优秀的个人博客,低调大师

解决centos7报错ERROR 1045 (28000): Access denied for user ‘root’

【问题】: mysql版本:5.7.13 首次在centos下安装mysql,客户端连接mysql时报错: [plain]view plain copy [root@localhostopt]#/usr/bin/mysql-uroot ERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpassword:NO) 【解决】: 1、找到密码 [plain]view plain copy [root@localhostopt]#cat/var/log/mysqld.log|greppassword 2016-07-16T05:01:47.771362Z1[Note]Atemporarypasswordisgeneratedforroot@localhost:q.)aq!YaH6y- 2016-07-16T05:02:32.000199Z2[Note]Accessdeniedforuser'root'@'localhost'(usingpassword:NO) 2016-07-16T05:02:39.063852Z3[Note]Accessdeniedforuser'root'@'localhost'(usingpassword:NO) 2、重新连接mysql: [plain]view plain copy [root@zzs171opt]#/usr/bin/mysql-uroot-p Enterpassword: 输入上面找到的密码,即可进入mysql客户端连接。 3、修改mysql的root的密码: 进入mysql客户端之后,show databases; 会提醒先修改密码: [plain]view plain copy mysql>showdatabases; ERROR1820(HY000):YoumustresetyourpasswordusingALTERUSERstatementbeforeexecutingthisstatement. 设置密码,以下两种方式均可: [plain]view plain copy SETPASSWORDFOR'root'@'localhost'=PASSWORD('Mysqlpassw0rd.'); alteruser'root'@'localhost'identifiedby'Mysqlpassw0rd.'; OK,至此设置成功。注意mysql有密码复杂度的限制。密码太简单会提示: [plain]view plain copy mysql>SETPASSWORDFOR'root'@'localhost'=PASSWORD('123'); ERROR1819(HY000):Yourpassworddoesnotsatisfythecurrentpolicyrequirements 【其他补充】 网上还有几种方案,但是都不行。例如: [plain]view plain copy 方案一: mysqladmin-urootpassword123456,结果提示错误:error:'Accessdeniedforuser'root'@'localhost'(usingpassword:NO)' 方案二: 用mysqld_safeskip-grant-tables进入mysql,然后sql语句修改root密码,还是提示错误:-bash:mysqld_safe:commandnotfound 本文从 http://blog.csdn.net/kuluzs/article/details/51924086 转载

优秀的个人博客,低调大师

Centos7部署ntp服务器同步时间

查看时区列表: timedatectl list-timezones|grep Asia 设置中国时区: timedatectl set-timezone Asia/Shanghai 执行完后时间就变为北京时间了 查看当前时间: date 查看当前设置: [root@localhost ~]# timedatectl Local time: Mon 2017-10-09 16:44:08 CST Universal time: Mon 2017-10-09 08:44:08 UTC RTC time: Mon 2017-10-09 08:44:08 Time zone: Asia/Shanghai (CST, +0800) NTP enabled: yes NTP synchronized: yes RTC in local TZ: no DST active: n/a 如果没有系统没有安装ntp服务器的话可以安装yum install ntp -y 然后编辑ntp的配置文件vi /etc/ntp.conf (日志文件默认在/var/log/messages中),添加以下几个服务器域名,如果原配置文件没有的话 server 0.centos.pool.ntp.org iburst server 1.centos.pool.ntp.org iburst server 2.centos.pool.ntp.org iburst server 3.centos.pool.ntp.org iburst systemctl restart ntpd systemctl enable ntpd 这样,服务器端就配置得差不多了,但我为了让效果更明显,把服务器修改为纽约时区,另一台需要同步的linux客户端的时区修改为非洲时间,结果导致,客户端ntpdate之后没有同步,后来才发现,需要在同一时区内才能同步时间,也就是说,服务端和客户端的时区必须在中国这个时区内才可以 下面来测试我们的ntp服务器配置有没有成功 在服务器端(ip:10.0.3.66)上 使用date -s 23:30:30 (时间可以随便改,反正改一个跟客户端时间不一样的就可以了),然后date可以看到时间变成了23:30:30 在客户端上 ntpdate 10.0.3.66 执行后发现,时间也变成了23:30:30

优秀的个人博客,低调大师

Centos7系统自动安装jdk1.7脚本

1.首先查看自己电脑上面是否安盐水鸭 南京特产 南京特产有哪些装默认的jdk。 rpm -qa |grep jdk 2.如果有的话,先卸载sun公司的openjdk。 rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64 将类似的jdk卸载掉之后再安装。 3.本次安装的是jdk-7u80-linux-x64.tar.gz,解压安装包进行安装。 jdk-7u80-linux-x64.tar.gz安装包的百度云链接:https://yun.baidu.com/s/1bncwr8b 4.运行install_Jdk.sh,在运行脚本之前首先给脚本install_Jdk.sh 添加可执行权限。 chmod +x install_Jdk.sh 5.将脚本与第三步中的安装包放在同一目录下面,然后执行./install_Jdk.sh 6.安装的jdk的目录在/usr/local/jdk1.7 7.之后测试是否安装成功。java -version [plain]view plain copy #!/bin/bash #shellscripttoinstalljdk #1.removeopenjdkifexists. foriin$(rpm-qa|grepopenjdk|grep-vgrep) do echo"Deletingrpm->"$i rpm-e--nodeps$i done if[[!-z$(rpm-qa|grepjdk|grep-vgrep)]]; then echo"-->FailedtoremovethedefultJdk." else #2.tarandinstallJDK(jdk-7u80-linux-x64.tar.gz) tar-zxvfjdk-7u80-linux-x64.tar.gz mv./jdk1.7.0_80/usr/local/jdk1.7 rm-rf./jdk1.7.0_80 #3.config/etc/profile echo"exportJAVA_HOME=/usr/local/jdk1.7">>/etc/profile echo-e'exportCLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar'>>/etc/profile echo-e'exportPATH=$PATH:$JAVA_HOME/bin'>>/etc/profile source/etc/profile fi

优秀的个人博客,低调大师

CentOS7下如何正确安装并启动Docker(图文详解)

我使用了CentOS 7操作系统,可以非常容易地安装Docker环境。假设,下面我们都是用root用户进行操作,执行如下命令进行准备工作: yum install -y yum-utils yum-config-manager \ --add-repo \ https://docs.docker.com/engine/installation/linux/repo_files/centos/docker.repo yum makecache fast 上面首先安装了yum-utils,它提供了yum-config-manager管理工具,然后安装了最新稳定版本的Repository文件,最后更新yum的package索引。 执行如下命令: sudo yum -y install docker-engine 首次安装docker-engine,输出类似如下日志信息: Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.btte.net * extras: mirrors.btte.net * updates: mirrors.btte.net Resolving Dependencies --> Running transaction check ---> Package docker-engine.x86_64 0:1.13.1-1.el7.centos will be installed --> Processing Dependency: docker-engine-selinux >= 1.13.1-1.el7.centos for package: docker-engine-1.13.1-1.el7.centos.x86_64 --> Running transaction check ---> Package docker-engine-selinux.noarch 0:1.13.1-1.el7.centos will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================================================================================================================================================= Package Arch Version Repository Size ================================================================================================================================================================================================================= Installing: docker-engine x86_64 1.13.1-1.el7.centos docker-main 19 M Installing for dependencies: docker-engine-selinux noarch 1.13.1-1.el7.centos docker-main 28 k Transaction Summary ================================================================================================================================================================================================================= Install 1 Package (+1 Dependent package) Total download size: 19 M Installed size: 65 M Downloading packages: warning: /var/cache/yum/x86_64/7/docker-main/packages/docker-engine-selinux-1.13.1-1.el7.centos.noarch.rpm: Header V4 RSA/SHA512 Signature, key ID 2c52609d: NOKEY ] 1.2 MB/s | 944 kB 00:00:14 ETA Public key for docker-engine-selinux-1.13.1-1.el7.centos.noarch.rpm is not installed (1/2): docker-engine-selinux-1.13.1-1.el7.centos.noarch.rpm | 28 kB 00:00:01 (2/2): docker-engine-1.13.1-1.el7.centos.x86_64.rpm | 19 MB 00:00:04 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 4.5 MB/s | 19 MB 00:00:04 Retrieving key from https://yum.dockerproject.org/gpg Importing GPG key 0x2C52609D: Userid : "Docker Release Tool (releasedocker) <docker@docker.com>" Fingerprint: 5811 8e89 f3a9 1289 7c07 0adb f762 2157 2c52 609d From : https://yum.dockerproject.org/gpg Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : docker-engine-selinux-1.13.1-1.el7.centos.noarch 1/2 libsemanage.semanage_direct_install_info: Overriding docker module at lower priority 100 with module at priority 400. restorecon: lstat(/var/lib/docker) failed: No such file or directory warning: %post(docker-engine-selinux-1.13.1-1.el7.centos.noarch) scriptlet failed, exit status 255 Non-fatal POSTIN scriptlet failure in rpm package docker-engine-selinux-1.13.1-1.el7.centos.noarch Installing : docker-engine-1.13.1-1.el7.centos.x86_64 2/2 Verifying : docker-engine-selinux-1.13.1-1.el7.centos.noarch 1/2 Verifying : docker-engine-1.13.1-1.el7.centos.x86_64 2/2 Installed: docker-engine.x86_64 0:1.13.1-1.el7.centos Dependency Installed: docker-engine-selinux.noarch 0:1.13.1-1.el7.centos Complete! 可见,Docker已经成功安装。 下面,我们就可以启动Docker了,执行如下命令,启动Docker(Docker Engine): systemctl start docker 可以查看一下当前系统上的进程,执行ps -ef | grep docker确认Docker已经启动: root 2717 1 8 21:52 ? 00:00:00 /usr/bin/dockerd root 2723 2717 1 21:52 ? 00:00:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc root 2920 2645 0 21:52 pts/0 00:00:00 grep --color=auto docker 下面,我们验证一下,Docker启动了,应该就可以在一个Container中运行一个准备好的应用,执行如下命令: docker run hello-world 基于一个名称为hello-world的Image,启动Container并运行它,启动过程如下所示: Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 78445dd45222: Pull complete Digest: sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://cloud.docker.com/ For more examples and ideas, visit: https://docs.docker.com/engine/userguide 首先可以看到,因为本地没有下载过该Image,所以会先从Docker Hub上下载,对应的tag是latest。另外,也可以看到提示信息“Hello from Docker! ”,表示我们的环境配置没问题,可以启动Container运行应用程序。这里,还给出了运行我们这个名称为hello-world的示例Image在Container中运行过程中。 Docker的基本运行机制如下所示: Docker Client连接到Docker daemon Docker daemon从Docker Hub上下载名称为hello-world的Image Docker daemon基于这个Image创建了一个新的Container,并运行应用程序,输出“Hello from Docker!” Docker daemon将结果输出到Docker Client,也就是我们的终端上 现在,我们可能想知道hello-world这个Image是如何构建,才能够最终在我们的Docker Container中运行,请看下文。 本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/7610572.html如需转载请自行联系原作者

优秀的个人博客,低调大师

网络的路由配置以及Centos7的网络组实现

1、路由配置 路由是互联网络的核心,没有路由的网络如同一座孤岛,掌握路由的配置是IT人员的必备技能。 例如:现在有三台主机需要通信,其中A和B在同一网段,C在另一网段,这两个网段有三个路由相隔,如何实现他们之间的通信呢? 主机A:IP=192.168.1.100/24 主机B:IP=192.168.1.63/24 主机C:IP=10.2.110.100/16 R1的接口0:IP=192.168.1.1/24,接口1:IP=110.1.24.10/24 R2的接口0:IP=110.1.24.20/24,接口1:IP=72.98.2.10/16 R3的接口0:IP=72.98.70.20/16,接口1:IP=10.2.0.1/16 通过分析上面的网络环境,可以得到R1,R2和R3的路由信息,这里我们指定每一个路由的静态路由表 R1:路由表 网段 网关接口 192.168.1.0/24 0.0.0.0/0 eth0 110.1.24.10/24 0.0.0.0/0 eth1 72.98.0.0/16 110.1.24.20 eth1 10.2.0.0/16 110.1.24.20 eth1 0.0.0.0/0 110.1.24.20 eth1 R2:路由表 网段 网关接口 192.168.1.0/24 110.1.24.10 eth0 110.1.24.10/24 0.0.0.0/0 eth0 72.98.0.0/16 0.0.0.0/0 eth1 10.2.0.0/1672.98.70.20 eth1 0.0.0.0/0 外网IP(这里不写) R3:路由表 网段 网关接口 192.168.1.0/24 72.98.2.10 eth0 110.1.24.10/24 72.98.2.10 eth0 72.98.0.0/16 0.0.0.0/0 eth0 10.2.0.0/160.0.0.0/0 eth1 0.0.0.0/0 72.98.2.10 eth0 这里用3台centos系统作为路由 用node1主机来做route1 [root@node1~]#ipaddrshowdeveth1 3:eth1:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000 link/ether00:0c:29:e2:96:7cbrdff:ff:ff:ff:ff:ff inet192.168.1.1/24scopeglobaleth1 inet6fe80::20c:29ff:fee2:967c/64scopelink valid_lftforeverpreferred_lftforever [root@node1~]#ipaddrshowdeveth2 4:eth2:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000 link/ether00:0c:29:e2:96:86brdff:ff:ff:ff:ff:ff inet110.1.24.10/24scopeglobaleth2 inet6fe80::20c:29ff:fee2:9686/64scopelink valid_lftforeverpreferred_lftforever [root@node1~]#routeadd-net10.2.0.0/16gw110.1.24.20deveth2 [root@node1~]#route-n KernelIProutingtable DestinationGatewayGenmaskFlagsMetricRefUseIface 192.168.1.00.0.0.0255.255.255.0U000eth1 110.1.24.00.0.0.0255.255.255.0U000eth2 10.2.0.0110.1.24.20255.255.0.0UG000eth2 72.98.0.0110.1.24.20255.255.0.0UG000eth2 10.1.0.00.0.0.0255.255.0.0U000eth0 169.254.0.00.0.0.0255.255.0.0U10020 [root@node1~]#echo1>/proc/sys/net/ipv4/ip_forward note2用来做route2 [root@node2~]#ipaddradd110.1.24.20/24deveth1 [root@node2~]#ipaddradd72.98.2.10/16deveth2 [root@node2~]#ipaddrshowdeveth1 3:eth1:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000 link/ether00:0c:29:00:90:24brdff:ff:ff:ff:ff:ff inet110.1.24.20/24scopeglobaleth1 inet6fe80::20c:29ff:fe00:9024/64scopelink valid_lftforeverpreferred_lftforever [root@node2~]#ipaddrshowdeveth2 4:eth2:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000 link/ether00:0c:29:00:90:2ebrdff:ff:ff:ff:ff:ff inet72.98.2.10/16scopeglobaleth2 inet6fe80::20c:29ff:fe00:902e/64scopelink valid_lftforeverpreferred_lftforever [root@node2~]#route-n KernelIProutingtable DestinationGatewayGenmaskFlagsMetricRefUseIface 110.1.24.00.0.0.0255.255.255.0U000eth1 72.98.0.00.0.0.0255.255.0.0U000eth2 10.1.0.00.0.0.0255.255.0.0U000eth0 169.254.0.00.0.0.0255.255.0.0U100200eth0 169.254.0.00.0.0.0255.255.0.0U100300eth1 [root@node2~]#routeadd-net192.168.1.0/24gw110.1.24.10deveth1 [root@node2~]#routeadd-net10.2.0.0/16gw72.98.70.20deveth2 [root@node2~]#route-n KernelIProutingtable DestinationGatewayGenmaskFlagsMetricRefUseIface 192.168.1.0110.1.24.10255.255.255.0UG000eth1 110.1.24.00.0.0.0255.255.255.0U000eth1 10.2.0.072.98.70.20255.255.0.0UG000eth2 72.98.0.00.0.0.0255.255.0.0U000eth2 10.1.0.00.0.0.0255.255.0.0U000eth0 169.254.0.00.0.0.0255.255.0.0U100200eth0 169.254.0.00.0.0.0255.255.0.0U100300eth1 [root@node2~]#echo1>/proc/sys/net/ipv4/ip_forward note3用来做route3 [root@node3~]#ipaddradd72.98.70.20/16deveth1 [root@node3~]#ipaddradd10.2.0.1/16deveth2 [root@node3~]#ipaddrshowdeveth1 3:eth1:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000 link/ether00:0c:29:47:d8:e1brdff:ff:ff:ff:ff:ff inet72.98.70.20/16scopeglobaleth1 inet6fe80::20c:29ff:fe47:d8e1/64scopelink valid_lftforeverpreferred_lftforever [root@node3~]#ipaddrshowdeveth2 4:eth2:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000 link/ether00:0c:29:47:d8:ebbrdff:ff:ff:ff:ff:ff inet10.2.0.1/16scopeglobaleth2 inet6fe80::20c:29ff:fe47:d8eb/64scopelink valid_lftforeverpreferred_lftforever [root@node3~]#routeadd-net110.1.24.0/24gw72.98.2.10deveth1 [root@node3~]#route-n KernelIProutingtable DestinationGatewayGenmaskFlagsMetricRefUseIface 192.168.1.072.98.2.10255.255.255.0UG000eth1 110.1.24.072.98.2.10255.255.255.0UG000eth1 10.2.0.00.0.0.0255.255.0.0U000eth2 72.98.0.00.0.0.0255.255.0.0U000eth1 10.1.0.00.0.0.0255.255.0.0U000eth0 169.254.0.00.0.0.0255.255.0.0U100200eth0 169.254.0.00.0.0.0255.255.0.0U100300eth1 [root@node3~]#echo1>/proc/sys/net/ipv4/ip_forward 主机A: [root@host1~]#ipaddradd192.168.1.100/24deveno33554984 [root@host1~]#iprouteadddefaultvia192.168.1.1 [root@host1~]#ipaddrshowdeveno33554984 3:eno33554984:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000 link/ether00:0c:29:2b:82:a6brdff:ff:ff:ff:ff:ff inet192.168.1.100/24scopeglobaleno33554984 valid_lftforeverpreferred_lftforever inet6fe80::20c:29ff:fe2b:82a6/64scopelink valid_lftforeverpreferred_lftforever [root@host1~]#route-n -bash:route:commandnotfound [root@host1~]#iprouteshow 10.1.0.0/16deveno16777736protokernelscopelinksrc10.1.70.171metric100 192.168.1.0/24deveno33554984protokernelscopelinksrc192.168.1.100 0.0.0.0via192.168.1.1deveno33554984 主机B: [root@host2~]#ipaddrshowdeveno33554984 3:eno33554984:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPqlen1000 link/ether00:0c:29:aa:22:47brdff:ff:ff:ff:ff:ff inet192.168.1.63/24scopeglobaleno33554984 valid_lftforeverpreferred_lftforever inet6fe80::20c:29ff:feaa:2247/64scopelink valid_lftforeverpreferred_lftforever [root@host2~]#route-n KernelIProutingtable DestinationGatewayGenmaskFlagsMetricRefUseIface 10.1.0.00.0.0.0255.255.0.0U10000eno16777736 192.168.1.00.0.0.0255.255.255.0U000eno33554984 0.0.0.0192.168.1.1255.255.255.255UGH000eno33554984 主机C: root@debian:~#ipaddrshowdeveth1 3:eth1:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPgroupdefaultqlen1000 link/ether00:0c:29:f1:04:08brdff:ff:ff:ff:ff:ff inet10.2.110.100/16scopeglobaleth1 valid_lftforeverpreferred_lftforever root@debian:~#route-n KernelIProutingtable DestinationGatewayGenmaskFlagsMetricRefUseIface 10.1.0.00.0.0.0255.255.0.0U000eth0 10.2.0.00.0.0.0255.255.0.0U000eth1 0.0.0.010.2.0.1255.255.255.255UGH000eth1 root@debian:~# 至此所有配置已经结束,关闭所有主机的网关和selinux 测试: 在主机C上: root@debian:~#ping-Ieth1192.168.1.1 PING192.168.1.1(192.168.1.1)from10.2.110.100eth1:56(84)bytesofdata. 64bytesfrom192.168.1.1:icmp_seq=1ttl=62time=0.691ms 64bytesfrom192.168.1.1:icmp_seq=2ttl=62time=1.17ms ^C ---192.168.1.1pingstatistics--- 2packetstransmitted,2received,0%packetloss,time1000ms rttmin/avg/max/mdev=0.691/0.931/1.171/0.240ms root@debian:~#ping-Ieth1192.168.1.63 PING192.168.1.63(192.168.1.63)from10.2.110.100eth1:56(84)bytesofdata. 64bytesfrom192.168.1.63:icmp_seq=1ttl=61time=1.22ms 64bytesfrom192.168.1.63:icmp_seq=2ttl=61time=0.927ms ^C ---192.168.1.63pingstatistics--- 2packetstransmitted,2received,0%packetloss,time1001ms rttmin/avg/max/mdev=0.927/1.074/1.221/0.147ms root@debian:~#ping-Ieth1192.168.1.100 PING192.168.1.100(192.168.1.100)from10.2.110.100eth1:56(84)bytesofdata. 64bytesfrom192.168.1.100:icmp_seq=1ttl=61time=1.21ms 64bytesfrom192.168.1.100:icmp_seq=2ttl=61time=1.78ms ^C ---192.168.1.100pingstatistics--- 2packetstransmitted,2received,0%packetloss,time1001ms rttmin/avg/max/mdev=1.214/1.497/1.780/0.283ms root@debian:~# 在主机A上: [root@host1~]#ping-Ieno3355498410.2.110.100 PING10.2.110.100(10.2.110.100)from192.168.1.100eno33554984:56(84)bytesofdata. 64bytesfrom10.2.110.100:icmp_seq=1ttl=61time=0.985ms 64bytesfrom10.2.110.100:icmp_seq=2ttl=61time=1.09ms 64bytesfrom10.2.110.100:icmp_seq=3ttl=61time=1.89ms 64bytesfrom10.2.110.100:icmp_seq=4ttl=61time=2.00ms ^C ---10.2.110.100pingstatistics--- 4packetstransmitted,4received,0%packetloss,time3005ms rttmin/avg/max/mdev=0.985/1.493/2.008/0.459ms [root@host1~]# 在主机B上: [root@host2~]#ping-Ieno3355498410.2.110.100 PING10.2.110.100(10.2.110.100)from192.168.1.63eno33554984:56(84)bytesofdata. 64bytesfrom10.2.110.100:icmp_seq=1ttl=61time=1.15ms 64bytesfrom10.2.110.100:icmp_seq=2ttl=61time=1.93ms 64bytesfrom10.2.110.100:icmp_seq=3ttl=61time=0.979ms ^C ---10.2.110.100pingstatistics--- 3packetstransmitted,3received,0%packetloss,time2003ms rttmin/avg/max/mdev=0.979/1.355/1.930/0.412ms [root@host2~]#ping-Ieno3355498472.98.70.20 PING72.98.70.20(72.98.70.20)from192.168.1.63eno33554984:56(84)bytesofdata. 64bytesfrom72.98.70.20:icmp_seq=1ttl=62time=0.751ms 64bytesfrom72.98.70.20:icmp_seq=2ttl=62time=0.807ms 64bytesfrom72.98.70.20:icmp_seq=3ttl=62time=1.33ms ^C ---72.98.70.20pingstatistics--- 3packetstransmitted,3received,0%packetloss,time2000ms rttmin/avg/max/mdev=0.751/0.964/1.335/0.264ms [root@host2~]#ping-Ieno3355498472.98.70.10###不知道为啥ping不通 PING72.98.70.10(72.98.70.10)from192.168.1.63eno33554984:56(84)bytesofdata. From110.1.24.20icmp_seq=1DestinationHostUnreachable From110.1.24.20icmp_seq=2DestinationHostUnreachable From110.1.24.20icmp_seq=3DestinationHostUnreachable ^C ---72.98.70.10pingstatistics--- 5packetstransmitted,0received,+3errors,100%packetloss,time4002ms pipe4 [root@host2~]#ping-Ieno33554984110.1.24.20 PING110.1.24.20(110.1.24.20)from192.168.1.63eno33554984:56(84)bytesofdata. 64bytesfrom110.1.24.20:icmp_seq=1ttl=63time=0.556ms 64bytesfrom110.1.24.20:icmp_seq=2ttl=63time=2.15ms 64bytesfrom110.1.24.20:icmp_seq=3ttl=63time=0.972ms ^C ---110.1.24.20pingstatistics--- 3packetstransmitted,3received,0%packetloss,time2002ms rttmin/avg/max/mdev=0.556/1.228/2.157/0.678ms [root@host2~]#ping-Ieno33554984110.1.24.10 PING110.1.24.10(110.1.24.10)from192.168.1.63eno33554984:56(84)bytesofdata. 64bytesfrom110.1.24.10:icmp_seq=1ttl=64time=0.282ms 64bytesfrom110.1.24.10:icmp_seq=2ttl=64time=0.598ms 64bytesfrom110.1.24.10:icmp_seq=3ttl=64time=0.367ms ^C ---110.1.24.10pingstatistics--- 3packetstransmitted,3received,0%packetloss,time2000ms rttmin/avg/max/mdev=0.282/0.415/0.598/0.135ms [root@host2~]# 2.centos7的网络组实现 网络组类似于centos6的bond,都是多个网卡使用一个IP,是增强网络健壮性的一个手段 网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量 网络组不同于旧版中bonding技术,提供更好的性能和扩展性 网络组由内核驱动和teamd守护进程实现.包名是teamd 启动网络组接口不会自动启动网络组中的port接口启动网络组接口中的port接口不会自动启动网络组接口禁用网络组接口会自动禁用网络组中的port接口没有port接口的网络组接口可以启动静态IP连接启用DHCP连接时,没有port接口的网络组会等待port接口的加入 具体的runner方式可以查看man 5 teamd.conf帮助 创建网络组接口: [root@linux~]#nmcliconaddtypeteamcon-nametestifnameteam0config'{"runner":{"name":"activebackup"}}' Connection'test'(5a3bfb26-993f-45ad-add6-246ff419e7bd)successfullyadded. 此时在网络配置目录下生成了一个文件 [root@linux~]#ls/etc/sysconfig/network-scripts/ifcfg-test /etc/sysconfig/network-scripts/ifcfg-test [root@linux~]#nmclidevshowteam0 GENERAL.DEVICE:team0 GENERAL.TYPE:team GENERAL.HWADDR:82:D0:69:2C:48:6E GENERAL.MTU:1500 GENERAL.STATE:70(connecting(gettingIPconfiguration)) GENERAL.CONNECTION:test GENERAL.CON-PATH:/org/freedesktop/NetworkManager/ActiveConnection/3 [root@linux~]#nmcliconshow NAMEUUIDTYPEDEVICE eno33554984fb67dbad-ec81-39b4-42b1-ebf975c3ff13802-3-etherneteno33554984 eno16777736d329fbf7-4423-4a10-b097-20b266c26768802-3-etherneteno16777736 eno50332208d2665055-8e83-58f1-e9e3-49a5fb133641802-3-etherneteno50332208 test5a3bfb26-993f-45ad-add6-246ff419e7bdteamteam0 给team0设置静态IP和开机自启动 [root@linux~]#nmcliconmodtestipv4.methodmanualipv4.addresses"10.1.70.24/16"connection.autoconnectyes [root@linux~]#cat/etc/sysconfig/network-scripts/ifcfg-test DEVICE=team0 TEAM_CONFIG="{\"runner\":{\"name\":\"activebackup\"}}" DEVICETYPE=Team BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no NAME=test UUID=5a3bfb26-993f-45ad-add6-246ff419e7bd ONBOOT=yes IPADDR=10.1.70.24 PREFIX=16 IPV6_PEERDNS=yes IPV6_PEERROUTES=yes [root@linux~]# 创建两个port接口 [root@linux~]#nmcliconaddtypeteam-slavecon-nametest-1ifnameeno33554984masterteam0 Connection'test-1'(234c3e91-d90d-421c-ae88-133deddfce94)successfullyadded. [root@linux~]#nmcliconaddtypeteam-slavecon-nametest-2ifnameeno50332208masterteam0 Connection'test-2'(116ef596-d983-456c-a6ae-a74a4f8c03dc)successfullyadded. [root@linux~]# [root@linux~]#cat/etc/sysconfig/network-scripts/ifcfg-test-1 NAME=test-1 UUID=234c3e91-d90d-421c-ae88-133deddfce94 DEVICE=eno33554984 ONBOOT=yes TEAM_MASTER=team0 DEVICETYPE=TeamPort [root@linux~]#cat/etc/sysconfig/network-scripts/ifcfg-test-2 NAME=test-2 UUID=116ef596-d983-456c-a6ae-a74a4f8c03dc DEVICE=eno50332208 ONBOOT=yes TEAM_MASTER=team0 DEVICETYPE=TeamPort 查看网络组状态: [root@linux~]#teamdctlteam0stat setup: runner:activebackup runner: activeport: 发现port端口均没有开启 开启port端口 [root@linux~]#nmcliconuptest-1 Connectionsuccessfullyactivated(D-Busactivepath:/org/freedesktop/NetworkManager/ActiveConnection/5) [root@linux~]#nmcliconuptest-2 Connectionsuccessfullyactivated(D-Busactivepath:/org/freedesktop/NetworkManager/ActiveConnection/7) [root@linux~]#teamdctlteam0stat setup: runner:activebackup ports: eno33554984 linkwatches: linksummary:up instance[link_watch_0]: name:ethtool link:up downcount:0 eno50332208 linkwatches: linksummary:up instance[link_watch_0]: name:ethtool link:up downcount:0 runner: activeport:eno33554984 可以看到端口开启成功 [root@linux~]#ping-Iteam010.1.70.172 PING10.1.70.172(10.1.70.172)from10.1.70.24team0:56(84)bytesofdata. 64bytesfrom10.1.70.172:icmp_seq=1ttl=64time=0.500ms 64bytesfrom10.1.70.172:icmp_seq=2ttl=64time=0.804ms ^C ---10.1.70.172pingstatistics--- 2packetstransmitted,2received,0%packetloss,time1001ms rttmin/avg/max/mdev=0.500/0.652/0.804/0.152ms [root@linux~]# 配置成功,可以看到当前活动的是eno33554984,测试禁用后能否成功 [root@linux~]#nmclidevicedisconnecteno33554984 Device'eno33554984'successfullydisconnected. [root@linux~]#ping-Iteam010.1.70.172 PING10.1.70.172(10.1.70.172)from10.1.70.24team0:56(84)bytesofdata. 测试不成功,通过查找资料了解到当使用activebackup的runner时,必须加上一个参数 [root@linux~]#nmcliconmodifytestteam.config'{"runner":{"name":"activebackup","hwaddr_policy":"by_active"}}' [root@linux~]#cat/etc/sysconfig/network-scripts/ifcfg-test DEVICE=team0 TEAM_CONFIG="{\"runner\":{\"name\":\"activebackup\",\"hwaddr_policy\":\"by_active\"}}" DEVICETYPE=Team BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no NAME=test UUID=5a3bfb26-993f-45ad-add6-246ff419e7bd ONBOOT=yes IPADDR=10.1.70.24 PREFIX=16 IPV6_PEERDNS=yes IPV6_PEERROUTES=yes 详情参考:http://183530300.blog.51cto.com/894387/1851388

优秀的个人博客,低调大师

记一次CentOS7内核kernel的删除重装

人生在于折腾,学习Linux更要多多折腾。在一次折腾中吸取教训,更易于记忆。 今天我们来折腾Linux的内核:删除系统内核后,通过光盘进行kernel的重安装。 友情提示:请在虚拟机环境进行,折腾前务必做好系统快照。慎重! 环境 本次系统环境是如下图: 删除 我们先到/boot目录下,强制删除kernel文件: 重启PC,此时系统报错找不到内核文件,无法登录系统。 恢复 由于系统已无法启动,我们需要CentOS光盘进入救援模式,进行恢复操作,具体步骤: 1. 光盘启动系统 关闭虚拟机,在虚拟机设置里,设置ISO映像文件。 设置开机进入BIOS,以方便我们修改first boot 设置光盘启动,(方向键将光标移动熬CD-ROM Drive,用“-”“+”键实现选项移动,完成修改后,按F10保存,并开机) 2. 进入救援模式 此时,我们开机已经能启动ISO的界面了,选择Troubleshooting 选择进入救援模式: 选择继续: 按Enter键进入shell命令行: 3. 救援模式命令行重装kernel 这里我们需要注意的是: 此时我们进入的是光盘加载到内存的系统,此时的文件系统,是光盘映像加载的。 而我们需要恢复的是安装在硬盘里的CentOS系统,因此,我们要先命令df查看当前磁盘分区空间: 这时,我们可以看到光盘路径是 /run/install/repo 需要恢复的CentOS路径是 /mnt/sysp_w_picpath 我们需要的操作就是从光盘里调出rpm包,进行安装:(注意:需要指定安装路径 --root=/mnt/sysp_w_picpath) sh-4.2#rpm-ivh/run/install/repo/Packages/kernel-3.10.0-327.el7.x86_64.rpm--root=/mnt/sysp_w_picpath/ 读条完成,当命令行提示符出现后,表示我们已经安装完成,就可以重启PC了:(需要BIOS修改取消光盘,恢复硬盘启动) 看到了熟悉的界面,瞬间成就感+1。 总结 通过本例,为我们在内核遭到破坏时候,提供了重装恢复的方法,值得注意的是,当我们进入挂载模式时候,要考虑当前文件系统和需恢复的系统的区别,rpm安装kernel时,要进行安装路径的指定(--root选项。)

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。