********************************************
#1、虚拟机安装和初始化配置
#初始化安装完成
1.1设置主机名
hostname 查看主机名
hostnamectl set-hostname HOSTNAME 设置主机名(single01)
1、2编辑主机名和IP地址映射
vi /etc/hosts
#**********************************************
192.168.43.150 kb16_master01
主机名:single_kb16 用户名:root 密码:root 另一个 heney; heney;
#***********************************************
1/3网络配置
# :%s/"//g 去空格
vi /etc/sysconfig/network-scripts/ifcfg-ens33
#*************************************************************
#改
BOOTPROTO=“dhcp”=>"static"
onBOOT="no" =>"yes"
#增
IPADDR="192.168.43.150"
GATEWAY="192.168.43.2"
NETMASK="255.255.255.0"
DNS1="8.8.8.8"
DNS2="114.114.114.114"
1、4关闭禁用防火墙
systemctl stop firewalld
systemctl disable firewalld
1、5关闭禁用网络管理服务
systemctl stop NetworkManager
systemctl disable NetworkManager
1、6重启网络服务
systemctl restart network
1、7内外网测试
Centos: ping www.baidu.com
WinDos: ping 192.168.43.150
#2、配置Win客户端连接 MobaXterm
#3简单优化
#1
[root@master01 ~]# vi /etc/selinux/config
#修改 关闭验证
SELINUX=enforcing =>SELINUX=disabled
#2
[root@master01 ~]# iptables -F
setenforce 0 影响速度,、关闭
#3
vi /etc/ssh/sshd_config
#修改
UseDNS no 去掉注释#,修改no;关闭,影响速度
#UseDNS yes =>UseDNS no
#重启ssh协议
systemctl restart sshd
#4本地镜像挂载
#minimal restart sshd
#常用命令本地化安装
确保虚拟机设置中找到CD/DVD,勾选已连接,启动时连接
mount /dev/sr0 /mnt
#yum仓库设置
cd /etc/yum.repos.d
mkdir bak
ls
mv *.repo bak/
ls
pwd
cd /etc/yum.repos.d
#配置/etc/yum.repos.d
vi /etc/yum.repos.d/base.repo
#---------------------------------
[local]
name=local
baseurl=file:///mnt
gpgchecked=0
enabled=1
#----------------------------------
基础命令安装
#cd /etc/yum.repos.d
yum -y install wget
用不了,
用(rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7),在加载
yum -y install wget
yum -y install net-tools
yum -y install lrzsz
#5、远程镜像配置
#设置华为yum仓库
#远程拉取华为云的镜像配置
wget -o CentOS-base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
ls 查看当前目录列表
#----------------------------------------------------------------
#bak base.repo CentOS-7-reg.repo [内容] CentOS-base.repo[名字]##
#----------------------------------------------------------------
#重命名
rm -f CentOS-base.repo
mv CentOS-7-reg.repo CentOS-base.repo
#[root@master01 yum.repos.d]# cat CentOS-base.repo 查看华为云路径
#激活并更新yum库
yum makecache
yum -y update
#6、免密设置
cd ~
ssh-keygen -t rsa -身份验证密钥的生成,管理和转换
ls -la
#-------------
#.ssh####
#---------------------------
ls .ssh/
#--------------------------------
#id_rsa[私钥] id_rsa.pub[公钥]##
#--------------------------------
#本机免密
cat .ssh/id_rsa.pub >> .ssh/authorized_keys
ssh root@single01
ls .ssh/
#----------------------------------------------------------------
#authorized_keys id_rsa[私钥] id_rsa.pub[公钥] known_hosts
#----------------------------------------------------------------
系统软件安装
rpm -qa|grep vim
yum -y remove vim-common-7.4.629-8.el7_9.x86_64
yum -y remove vim-enhanced-7.4.629-8.el7_9.x86_64
yum -y remove vim-filesystem-7.4.629-8.el7_9.x86_64
yum search vim
yum -y install vim
yum -y install vim-minimal.x86_64 : A minimal version of the VIM editor
#在/opt/目录下创建download和software目录
cd /opt/
ls
mkdir download software
#把压缩包拖进download目录下
[root@master01 opt]# cd download/
jdk、scala、
flume、hive、zookeeper、hadoop、lzo、hbase、kafka、spark、sqoop、zeppelin
#安装vim
[root@master01 ~]# yum -y install vim
#---------------------------------------------------------
rpm -qa|grep vim
-------------------------------------------------
yum -y remove vim-common-7.4.629-8.el7_9.x86_64
yum -y remove vim-enhanced-7.4.629-8.el7_9.x86_64
yum -y remove vim-filesystem-7.4.629-8.el7_9.x86_64
yum search vim
yum -y install vim
yum -y install vim-minimal.x86_64 : A minimal version of the VIM editor
#--------------------------------------------------------------------------------
#编辑集群主机名和IP地址映射
#[root@master01 hadoop]# cat /etc/hosts
[root@master01 ~]# vim /etc/hosts
#--------------------------------------------------
192.168.43.150 master01
192.168.43.151 master02
192.168.43.160 worker01
192.168.43.161 worker02
#--------------------------------------------------------------
###############################
### 安装jdk和配置环境变量 ####
###############################
# 安装jdk
[root@master01 ~]# cd /opt/download/
[root@master01 download]# tar -zxvf jdk-8u171-linux-x64.tar.gz -C /opt/software/
[root@master01 download]# cd ../software/
#编辑环境变量
[root@master01 software]# mv jdk1.8.0_171/ jdk1.8.0
[root@master01 software]# vim /etc/profile.d/my.sh
[root@master01 software]# cd jdk1.8.0/
[root@master01 jdk1.8.0]# pwd
/opt/software/jdk1.8.0
[root@master01 jdk1.8.0]# vim /etc/profile.d/my.sh
#---------------------------------------------------------------------
#jdk1.8.0
export JAVA_HOME=/opt/software/jdk1.8.0
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#-------------------------------------------------------------------
###############################
### 安装scala和配置环境变量 ##
###############################
[root@master01 download]# tar -zxvf scala-2.12.10.tgz -C /opt/software/
[root@master01 jdk1.8.0]# vim /etc/profile.d/my.sh
#----------------------------------------------------------------
#jdk 1.8.0
export JAVA_HOME=/opt/software/jdk1.8.0
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#scala 2.12.10
export SCALA_HOME=/opt/software/scala-2.12.10
export PATH=$SCALA_HOME/bin:$PATH
#------------------------------------------------------------------
[root@master01 scala-2.12.10]# source /etc/profile
[root@master01 scala-2.12.10]# java -version
[root@master01 scala-2.12.10]# scala -version
Scala code runner version 2.12.10 -- Copyright 2002-2019, LAMP/EPFL and Lightbend,Inc.
[root@master01 scala-2.12.10]#
#######################
#mysql 5.6.51 安装配置#
#######################
#删除默认mysql低版本数据库
[root@master01 jdk1.8.0]# rpm -qa|grep mariadb
mariadb-libs-5.5.68-1.el7.x86_64
[root@master01 jdk1.8.0]# yum -y remove mariadb-libs-5.5.68-1.el7.x86_64
cd ../../download
[root@master01 download]#下载并rmp安装mysql
[root@master01 download]wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
#备用wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
#安装mysql服务
在jdk下安装
[root@master01 jdk1.8.0]# yum -y install mysql-server
#配置
vi /etc/my.cnf
#-------------------------------------------------------
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-client-handshake=FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
查看【开启】服务状态
systemctl status mysqld
systemctl start mysqld
#登录授权
#获取临时密码
grep 'temporary passowrd' /var/log/mysqld.log
#如果能获取到,则用临时密码登录
mysql -u root -pTEMP PASS
#否则尝试mysql回车,看是否可以直接登录
mysql
#登录设置或修改密码
grant all on *.* to root@localhost identified by 'ok';#本地登录
grant all on *.* to root@'%' identified by 'ok';#远程连接
flush privileges;
#执行SQL文件
mysql-u root -p
#解压 zookeeper、hadoop
[root@master01 download]# tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz -C /opt/software/
[root@master01 download]# tar -zxvf hadoop-3.1.3.tar.gz -C /opt/software/
#改名zookeepe 在software下
[root@master01 software]# mv apache-zookeeper-3.6.3-bin/ zookeeper-3.6.3
#添加zookeeper和hadoop环境变量 为了配置环境变量而查看路径
[root@master01 hadoop-3.1.3]# pwd
[root@master01 zookeeper-3.6.3]# pwd
[root@master01 ~]# vim /etc/profile.d/my.sh
#------------------------------------------------------------
# jdk 1.8.0
export JAVA_HOME=/opt/software/jdk1.8.0
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# scala 2.12.10
export SCALA_HOME=/opt/software/scala-2.12.10
export PATH=$SCALA_HOME/bin:$PATH
# zookeeper 3.6.3
export ZOOKEEPER_HOME=/opt/software/zookeeper-3.6.3
export PATH=$ZOOKEEPER_HOME/bin:$PATH
# hadoop 3.1.3
export HADOOP_HOME=/opt/software/hadoop-3.1.3
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export HDFS_JOURNALNODE_USER=root
export HDFS_ZKFC_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_LIBEXEC_DIR=$HADOOP_HOME/libexec
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
#----------------------------------------------------------------------
[root@master01 ~]# source /etc/profile
#创建服务器ID(后面克隆创建集群要修改myid)
#-------------------------------------------------
mkdir zookeeper-3.6.3/mydata
vim mydata/myid #取值1~255
#----------------------------------------------------------
[root@master01 ~]# cd /opt/software/zookeeper-3.6.3/
[root@master01 zookeeper-3.6.3]# mkdir mydata
[root@master01 zookeeper-3.6.3]# ls
bin conf docs lib LICENSE.txt mydata NOTICE.txt README.md README_packaging.md
[root@master01 zookeeper-3.6.3]# vim mydata/myid
#----------------------------------
1
#---------------------------------
#配置文件
#---------------------------------------------
mv conf/zoo_sample.cfg conf/zoo.cfg
vim conf/zoo.cfg
#---------------------------------------------
[root@master01 zookeeper-3.6.3]#
configuration.xsl log4j.properties zoo_sample.cfg
[root@master01 zookeeper-3.6.3]# mv conf/zoo_sample.cfg conf/zoo.cfg
[root@master01 zookeeper-3.6.3]# vim conf/zoo.cfg
#-------------------------------------------
dataDir=/opt/software/zookeeper-3.6.3/mydata/
server.1=master01:2888:3888
server.2=master02:2888:3888
server.3=worker01:2888:3888
server.4=worker02:2888:3888 (注意后面不能有空格)
#--------------------------------------------
#激活环境变量
[root@master01 zookeeper-3.6.3]# source /etc/profile
#hadoop 安装配置
#hadoop环境优化
#调整swap、内存分配、网络连接参数
[root@master01 ~]# vim /etc/sysctl.conf
#---------------------------------------------
#尽量避免使用swap,swap是硬盘交换,尽量走内存
vm.swappiness=0
#修改内存分配策略
vm.overcommit_memory=1
vm.overcommit_ratio=80
#----------------------------------------------
#激活
[root@master01 ~]# sysctl -p
#增加同时打开的文件和进程数
[root@master01 ~]# vim /etc/security/limits.conf
#-----------------------------------------------------
hadoop soft nofile 16384
hadoop hard nofile 65536
hadoop soft nproc 16384
hadoop hard nproc 65536
#--------------------------------------------------------
#修改文件系统类型:提速且读文件不会更新时间
#df -T 查看文件类型
#选用ext4文件系统,并且指定noatime
#mkfs.ext4 /dev/sda
#mount /dev/sda /mnt/ext4_sda -o noatime
#关闭THP(Transparent_Huge Pages:防止内存锁影响性能)
vim /etc/rc.local
#----------------------------------------------------------------------
touch /var/lock/subsys/local
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
#---------------------------------------------------------------------
# rpm -qf /sbin/fuser
#fuser 查看文件、目录或者socket所属进程的PID,由此知道该文件或目录被哪些进程所使用
#psmisc-22.20-17.el7.x86_64
#如果不存在
[root@master01 ~]# yum -y install psmisc
#################################
# HADOOP 3.1.3 single1 安装配置 #
#################################
cd /opt/download
ls =>hadoop-3.1.3.tar.gz
#解压到software文件夹里
tar -zxvf /opt/download/hadoop-3.1.3.tar.gz -C /opt/software/
cd /opt/software
###########################
#hadoop classpath 查看路径#
###########################
#重命名(可以不重命名)
mv hadoop-3.1.3/ hadoop313
cd hadoop313/
#修改权限
chown -R root:root /opt/software/hadoop313
#
chown -R root:root /opt/software/hadoop-3.1.3
#修改环境变量并激活
vim /etc/profile.d/my.sh
#----------------------------------------
# hadoop 3.1.3
export HADOOP_HOME=/opt/software/hadoop-3.1.3
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export HDFS_JOURNALNODE_USER=root
export HDFS_ZKFC_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_LIBEXEC_DIR=$HADOOP_HOME/libexec
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
#--------------------------------------------------------------------------
#创建数据临时目录
cd /opt/software/hadoop-3.1.3
mkdir mydata
#编辑workers 希望那个节点上有DataNode,就写那个节点
[root@master01 hadoop-3.1.3]# cd etc/hadoop/
workers
[root@master01 hadoop]# vim workers
master01
master02
worker01
worker02
#配置内部环境变量
#切换到hadoop配置以下文件
cd /opt/software/hadoop-3.1.3/etc/hadoop
[root@master01 hadoop]# echo $JAVA_HOME 查看路径
vim hadoop-env.sh
#-----------------------------------------------------------------
#修改 export JAVA_HOME=
export JAVA_HOME=/opt/software/jdk1.8.0
#(前面#号去掉,后面jdk8为自己software下安装的jdk名)
#-----------------------------------------------------------------
#配置核心配置文件
[root@master01 hadoop]# vim core-site.xml
[root@master01 hadoop]# vim hdfs-site.xml
[root@master01 hadoop]# vim mapred-site.xml
[root@master01 hadoop]# vim yarn-site.xml
[root@master01 hadoop]# vim workers
#--------------------------------------------------------------------------
[root@master01 hadoop]# vim core-site.xml
#-----------------------------------------------------------------------------------
#-------------------------------------------------------------------------------------
[root@master01 hadoop]# vim hdfs-site.xml #注意修改mydata、hadpoop-3.1.3
#-------------------------------------------------------------------------------------
#-----------------------------------------------------------------------------------------
[root@master01 hadoop]# vim mapred-site.xml #注意修改classpath、hadpoop-3.1.3
#-----------------------------------------------------------------------------------
#------------------------------------------------------------------------------------------------
[root@master01 hadoop]# vim yarn-site.xml
#----------------------------------------------------------------------------
#-----------------------------------------------------------------------------------
#关机克隆
创建完整克隆
更改硬件配置
设置 :内存 、处理器
#启动所有虚拟机
启动一个改一个,从worker02开始
改主机名,myid
本机免密,全部互相免密
#1.修改hostname(主机名)
hostnamectl set-hostname worker02
hostname
ctrl+d 重新登录
#2、修改ip地址
vi /etc/sysconfig/network-scripts/ifcfg-ens33
IPADDR=192.168.43.161
查看防火墙和网络管理服务状态
systemctl status firewalld
systemctl status NetworkManager
重启网络服务
systemctl restart network
内外网测一下
Centos: ping www.baidu.com
WinDos: ping 192.168.43.150
连接MobaXterm
#修改zookeeper的myid
vim /opt/software/zookeeper-3.6.3/mydata/myid master02: 1=》2
vim /opt/software/zookeeper-3.6.3/mydata/myid worker01: 1=》3
vim /opt/software/zookeeper-3.6.3/mydata/myid worker02: 1=》4
#修改master02、worker01/worker02的yarn-site.xml配置里的NodeManagerConfigs配置,把三个master01都修改掉
vim /opt/software/hadoop-3.1.3/etc/hadoop/yarn-site.xml
#--------------------------------------------------------------------
#------------------------------------------------------------------------
#免密设置
ls -la 没有.ssh
#联合四个虚拟机一起做
[root@master01 ~]# ssh-keygen -t rsa --#身份验证密钥的生成,管理和转换
ls -la =》生成.ssh 文件 drwx------ 2 root root 38 Jan 10 18:29 .ssh
#本机免密(四个机子一起做)
cat .ssh/id_rsa.pub >> .ssh/authorized_keys
ls .ssh/
cat .ssh/authorized_keys
#对本机免密(单机做。做四次)
[root@master01 ~]# ssh root@master01 ( 选yes,在ctrl+d 退出,在登录,不用密码,多一个known_hosts)
[root@master01 ~]# logout (Ctrl+d)
[root@master01 ~]# ssh root@master01
[root@master01 ~]# ls .ssh/
authorized_keys id_rsa id_rsa.pub known_hosts
[root@master01 ~]# cat .ssh/known_hosts
#对其他机子免密(每个机子对其他机子做三次)
[root@master01 ~]# ssh-copy-id -i .ssh/id_rsa.pub root@master02
#(yes,密码:root)(把公钥拷贝给master02,表示对master02免密,可以免密登录master02)
[root@master01 ~]# ssh root@master02
[root@master02 ~]# logout (登录后要退出来的)
[root@master01 ~]# ssh-copy-id -i .ssh/id_rsa.pub root@worker01
[root@master01 ~]# ssh root@worker01
[root@worker01 ~]# logout
[root@master01 ~]# ssh-copy-id -i .ssh/id_rsa.pub root@worker02
[root@master01 ~]# ssh root@worker02
[root@worker02 ~]# logout
#可联机查看免密情况
[root@master01 ~]# cat .ssh/known_hosts
#格式化:首次
#启动zookeeper集群【群起】
[root@master01 ~]# zkServer.sh start
#启动journal服务【群起】
[root@master01 ~]# hdfs --daemon start journalnode
[root@master01 ~]# hdfs --daemon stop journalnode
#格式化zkfc【单起master01】
[root@master01 ~]# hdfs zkfc -formatZK
#主NN节点格式化【单起master01】
[root@master01 ~]# hdfs namenode -format
[root@master01 ~]# hdfs --daemon start namenode
jps查看是否正常启动
#从NN节点格式化【单起master02】
[root@master02 ~]# hdfs namenode -bootstrapStandby
#启动集群【单起master01】
[root@master01 ~]# start-all.sh
【启动与关闭】
#启动:
#每台机器启动
zkServer.sh start
#任意一台启动
start-dfs.sh
start-yarn.sh
mapred --deamon start historyserver
#hive启动
nohup hive --service metastore 1>/dev/null 2>&1 &
nohup hive --service hiveserver2 1>/dev/null 2>&1 &
beeline -u jdbc:hive2://localhost:10000
beeline -u jdbc:hive2://master01:10000
beeline -u jdbc:hive2://192.168.43.150:10000
#关闭:
kill -9 ....
kill -9 ....
mapred --daemon stop historyserver
stop-yarn.sh
stop-dfs.sh
#每台机器都启动
zkServer.sh stop



