前言java
由于后面要探索分布式相关的技术,所以我在腾讯云申请了一台免费试用的云服务器。后续会续费,支持云服务。拿到的云服务器,不少的的开发所须要的环境须要咱们本身去构建,所以,我在此稍微作一下分享。mysql
Linux服务器介绍linux
上图中是取到云服务器时,在根目录下最初始的目录。linux系统的目录是一个树状的目录结构。在此着重介绍几个目录。sql
①/bin:bin是binary的缩写,用于存储最常常使用的命令。数据库
②/boot:存放启动Linux时使用的一些核心文件,包括一些链接文件以及镜像文件。vim
③/dev:存放linux的外部设备,在Linux中访问设备的方式和访问文件的方式相同。服务器
④/etc:存放全部系统管理员所须要的配置文件和目录。session
⑤/home:用户的主目录,每个用户都有本身的目录,并且这个目录是以用户帐号命名的。socket
⑥/lost+found:这个目录通常为空,除非非法关机后,会存储一些文件。分布式
⑦/root:这个目录是系统管理员,也称做超级用户的主目录。
⑧/src:存放一些服务启动以后须要提取的一些文件。
⑨/usr:很是重要的一个目录,许多应用程序和文件都存放在这个目录下。
⑩/var:存放不断扩充的文件,好比日志文件等等。
JDK准备
1.将tar文件解压,同时复制到 /usr/local/java 目录下。
2.配置环境变量 vim /etv/profile ,在该文件下追加,source /etc/profile不须要重启系统,从新加载一下该文件便可。
export JAVA_HOME=/usr/local/java/jdk1.8.0_181 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
使用java -version验证一下是否配置正确。
MYSQL准备
1.安装部分包:yum -y install numactl libaio*
2. 下载tar文件
3.解压复制到/usr/local/mysql目录下
①首先将tar文件解压,tar -zxvf mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz.
②将mysql-5.6.41-linux-glibc2.12-x86_64这个目录包含目录下的全部文件复制到/user/local。而且新目录指定为mysql。cp -r mysql-5.6.41-linux-glibc2.12-x86_64 /usr/local/mysql。
4.添加系统mysql组和mysql用户
[root@localhost src]# groupadd mysql
[root@localhost src]# useradd -r -g mysql mysql
5.安装数据库
建立mysql数据和日志存放目录 [root@localhost src]# cd / [root@localhost /]# mkdir data [root@localhost /]# cd data [root@localhost data]# mkdir mysql [root@localhost data]# cd mysql [root@localhost mysql]# mkdir data [root@localhost mysql]# mkdir log [root@localhost mysql]# cd log [root@localhost log]# touch error.log [root@localhost log]# chown -R mysql:mysql /data/mysql/log [root@localhost log]# chown -R mysql:mysql /data/mysql/data 切到mysql安装目录 [root@localhost src]# cd /usr/local/mysql 修改当前目录拥有者为mysql用户 [root@localhost mysql]# chown -R mysql:mysql ./ 安装数据库 [root@localhost mysql]# ./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/data/mysql/data --user=mysql
在执行安装时出现了错误。此时咱们主要安装安装autoconf库。 命令:yum-y install autoconf (此包安装时会安装Data:Dumper模块)
FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:
Data::Dumper。
继续执行,无报错。
6.设置mysql开机自启动
将服务文件拷贝到init.d下,并重命名为mysqld [root@localhost mysql]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld 修改/etc/init.d/mysqld文件 [root@localhost mysql]# vi /etc/init.d/mysqld 设置basedir和datadir的路径,配置以下: basedir=/usr/local/mysql datadir=/usr/local/mysql/data 赋予可执行权限 [root@localhost mysql]# chmod +x /etc/init.d/mysqld 加入开机启动 [root@localhost mysql]# chkconfig --add mysqld
接下来须要安装修改/etc/my.cnf文件
[mysqld] user = mysql port = 3306 autocommit = 1 server_id = 20180827 character-set-server=utf8 lower_case_table_names=1 basedir = /usr/local/mysql datadir = /data/mysql/data socket = /tmp/mysql.sock pid-file = /data/mysql/data/mysqld.pid # connection settings # interactive_timeout=1800 wait_timeout=1800 max_connections =1000 # session memory settings # read_buffer_size=16M read_rnd_buffer_size=64M # log settings # log_error = /data/mysql/log/error.log slow_query_log_file = /data/mysql/log/slow.log log-bin=/data/mysql/log/mysql-bin expire_logs_days=7 slow_query_log = 1 long-query-time = 1 #慢查询时间 超过1秒则为慢查询 # innodb settings # innodb_log_buffer_size=64M innodb_sort_buffer_size=2M sort_buffer_size=64M thread_cache_size=80 # replication settings # master_info_repository = TABLE relay_log_info_repository = TABLE sync_binlog = 1 log_slave_updates binlog_format=row binlog_rows_query_log_events = 1 relay_log = relay.log relay_log_recovery = 1 slave_skip_errors = ddl_exist_errors slave-rows-search-algorithms = 'INDEX_SCAN,HASH_SCAN' replicate-ignore-db=mysql replicate-ignore-db=information_schema replicate-ignore-db=performance_schema replicate-ignore-db=test
7.启动服务而且初始化密码
启动mysql服务 [root@localhost mysql]# service mysqld start Starting MySQL.. SUCCESS! 配置环境变量(也能够用不配置环境变量,设置软连接) [root@localhost mysql]# vi /etc/profile 加入如下内容: PATH=/usr/local/mysql/bin:$PATH export PATH 使配置当即生效 [root@localhost mysql]# source /etc/profile 修改密码 [root@localhost mysql]# mysql Welcome to the MySQL monitor. Commands end with ; or /g. Your MySQL connection id is 1 Server version: 5.6.41-log MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '/h' for help. Type '/c' to clear the current input statement. mysql> set password for root@localhost = password('root'); Query OK, 0 rows affected (0.00 sec) mysql> grant all privileges on *.* to root@'%' identified by 'root'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) 从新登陆 mysql> exit Bye [root@localhost mysql]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or /g. Your MySQL connection id is 2 Server version: 5.6.41-log MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '/h' for help. Type '/c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.00 sec)
若是出现ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)的问题,代表密码设置不正确,可采起如下的方式修改密码,从新尝试链接。
1.关闭mysql
# service mysqld stop
2.屏蔽权限
# mysqld_safe --skip-grant-table
屏幕出现: Starting demo from .....
3.新开起一个终端输入
# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD('newpassword') where USER='root';
mysql> FLUSH PRIVILEGES;//记得要这句话,不然若是关闭先前的终端,又会出现原来的错误
mysql> \q
ZOOKEEPER准备
1.下载而且解压到/usr/local/zookeeper目录下
2.配置环境变量
% export ZOOKEEPER_INSTALL=/home/tom/zookeeper-x.y.z
% export PATH=$PATH:$ZOOKEEPER_INSTALL/bin
3.在运行Zookeepr前,应先创建配置文件,按惯例命名为zoo.cfg,并把它放在conf子目录下,也能够把它放在/etc/zookeeper下。
tickTime=2000(是Zookeeper独立的工做时间单元) dataDir=/Users/tom/zookeeper(存储数据的地址) clientPort=2181(2181是常常的选择,此处是关于用户和Zookeeper相连的地方)
4.独立模式配置
配置conf/zoo.conf文件 tickTime=2000 dataDir=/usr/zdatadir dataLogDir=/usr/zlogdir clientPort=2181 initLimit=5 syncLimit=2
5.启动zookeeper
bin/zkServer.sh start bin/zkCli.sh –server 127.0.0.1:2181