1.1 windows系统确认所有的关于VmWare的服务都已经启动
1.2 确认好VmWare生成的网关地址
1.3 确认VmNet8网卡已经配置好了IP地址和DNS
2.1 将虚拟机文件夹复制三份,并分别重命名, 并使用VM打开重命名
3:启动虚拟机并修改Mac和IP
IP | 主机名 | 环境配置 | 安装 |
---|---|---|---|
192.168.69.101 | CDH1 | 关防火墙和selinux, host映射, 时钟同步 | JDK, NameNode, ResourceManager, Zookeeper |
192.168.69.102 | CDH2 | 关防火墙和selinux, host映射, 时钟同步 | JDK, DataNode, NodeManager, Zookeeper |
192.168.69.103 | CDH3 | 关防火墙和selinux, host映射, 时钟同步 | JDK, DataNode, NodeManager, Zookeeper |
配置静态ip
vi /etc/sysconfig/network-scripts/ifcfg-ens33 分别修改IPADDR=192.168.69.(101、102、103)
使用service network restart加载网络配置信息
使用xshell连接虚拟机修改主机名称分别为CDH1、CDH2、CDH3
vi /etc/hostname
reboot重启虚拟机
修改C:\Windows\System32\drivers\etc|host文件最下面添加ip地址映射进去如下图
vim /etc/hosts
关机重启linux系统即可进行联网了使用ping命令查看虚拟机是否能联网(例: ping www.baidu.com)
第二台第三台机器重复上述步骤,并设置IP网址为192.168.69.102,192.168.69.103
将ntp enabled 改为yes
timedatectl set-ntp yes
查看防火墙状态
firewall-cmd --state
停止firewall
systemctl stop firewalld.service
配置CDH1对CDH1、CDH2、CDH3三台服务器免密登录。
1)生成公钥和私钥:
[root@CDH1 .ssh]$ ssh-keygen -t rsa
然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
2)将公钥拷贝到要免密登录的目标机器上
[root@CDH1 .ssh]$ ssh-copy-id CDH1(输入yes和CDH1密码)
[root@CDH1 .ssh]$ ssh-copy-id CDH2
[root@CDH1 .ssh]$ ssh-copy-id CDH3
3)重复1和2的操作,配置CDH2和CDH3对CDH1、CDH2、CDH3三台服务器免密登录。
配置时间同步
yum install ntp
将ntp enabled 改为yes
timedatectl set-ntp yes
date查看时间
查看自带的openjdk
rpm -qa | grep java
卸载系统自带的openjdk
rpm -e java-1.6.0-openjdk-1.6.0.41-1.13.13.1.el6_8.x86_64 tzdata-java-2016j-1.el6.noarch java-1.7.0-openjdk-1.7.0.131-2.6.9.0.el6_8.x86_64 --nodeps
上传jdk并解压然后配置环境变量
所有软件的安装路径
mkdir -p /export/servers
所有软件压缩包的存放路径
mkdir -p /export/softwares
安装上传工具
yum -y install lrzsz
使用rz -E命令把jdk的压缩包上传到/expoort/softwores中。
解压
tar -zxvf jdk-8u141-linux-x64.tar.gz -C ../servers/
配置环境变量
vim /etc/profile
export JAVA_HOME=/export/servers/jdk1.8.0_141
export PATH=:$JAVA_HOME/bin
5、编写集群同步脚本(cd /bin) vi xsync
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi
#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname
#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#4 获取当前用户名称
user=`whoami`
#5 循环
for((CDH=1; host<4; host++)); do
echo ------------------- CDH$host --------------
rsync -av $pdir/$fname $user@CDH$host:$pdir
done
修改脚本 xsync 具有执行权限 chmod 777 xsync
6、在三台服务器端分别安装rsync yum -y install rsync
7、将CDH1 中的JDK和环境变量分发到CDH2、CDH3两台主机
xsync /export/service
xsync /etc/profile
修改完成之后记得 source /etc/profile生效(java-version查看版本)
yum install wget
wget http://mirrors.163.com/mysql/Downloads/MySQL-5.7/mysql-5.7.27-el7-x86_64.tar.gz
tar -zxvf mysql-5.7.27-el7-x86_64.tar.gz
mv mysql-5.7.27-el7-x86_64 mysql-5.7
vim /usr/local/src/mysql_install.sh
#!/bin/sh
REMOVE=`rpm -qa | grep -i mariadb-libs`
# 编译
yum remove $REMOVE -y
yum install libaio -y
yum -y install numactl.x86_64
DIRNAME='mysql-5.7'
# 下载
mv $DIRNAME mysql
mv mysql /usr/local/
useradd -s/sbin/nlogin -M mysql
id mysql
mkdir /usr/local/mysql/{data,log}
chown -R mysql.mysql /usr/local/mysql/
# 编辑my.cnf
cat << EOF > /etc/my.cnf
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
server_id=10
port = 3306
user = mysql
character-set-server = utf8mb4
default_storage_engine = innodb
log_timestamps = SYSTEM
socket = /tmp/mysql.sock
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data/
pid-file = /usr/local/mysql/data/mysql.pid
max_connections = 1000
max_connect_errors = 1000
table_open_cache = 1024
max_allowed_packet = 128M
open_files_limit = 65535
log-bin=mysql-bin
#####====================================[innodb]==============================
innodb_buffer_pool_size = 1024M
innodb_file_per_table = 1
innodb_write_io_threads = 4
innodb_read_io_threads = 4
innodb_purge_threads = 2
innodb_flush_log_at_trx_commit = 1
innodb_log_file_size = 512M
innodb_log_files_in_group = 2
innodb_log_buffer_size = 16M
innodb_max_dirty_pages_pct = 80
innodb_lock_wait_timeout = 30
innodb_data_file_path=ibdata1:1024M:autoextend
#####====================================[log]==============================
log_error = /usr/local/mysql/log/mysql-error.log
slow_query_log = 1
long_query_time = 1
slow_query_log_file = /usr/local/mysql/log/mysql-slow.log
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
EOF
# 初始化
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --innodb_undo_tablespaces=3 --explicit_defaults_for_timestamp
# 授权
chown -R mysql:mysql /usr/local/mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
cp /usr/local/mysql/bin/* /usr/local/sbin/
mkdir -p /etc/systemd/system/mysqld.service.d
cat << EOF > /etc/systemd/system/mysqld.service.d/mysqld.service
# systemctl启动脚本
[Service]
LimitNOFILE=max_open_files
PIDFile=/usr/local/mysql/data/mysql.pid
Nice=nice_level
LimitCore=core_file_limit
Environment="TZ=time_zone_setting"
EOF
systemctl daemon-reload
添加执行权限
chmod +x /usr/local/src/mysql_install.sh
执行
/usr/local/src/mysql_install.sh
2019-08-19T10:43:48.999107-00:00 1 [Note] A temporary password is generated for root@localhost: xhuEw4uG94_l
使用这个临时密码登录
mysql -uroot -p
修改root密码
mysql>set password =password(‘123456’);
服务器IP | 主机名 | myid的值 |
---|---|---|
192.168.69.101 | CDH1 | 1 |
192.168.69.102 | CDH2 | 2 |
192.168.69.103 | CDH3 | 3 |
第一步:下载zookeeeper的压缩包,下载网址如下
http://archive.apache.org/dist/zookeeper/
我们在这个网址下载我们使用的zk版本为3.4.9
下载完成之后,上传到我们的linux的/export/softwares路径下准备进行安装
第二步:解压
解压zookeeper的压缩包到/export/servers路径下去,然后准备进行安装
cd /export/software
tar -zxvf zookeeper-3.4.10.tar.gz -C ../servers/
第三步:修改配置文件
第一台机器修改配置文件
cd /export/servers/zookeeper-3.4.10/conf/
cp zoo_sample.cfg zoo.cfg
mkdir -p /export/servers/zookeeper-3.4.10/data/
vim zoo.cfg
dataDir=/export/servers/zookeeper-3.4.10/data
# 保留多少个快照
autopurge.snapRetainCount=3
# 日志多少小时清理一次
autopurge.purgeInterval=1
# 集群中服务器地址
server.1=CDH1:2888:3888
server.2=CDH2:2888:3888
server.3=CDH3:2888:3888
第四步:添加myid配置
在第一台机器的
/export/servers/zookeeper-3.4.10/zkdatas /这个路径下创建一个文件,文件名为myid ,文件内容为1
echo 1 > /export/servers/zookeeper-3.4.10/zkdatas/myid
第五步:安装包分发并修改myid的值
安装包分发到其他机器(xsync /export/servers)
第一台机器上面执行以下两个命令(或者)
scp -r /export/servers/zookeeper-3.4.10/ CDH2:/export/servers/
scp -r /export/servers/zookeeper-3.4.10/ CDH3:/export/servers/
第二台机器上修改myid的值为2
echo 2 > /export/servers/zookeeper-3.4.10/data/myid
a
第三台机器上修改myid的值为3
echo 3 > /export/servers/zookeeper-3.4.10/data/myid
第六步:三台机器启动zookeeper服务
三台机器启动zookeeper服务
这个命令三台机器都要执行
/export/servers/zookeeper-3.4.10/bin/zkServer.sh start
查看启动状态
/export/servers/zookeeper-3.4.10/bin/zkServer.sh status
上传hadoop-2.7.5.tar.gz到/export/software
解压 tar -zxvf hadoop-2.7.5.tar.gz -C /export/servers/
将配置文件拷贝到/export/servers/hadoop-2.7.5/etc/hadoop/
安装包的分发
第一台机器执行以下命令
第三步:配置hadoop的环境变量
三台机器都要进行配置hadoop的环境变量
三台机器执行以下命令
配置完成之后生效
第四步:启动集群
要启动 Hadoop 集群,需要启动 HDFS 和 YARN 两个模块。 注意: 首次启动 HDFS 时,必须对
其进行格式化操作。 本质上是一些清理和 准备工作,因为此时的 HDFS 在物理上还是不存在
的。
hdfs namenode -format 或者 hadoop namenode –format
准备启动
第一台机器执行以下命令
vim /etc/profile
export HADOOP_HOME=/export/servers/hadoop-2.7.5
export PATH=: H A D O O P H O M E / b i n : HADOOP_HOME/bin: HADOOPHOME/bin:HADOOP_HOME/sbin:$PATH
source /etc/profile
cd /export/servers/hadoop-2.7.5/
bin/hdfs namenode -format
sbin/start-dfs.sh
sbin/start-yarn.sh
sbin/mr-jobhistory-daemon.sh start historyserver
三个端口查看界面
http://CDH1:50070/explorer.html#/ 查看hdfs
http://CDH2:8088/cluster 查看yarn集群
http://CDH3:19888/jobhistory 查看历史完成的任务