[关闭]
@mrz1 2018-05-08T02:37:53.000000Z 字数 8352 阅读 869

Linux及常用工具配置

常用工具配置


身为码农,表示十分痛恨服务器上的各种乱七八糟配置,平时很少用到Linux命令,对Linux一直保持在学了就忘,忘了再学的死循环中,故做此笔记,可能以后翻看的机会也不多,毕竟总有用到的时候

PS:本文仅针对CentOS,使用其他发行版Linux请绕行,有补充的可以fork我

另外本文不包含安装部分,不会安装的请自行查阅


一、准备

操作系统
* CentOS
(本人使用的是7,推荐安装Minimal版,不使用系统自带工具,全部自己安装)

虚拟机软件(仅针对在Windows/Mac操作系统下学习CentOS,否则略过此项)
* VirtualBox
(推荐使用开源软件,并且本文仅针对此虚拟机)


二、系统篇

说明 命令
查看系统内核 uname -r
查看内核全部信息 uname -a
开启防火墙(仅针对CentOS 7) systemctl start firewalld.service
关闭防火墙(仅针对CentOS 7,用虚拟机练习推荐关闭) systemctl stop firewalld.service

三、网络篇

  1. ip addr
  1. vi /etc/sysconfig/network-scripts/ifcfg-eth0
  1. service network restart

四、通讯篇

默认情况下宿主机是不能访问virtualbox内部的,所以要做如下操作


* 查看ip段,通常是192.168.56.*,不必修改,记住即可


* 修改虚拟机网络设置,添加网卡2,连接方式选择仅主机(Host-Only)适配器,保存


* 在虚拟机内使用ip addr重新查看,记住新网卡的ip段,必须和VirtualBox Host-Only Network的IP段一致,如果一致,在宿主机访问虚拟机,查看是否能ping通
* 检查vsftpd软件是否安装,默认没有安装,无法远程连接该系统

  1. rpm -qa|grep vsftpd
  1. yum -y install vsftpd
  1. service vsftpd start

五、基本工具

  1. yum update
  1. yum -y install vim
  1. yum -y install gcc-c++
  1. yum -y install zlib
  1. yum -y install wget
  1. yum -y install pcre
  1. yum -y install openssl
  1. yum -y install make

六、环境变量

linux的环境变量分多个,级别不同

系统级环境变量
1. /etc/profile
2. /etc/environment

用户级环境变量
1. ~/.profile
2. ~/.bashrc

修改后立即生效

  1. source 环境变量

七、软件篇

推荐用wget [url]命令下载,也可用ftp上传,无需安装的推荐放到/usr/lib/路径下

Jdk

无需安装,直接解压缩后配置环境变量既可用

以jdk7为例,修改环境变量,在末尾添加以下几行(配置完毕后不要忘记使用source令环境变量生效)

  1. export JAVA_HOME=/usr/lib/jvm/jdk7 (jdk解压路径)
  2. export JRE_HOME=${JAVA_HOME}/jre
  3. export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
  4. export PATH=$PATH:${JAVA_HOME}/bin

Scala

无需安装,直接解压缩后配置环境变量既可用,但需要先安装Jdk

以scala-2.11为例,修改环境变量,在末尾添加以下几行(配置完毕后不要忘记使用source令环境变量生效)

  1. export SCALA_HOME=/usr/lib/scala/scala-2.11 (scala类库解压路径)
  2. export PATH=$PATH:${SCALA_HOME}/bin

Tomcat

无需安装,直接解压缩后配置环境变量既可用,但需要先安装Jdk

以Tomcat8.0.35为例修改环境变量,在末尾添加一行(配置完毕后不要忘记使用source令环境变量生效)

  1. export TOMCAT_HOME=/usr/local/tomcat-8.0.35 (Tomcat解压路径)

配置虚拟内存,在#!/bin/sh下面添加

  1. JAVA_OPTS='-Xms256m (初始化堆内存)
  2. -Xmx512m (最大堆内存)
  3. -XX:PermSize=256m (初始化持久代,JDK8已取消)
  4. -XX:MaxPermSize=512m (最大持久代,JDK8已取消)'

Nginx

安装

Minimal版没有依赖项源码,需要先下载pcre/openssl/zlib的源码再安装(不是安装后的,install文件夹里都有),安装包推荐放到/usr/src/路径下

解压安装包后,执行configure文件,如果不能执行,先用chmod赋权,并追加参数

  1. ./configure \
  2. --prefix=/usr/local/nginx-1.11.0 (安装路径) \
  3. --with-http_ssl_module (支持https) \
  4. --with-http_stub_status_module (支持状态监控) \
  5. --with-pcre=/usr/src/pcre (pcre源码路径)
  6. --with-openssl=/usr/src/openssl (openssl源码路径)
  7. --with-zlib=/usr/src/zlib (zlib源码路径)

成功后依次执行

  1. make
  2. make install

启动nginx服务器

  1. /usr/local/nginx-1.11.0/sbin/nginx

停止nginx服务器

  1. /usr/local/nginx-1.11.0/sbin/nginx -s stop

重新加载配置

  1. /usr/local/nginx-1.11.0/sbin/nginx -s reload
基础配置

主配置文件:conf/nginx.conf

  1. worker_processes 1; #nginx进程数,建议设置为CPU总核心数
  2. events {
  3. worker_connections 1024; #单个进程最大连接数,nginx最大连接数=进程数*单进程最大连接数
  4. }
  5. http {
  6. include mime.types;
  7. default_type application/octet-stream;
  8. sendfile on;
  9. keepalive_timeout 65; #超时时间,单位为秒
  10. server { #代理服务器数量,可以配置多个
  11. listen 80; #监听端口
  12. server_name localhost; #服务器域名
  13. charset utf-8; #字符集
  14. location / {
  15. proxy_pass http://proxy.com; #反向代理名称,用于匹配集群
  16. proxy_redirect default;
  17. }
  18. error_page 500 502 503 504 /50x.html; #错误码对应转向
  19. location = /50x.html {
  20. root html;
  21. }
  22. }
  23. upstream proxy.com { #这里匹配反向代理名称
  24. server 192.168.56.1:9000 weight=1; #真实项目地址以及权重
  25. server 192.168.56.101:9000 weight=1; #权重数字越大被分配到的几率就越高
  26. }
  27. }

MySQL

从个人角度来说,本人不推荐使用MySQL数据库,可以的话尽量使用MariaDB,个中缘由自行Google,如果一定要使用MySQL,请看如下配置

安装

在CentOS 7中,系统默认安装了MariaDB,需要先进行卸载,首先使用下面命令查看已安装的MariaDB相关软件

  1. rpm -qa|grep mariadb

使用以下命令卸载

  1. rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64

Minimal版本也没有libaio,需要安装

  1. yum -y install libaio

以及net-tools

  1. yum -y install net-tools

Linux下的MySQL分为源码安装和rpm安装,因为源码安装需要具备所有依赖项的源码,所以强烈不推荐使用源码安装,在官网下载rpm整合包就好,这里以mysql-5.7.12为例,下载后解压,不需要全部安装,依次安装如下安装包即可,顺序不可颠倒

  1. rpm -ivh mysql-community-common-5.7.12-1.el7.x86_64.rpm
  2. rpm -ivh mysql-community-libs-5.7.12-1.el7.x86_64.rpm
  3. rpm -ivh mysql-community-client-5.7.12-1.el7.x86_64.rpm
  4. rpm -ivh mysql-community-server-5.7.12-1.el7.x86_64.rpm

安装完毕,先不要启动MySQL

配置

修改配置文件

  1. vim /etc/my.cnf

在[mysqld]下面添加一行

  1. skip-grant-tables

保存后启动MySQL

  1. service mysqld start

此时可用空密码直接进入MySQL

  1. mysql -uroot -p

切换到mysql库并修改密码,MySQL5.7版本的密码字段是authentication_string,低版本是password

  1. use mysql
  2. update user set authentication_string=password('123456') where user='root';

退出后停止数据库,将/etc/my.cnf里的修改删除后重新启动数据库,配置完毕


MariaDB

安装

MariaDB是CentOS推荐的数据库,安装只需要一行命令即可

  1. yum -y install mariadb mariadb-server

设置为开机自启动

  1. systemctl enable mariadb
配置

安装完成后先启动MariaDB

  1. service mariadb start

运行配置向导

  1. mysql_secure_installation

PostgreSQL

安装

PostgreSQL也是CentOS推荐的数据库,安装同样只需要一行命令即可

  1. yum install postgresql*

初始化数据库

  1. postgresql-setup initdb

设置为开机自启动

  1. systemctl enable postgresql

配置

先启动PostgreSQL

  1. systemctl start postgresql

进入数据库

  1. su - postgres

创建角色

  1. createuser admin(用户名)

创建数据库实例

  1. createdb -e -O admin(用户名) testdb(实例名)

进入查询分析器

  1. psql

设置密码

  1. \password admin;(用户名,用分号结束)

退出查询分析器

  1. \q(不需要分号结束)

退出数据库

  1. exit

修改监听

  1. vim /var/lib/pgsql/data/postgresql.conf

将这句注释打开并修改

  1. listen_addresses = '*'

修改验证方式

  1. vim /var/lib/pgsql/data/pg_hba.conf

将如下内容修改或复制

  1. host all all 127.0.0.1/32(允许哪个IP访问,如果允许全部,则写成0.0.0.0/0 md5md5为密码验证)

重启数据库

  1. systemctl restart postgresql

使用密码登录数据库

  1. psql -U admin(用户名) -d testdb(数据库) -h 127.0.0.1(登录哪个IP

登录成功,配置完毕


Redis

解压后先进入redis目录,以3.2.0为例

  1. cd redis-2.8.17

然后make

  1. make

进入src目录

  1. cd src

运行redis-server启动redis服务

  1. ./redis-server

但是这样启动后不会返回命令行,所以在命令后加&,启动redis后返回命令行

  1. ./redis-server &

Hadoop

无需安装,直接解压缩后修改配置文件既可用,但需要先安装Jdk

不配私钥只能玩单机版,就个人学习而言,单机版已经足够

以hadoop-2.7.2为例,解压后进入hadoop路径,创建4个文件夹

  1. mkdir tmp
  2. mkdir hdfs
  3. mkdir hdfs/data
  4. mkdir hdfs/name

配置环境变量,在末尾添加以下几行(配置完毕后不要忘记使用source令环境变量生效)

  1. export HADOOP_HOME=/root/download/hadoop-2.7.2
  2. export PATH=$PATH:${HADOOP_HOME}/bin

hadoop不能以IP访问,要修改主机名和host映射,主机名修改(仅针对CentOS 7)

  1. hostnamectl set-hostname 主机名

修改host映射文件

  1. vim /etc/hosts

修改core-site.xml,注意这里是相对路径

  1. vim etc/hadoop/core-site.xml

在configuration标签中添加

  1. <property>
  2. <name>fs.defaultFS</name>
  3. <value>hdfs://hadoop:9000</value>
  4. <!-- value的含义为hdfs://主机名:端口号 -->
  5. </property>
  6. <property>
  7. <name>hadoop.tmp.dir</name>
  8. <value>file:/root/download/hadoop-2.7.2/tmp</value>
  9. <!-- 这里要用绝对路径 -->
  10. </property>
  11. <property>
  12. <name>io.file.buffer.size</name>
  13. <value>131702</value>
  14. </property>

修改hdfs-site.xml,相对路径

  1. vim etc/hadoop/hdfs-site.xml

同样在configuration标签中添加

  1. <property>
  2. <name>dfs.namenode.name.dir</name>
  3. <value>file:/root/download/hadoop-2.7.1/hdfs/data</value>
  4. <!-- 修改绝对路径 -->
  5. </property>
  6. <property>
  7. <name>dfs.datanode.data.dir</name>
  8. <value>file:/root/download/hadoop-2.7.1/fdfs/data</value>
  9. <!-- 修改绝对路径 -->
  10. </property>
  11. <property>
  12. <name>dfs.replication</name>
  13. <value>2</value>
  14. </property>
  15. <property>
  16. <name>dfs.namenode.secondary.http-address</name>
  17. <value>hadoop:9001</value>
  18. <!-- 这里别忘了修改 -->
  19. </property>
  20. <property>
  21. <name>dfs.webhdfs.enabled</name>
  22. <value>true</value>
  23. </property>

重命名模板

  1. mv etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site

修改mapred-site.xml

  1. vim etc/hadoop/mapred-site.xml

同样在configuration标签中添加

  1. <property>
  2. <name>mapreduce.framework.name</name>
  3. <value>yarn</value>
  4. </property>
  5. <property>
  6. <name>mapreduce.jobhistory.address</name>
  7. <value>hadoop:10020</value>
  8. <!-- 这里别忘了修改 -->
  9. </property>
  10. <property>
  11. <name>mapreduce.jobhistory.webapp.address</name>
  12. <value>hadoop:19888</value>
  13. <!-- 这里别忘了修改 -->
  14. </property>

修改yarn-site.xml,相对路径

  1. vim etc/hadoop/yarn-site.xml

同样在configuration标签中添加

  1. <property>
  2. <name>yarn.nodemanager.aux-services</name>
  3. <value>mapreduce_shuffle</value>
  4. </property>
  5. <property>
  6. <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
  7. <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  8. </property>
  9. <property>
  10. <name>yarn.resourcemanager.address</name>
  11. <value>hadoop:8032</value>
  12. <!-- 这里别忘了修改 -->
  13. </property>
  14. <property>
  15. <name>yarn.resourcemanager.scheduler.address</name>
  16. <value>hadoop:8030</value>
  17. <!-- 这里别忘了修改 -->
  18. </property>
  19. <property>
  20. <name>yarn.resourcemanager.resource-tracker.address</name>
  21. <value>hadoop:8031</value>
  22. <!-- 这里别忘了修改 -->
  23. </property>
  24. <property>
  25. <name>yarn.resourcemanager.admin.address</name>
  26. <value>hadoop:8033</value>
  27. <!-- 这里别忘了修改 -->
  28. </property>
  29. <property>
  30. <name>yarn.resourcemanager.webapp.address</name>
  31. <value>hadoop:8088</value>
  32. <!-- 这里别忘了修改 -->
  33. </property>
  34. <property>
  35. <name>yarn.nodemanager.resource.memory-mb</name>
  36. <value>768</value>
  37. </property>

修改hadoop-env.sh,相对路径

  1. vim etc/hadoop/hadoop-env.sh

修改JAVA_HOME,这里比较操蛋,配置环境变量也没有用

  1. export JAVA_HOME=/usr/lib/jvm/jdk7

修改slaves,配置从服务器,相对路径

  1. vim etc/hadoop/slaves

格式为每行一个,如下,再次强调,不配私钥只能玩单机版

  1. hadoop
  2. cluster01
  3. cluster02

配置成功后,将hadoop复制到各个从服务器上,并在主服务器进行初始化

  1. hadoop namenode -format

启动hadoop集群

  1. sh sbin/start-all.sh

停止hadoop集群

  1. sh sbin/stop-all.sh

在浏览器输入http://主服务器IP:8088查看集群信息


Docker

安装

CentOS内置Docker,安装只需要一行命令即可

  1. yum -y install docker

设置为开机自启动

  1. systemctl enable docker.service

Docker安装完毕,有时间会补上Docker的用法

未完待续

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注