1.更新centos7的国内镜像文件(推荐aliyun) wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
2.下载lrzsz(上传下载文件lrzsz) yum -y install lrzsz
3.创建两个文件夹 创建上传文件的目录 ?mkdir -p /root/soft 创建安装软件的目录 ?mkdir -p /root/module
3.进入上传文件的目录上传
cd /root/soft rz
jdk-8u161-linux-x64.tar.gz hadoop-3.1.4.tar.gz
4.解压 tar -zxvf jdk-8u161-linux-x64.tar.gz ?-C /root/module tar -zxvf hadoop-3.1.4.tar.gz ?-C /root/module
5.配置环境变量 vim /etc/profile
export JAVA_HOME=/root/module/jdk1.8.0_161 export PATH=$PATH:/root/moodule/jdk1.8.0_161/bin export CLASSPATH=.:/root/module/jdk1.8.0_161/lib/tools.jar:/root/module/jdk1.8.0_161/lib/dt.jar
export HADOOP_HOME=/root/module/hadoop-3.1.4 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
6.编辑配置文件 创建目录(后面会用到) mkdir /root/module/hadoop-3.1.4/hdfs/temp mkdir /root/module/hadoop-3.1.4/hdfs/data mkdir /root/module/hadoop-3.1.4/hdfs/name 找到五个文件编辑以下内容
core-site.xml,hadoop.env.sh,hdfs-site.xml,mapred-site.xml,yarn-site.xml
?? ?1.core-site.xml(倒数第三行:<value>hdfs://第一台虚拟机用户名:9000</value>)
<configuration> <property> ? ? ?<name>hadoop.tmp.dir</name> ? ? ?<value>file:/root/module/hadoop-3.1.4/hdfs/temp</value> ? ? ?<description>Abase for other temporary directories.</description> </property>
<property> ?? ? <name>fs.default.name</name> ?? ? <value>hdfs://jiujiu1:9000</value> </property> </configuration>
?? ?2.hadoop.env.sh
export JAVA_HOME=/root/module/jdk1.8.0_161 export HADOOP_HOME=/root/module/hadoop-3.1.4
?? ?3.hdfs-site.xml
<configuration> <property> ? ? ?<name>dfs.replication</name> ? ? ?<value>3</value> </property> <property> ? ? ?<name>dfs.namenode.name.dir</name> ? ? ?<value>file:/root/module/hadoop-3.1.4/hdfs/name</value> </property> <property> ? ? ?<name>dfs.datanode.data.dir</name> ? ? ?<value>file:/root/module/hadoop-3.1.4/hdfs/data</value> </property> </configuration>
?? ?4.mapred-site.xml
<configuration> <property> ? ? ?<name>mapreduce.framework.name</name> ? ? ?<value>yarn</value> </property> </configuration>
?? ?5.yarn-site.xml(第六行:<value>第三台主机名</value>)
<configuration> ?? ?<!-- Site specific YARN configuration properties --> ?? ?<!--集群master,--> ?? ?<property> ?? ??? ?<name>yarn.resourcemanager.hostname</name> ?? ??? ?<value>jiujiu3</value> ?? ?</property> ?? ?<!-- NodeManager上运行的附属服务--> ?? ?<property> ?? ??? ?<name>yarn.nodemanager.aux-services</name> ?? ??? ?<value>mapreduce_shuffle</value> ?? ?</property> </configuration> ? 7.将虚拟机的文件拷贝两份
?
拷贝之后,将拷贝出的两份中的lck后缀的文件(是文件,不是文件夹,文件夹删了就需要你重新装了)删除,不然虚拟机会打不开
开机前点开拷贝出的两台虚拟机设置(一定要在关机状态下操作)
一定要确保MAC地址不一样,不然会导致虚拟机网络用不了
?打开的过程中会弹出一个窗口,点击我已移动虚拟机
随后进入修改ip地址跟用户名,区分三个虚拟机 vim /etc/sysconfig/network-scripts/ifcfg-ens33
vim /etc/hostname
8.三台虚拟机连接secure CRT 8.1开机关闭防火墙 ?? ?systemctl disable firewalld.service 立刻关闭防火墙 ?? ?systemctl stop firewalld.service 查看防火墙状态 ?? ?firewall-cmd --state 8.2关闭最小linux最小安全系统 ?? ?vim /etc/selinux/config 配置 ?? ?SELINUX=disable 8.3查看时间是否同步 ?? ?date 时间不同步 ?? ?/usr/sbin/ntpdate ntp4.aliyun.com 8.4后面需要用到免密登录(免密登录就是在本台虚拟机不需要其他虚拟机的密码就可以登录其他虚拟机,后面操作会用上) 创建目录存放钥匙 ?? ?mkdir -p /root/.ssh 进入该目录,生成公钥和私钥 ? ?? ?cd /root/.ssh ?? ?ssh-keygen -t rsa 点击三下空格 将每台机器的公钥复制到其中一台 ?? ?ssh-copy-id jiujiu1 查看公钥是否都在文件里 ?? ?vim authorized_keys 将密码文件夹分发给其他机器 ?? ?scp /root/.ssh/authorized_keys jiujiu2:/root/.ssh/ ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? scp /root/.ssh/authorized_keys jiujiu3:/root/.ssh/ 将密码文件夹分发给其他机器 ?? ?scp /root/.ssh/authorized_keys jiujiu2:/root/.ssh/ ? ? ? ? ? ? ? ?? ?? ?scp /root/.ssh/authorized_keys jiujiu3:/root/.ssh/ ssh jiujiu2 ?? ?不需要密码就成功了 exit? ?? ?退出登录
9.编写运行服务脚本
创建目录存放脚本 ?? ?mkdir -p /root/shell 进入该目录编辑文件 ?? ?cd /root/shell ?? ?vim shell.sh 编辑以下内容
#! /bin/bash if [ $# -lt 1 ];then ?? ?echo"请输入参数:start|stop|status" ?? ?exit fi case $1 in "start") base="/root/module/hadoop-3.1.4/bin" ?? ?echo "**********************jiujiu1 start*******************"
?? ? ?ssh jiujiu1 "$base/hdfs --daemon start namenode" ?? ? ?ssh jiujiu2 "$base/hdfs --daemon start secondarynamenode" ?? ? ?ssh jiujiu3 "$base/yarn --daemon start resourcemanager"
?? ?echo "**********************jiujiu2 start*******************" ?? ? ?? ?for x in jiujiu1 jiujiu2 jiujiu3 ?? ?do ?? ??? ?ssh $x "$base/hdfs --daemon start datanode" ?? ? ? ?ssh $x "$base/yarn --daemon start nodemanager" ?? ?done? ?? ? ? ?? ? ? ?? ?echo "**********************jiujiu3 start*******************"
?? ? ? ;; "stop") ?? ?echo "**********************jiujiu1 stop*******************" base="/root/module/hadoop-3.1.4/bin" ?? ? ?ssh jiujiu1 "$base/hdfs --daemon stop namenode" ?? ? ?ssh jiujiu2 "$base/hdfs --daemon stop secondarynamenode" ?? ? ?ssh jiujiu3 "$base/yarn --daemon stop resourcemanager"
?? ?echo "**********************jiujiu2 stop*******************" ?? ?echo "**********************jiujiu3 stop*******************" ?? ? ?? ?for x in jiujiu1 jiujiu2 jiujiu3 ?? ?do ?? ??? ?ssh $x "$base/hdfs --daemon stop datanode" ?? ? ? ?ssh $x "$base/yarn --daemon stop nodemanager" ?? ?done ;; "status") ?? ?for x in jiujiu1 jiujiu2 jiujiu3 ?? ?do ?? ?echo "**********************$x status*******************"
?? ??? ?ssh $x "/root/module/jdk1.8.0_161/bin/jps" ?? ?done
?? ? ;; esac
给予该脚本一定权限 ?? ?chmod 777 shell.sh 查看该目录下的文件权限 ?? ?ls -al 运行脚本 1.进入该目录 ?? ?cd /root/shell ?? ?./shell.sh status(查看服务状态) ?? ?./shell.sh start(运行服务) ?? ?./shell.sh stop(停止服务) 2.在根目录下 ?? ?./shell/shell.sh status ?? ?./shell/shell.sh start ?? ?./shell/shell.sh stop 10.在浏览器打开hadoop ?? ?192.168.40.24:9870(第一台虚拟机的ip地址:9870)
|