vi /etc/hosts
在后面添加网络和主机的映射: 192.168.187.100 hadoop0 192.168.187.101 hadoop1 192.168.187.102 hadoop2
检验:
关闭防火墙(需要root用户,三台虚拟机均需要操作):ping hadoop0
ping hadoop1
ping hadoop2
关闭selinuxsystemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
vi /etc/selinux/config
修改:
SELINUX=disabled
配置ssh,使得三台虚拟机之间可以相互免密登录(三台虚拟机均需要操作):init 6
将hadoop0中authorized_keys文件分别发送到hadoop1和hadoop2上ssh-keygen
ssh-copy-id hadoop0
安装java和hadoopscp /home/hadoop/.ssh/authorized_keys hadoop@hadoop1:/home/hadoop/.ssh/
scp /home/hadoop/.ssh/authorized_keys hadoop@hadoop2:/home/hadoop/.ssh/
在/home/hadoop目录下创建grapram和software目录
mkdir /home/hadoop/program
mkdir /home/hadoop/software
将本地Java压缩包和hadoop压缩包上传到software目录中
解压缩
tar -zxvf ibm-semeru-open-jdk_x64_linux_8u302b08_openj9-0.27.0.tar.gz
tar -zxvf hadoop-3.3.1.tar.gz
移动解压文件到program目录下:
配置java和hadoop的环境变量mv jdk8u302-b08 /home/hadoop/program/jdk-1.8
mv hadoop-3.3.1 /home/hadoop/program/hadoop-3.3
cd
vi .bashrc
添加:
export JAVA_HOME=/home/hadoop/program/jdk-1.8 export PATH=$JAVA_HOME/bin:$PATH export HADOOP_HOME=/home/hadoop/program/hadoop-3.3 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH export PATH=.:$PATH
此时local模式下的hadoop部署成功source .bashrc
伪分布式部署 hadoop-env.shhadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar pi 3 4
cd $HADOOP_HOME/etc/hadoop
vi hadoop-env.sh
添加自己安装的Java路径
export JAVA_HOME=/home/hadoop/program/jdk-1.8core-site.xml
vi core-site.xml
hdfs-site.xmlfs.defaultFS hdfs://hadoop0:9000 hadoop.tmp.dir file:/home/hadoop/program/hadoop-3.3/hdfs/tmp
vi hdfs-site.xml
创建存储文件dfs.replication 1 dfs.namenode.name.dir file:/home/hadoop/program/hadoop-3.3/hdfs/name dfs.datanode.data.dir file:/home/hadoop/program/hadoop-3.3/hdfs/data
登录网址可以访问到hadoopcd $HADOOP_HOME
mkdir hdfs
mkdir hdfs/name
mkdir hdfs/data
mkdir hdfs/tmp
hdfs namenode –format
start-dfs.sh
访问网址:
http://localhost:9870mapred-site.xml
cd $HADOOP_HOME/etc/hadoop
vi mapred-site.xml
yarn-site.xmlmapreduce.framework.name yarn mapreduce.application.classpath $HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*
vi yarn-site.xml
yarn配置完成yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.env-whitelist JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,PATH,LANG,TZ,HADOOP_MAPRED_HOME
start-yarn.sh
可访问网址:
http://localhost:8088伪分布式部署完成
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar pi 3 4
可访问网页看到任务
全分布式部署 删除伪分布式的数据重新创建文件workersrm -rf /home/hadoop/program/hadoop-3.3/logs
rm -rf /home/hadoop/program/hadoop-3.3/hdfs
mkdir -p /home/hadoop/program/hadoop-3.3/hdfs/tmp
mkdir -p /home/hadoop/program/hadoop-3.3/hdfs/data
mkdir -p /home/hadoop/program/hadoop-3.3/hdfs/name
cd $HADOOP_HOME/etc/hadoop
vim workers
删除原有数据
添加数据节点:
hadoop0 hadoop1 hadoop2yarn-site.xml
vim yarn-site.xml
将hadoop0上的相关文件发送到hadoop1和hadoop2上yarn.resourcemanager.hostname hadoop0
启动全分布式的hadoop集群cd
scp -r program hadoop@hadoop1:/home/hadoop/program
scp -r program hadoop@hadoop2:/home/hadoop/program
scp .bashrc hadoop@hadoop1:/home/hadoop
scp .bashrc hadoop@hadoop2:/home/hadoop
source .bashrc (hadoop1和hadoop2上)
全分布式集群部署完成hdfs namenode -format
start-dfs.sh
stop-dfs.sh
start-yarn.sh
stop-yarn.sh
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar pi
3 4



