1 安装mysql:
获取 mysql 包:(官网: www.mysql.com)
mysql-5.7.24-1.el7.x86_64.rpm-bundle.tar
解压:
tar xf mysql-5.7.24-1.el7.x86_64.rpm-bundle.tar
安装需要的包:
yum install mysql-community-client-5.7.24-1.el7.x86_64.rpm
mysql-community-common-5.7.24-1.el7.x86_64.rpm
mysql-community-libs-5.7.24-1.el7.x86_64.rpm
mysql-community-libs-compat-5.7.24-1.el7.x86_64.rpm
mysql-community-server-5.7.24-1.el7.x86_64.rpm
启动 mysqld 服务:
systemctl start mysqld
进入日志找到临时密码:
cat /var/log/mysqld.log | grep password
启动mysql的安全脚本修改密码:
mysql_secure_installation
旧密码:3y.annbQ)kud
新密码:八位数以上(包含大小写字母,特殊符号,数字)
Change the password for root ? N
Remove anonymous users? y
Disallow root login remotely? y
Remove test database and access to it? y
mysql服务已经安装完成, 登陆mysql
mysql -p
2 虚拟机配置 mysql
更改虚拟机内存:1024M
重启虚拟机,按 “E” 进入 编辑 , 更改 "ro" ==> "rw rd.break" 按 ctrl + x
进入虚拟机: chroot /sysroot/
进入 vim /etc/rc.local : 将启动脚本删除
更改启动项 : 图形化界面 ==> 命令框模式 :systemctl set-default multi-user.target
重启,配置 ip addr 配置
更改hostname: hostnamectl set-hostname serverxxx
vim /etc/hosts:
ip serverxxx
重启虚拟机,再按照 1 中的方法安装 mysql
3 mysql主从复制:(开启两台虚拟机 server1,server2)
(master)配置主机 server1(192.168.122.70):
配置 server1 的 /etc/my.cnf
在最后插入:
log-bin=mysql-bin // 激活mysql的二进制日志
server_id=1
gtid_mode=ON
enforce-gtid-consistency=true
重启 mysql 服务:
systemctl restart mysqld
登入数据库授权:
查看主机的状态
show master status;
给主机授权:
grant replication slave on *.* to 用户名@'同一网段' identified by '用户密码'
grant replication slave on *.* to chen@192.168.122.%' identified by 'Chen+666'
(slave) 配置从机server2(192.168.122.79):
用刚在主机创建的用户登陆mysql:
mysql -u 用户名 -p -h 主机ip
进入server2的 /etc/my.cnf
在最后插入:
server_id=2
gtid_mode=ON
enforce-gtid-consistency=true
重启mysql服务:
systemctl restart mysqld
查看从机的状态:
show slave status;
将主机授给从机:
change maste to master_host='主机ip',
master_user='用户名',
master_password='用户名密码'
master_auto_position=1;
开启从机:
start slave;
查看从机状态:
show slave status\G;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
主从复制的实现:
在主机上创建一个test库:
在从机上查询:不要在从机上进行修改,否则会造成主从数据不一致的现象
4 主从复制原理:
主从同步一般使用在多台服务器上读写分离的数据库架构。为了提交数据库的效率,其实现的原理如下如所示:
分别配置了主从服务器后,主从服务器的同步流程如下:
1:从服务器 向 主服务器发送同步请求,创建一个I/O的连接
2:主服务器 将数据库的改变以事件的形式生成到binary-log中
3:binlog dump线程从I/O中传递数据到 从服务器 的relay sql log
4:从服务器 的sql线程将日志生成sql,并执行这些生成的sql语句
5 安装redis:
在官网获取redis 的安装包
redis-4.0.8.tar.gz
解压:
tar zxf redis-4.0.8.tar.gz
进入 cd /redis-4.0.8
若没安装,先安装gcc
yum install gcc
在这个目录下:/root/redis-4.0.8
make
make install
进入 cd /root/redis-4.0.8/utils
启动脚本:
./install_server.sh
查看监听端口6379:
netstat -antlp
修改端口配置文件:
vim /etc/redis/6379.conf
将 bind: 127.0.0.1(回环测试) 修改为 bind: 0.0.0.0(监听本机)
重启 redis:
/etc/init.d/redis_6379 restart
进入redis 客户端:
/root/redis-4.0.8/utils
redis-cli
6 redis的主从复制:(从机只能读)
进入 /etc/redis/6379.conf
搜索 slaveof
加入 slaveof (master)主机ip 6379
重启redis:
/etc/init.d/redis_6379 restart
主机:
从机:
从机不能进行修改,只能 readonly
7.安装idea
官网地址为:https://www.jetbrains.com/idea/ 获取idea的tar包
解压到 /usr/local/目录下:
作一个软连接:
ln -s idea-IC-183.4886.37/ idea
进入 bin/ 目录下启动 idea:
./idea.sh
安装完成之后(快捷方式):
选择之前安装好的 jdk,就可以像在为windows上使用idea了 :
8 搭建一个基本的Hadoop环境:
官方文档:
https://hadoop.apache.org/docs/r3.0.3/hadoop-project-dist/hadoop-common/SingleCluster.html
在官网获取 hadoop 的安装包
解压:
tar zxf hadoop-3.0.3.tar.gz
作一个软连接:
ln -s hadoop-3.0.3/ hadoop
进入 etc/hadoop 目录:
hadoop-env.sh 配置 JAVA_HOME 环境变量
配置hadoop的环境变量:
进入 hadoop/bin,就可以运行hadoop了:
测试:
1:过滤input目录中所有 符合过滤规则 的数据并存入ouput目录中
结果:
2:计算input目录中每个文件的单词数,并将结果输入output目录中
结果:
9:Hadoop伪分布式配置
Hadoop还可以在一个伪分布式模式的单个节点上运行,其中每个Hadoop守护进程在单独的Java进程中运行
进入 vim etc/hadoop/core-site.xml 文件配置:
进入 vim etc/hadoop/hdfs-site.xml 文件配置:
检查是否可以在不使用密码短语的情况下对本地主机进行ssh:
若不能,则执行下列语句进行免密操作:
1) ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
2) cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3) chmod 0600 ~/.ssh/authorized_keys
进入 /hadoop/bin 目录下 格式化文件系统:
hdfs namenode -format
进入 /hadoop/sbin 目录下 启动namenode守护进程和datanode守护进程:
此时hadoop伪分布式已经部署好了:访问 http://localhost:9870/
将输入文件(input)和输出文件(output)放到 伪分布式文件系统 中:
执行 jar 包
将 output 文件传到分布式文件系统中:
可在浏览器中访问到:
在idea中编写好一个程序,并将其打成 jar包: test.jar
将 jar包 复制到hadoop中:
运行该 jar包:
可在网页分布式文件管理系统中找到运行出来的结果:test.txt
即: 将idea编译好的jar包整合到Hadoop中!!!