1.关防火墙
service iptables stop / systemctl status firewalld.service
systemctl stop firewalld.service
chkconfig iptables off / systemctl disable firewalld.service
2.创建一个一般用户atguigu
useradd atguigu
passwd atguigu
3.在/opt目录下创建software和 module文件夹
mkdir /opt/software /opt/module
chown atguigu:atguigu /opt/software /opt/module
atguigu用户:atguigu组
4.把这个用户加到sudoers
vim /etc/sudoers
atguigu ALL=(ALL) NOPASSWD:ALL
:wq!强制保存
5.改Hosts vim /etc/hosts
在文件后追加
192.168.81.101 hadoop101
192.168.81.102 hadoop102
192.168.81.103 hadoop103
192.168.81.104 hadoop104
192.168.81.105 hadoop105
#192.168.81.134 spark1
#192.168.81.135 spark2
#192.168.81.136 spark3
6.改静态IP(每克隆一台开始做)
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.81.101
PREFIX=24
GATEWAY=192.168.81.1
DNS1=192.168.81.1
NAME=eth0
7.改主机名
vim /etc/sysconfig/network
改HOSTNAME字段
改成HOSTNAME=hadoop101
克隆的(atguigu用户下)
sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0
改IP地址
sudo vim /etc/sysconfig/network改Host
sudo vim /etc/udev/rules.d/70-persistent-net.rules改网卡脚本文件
第一行删掉
第二行最后 NAME=“eth1”改成 NAME=“eth0”
8.下载java前看之前有没有java
java
javac
如果有 rpm -qa | grep java | xargs sudo rpm -e --nodeps
9.Hadoop和jdk安装,连Xshell
tar zxf hadoop-2.7.2.tar.gz -C /opt/module/
tar -zxvf jdk-8u221-linux-x64.tar.gz -C /opt/module/
z-用压缩编码zip x-解压 v-显示信息 f-指定文件
10.配置环境变量
sudo vim /etc/profile
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_221
export PATH=$PATH:$JAVA_HOME/bin
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin sbin可执行脚本
source /etc/profile
保存
echo $JAVA_HOME
java -version
查看版本
hadoop version
11.在hadoop-2.7.2目录下:ll
bin:可执行的二进制文件
etc:配置文件
lib:本地库 lib里有native:里存放Linux的本地库
sbin:shell bin可执行脚本
share:放hadoop的jar包
12.配置文件(单个节点集群)
http://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SingleCluster.html
Prepare to Start the Hadoop Cluster(启动hadoop集群)
编辑文件`
etc/hadoop/hadoop-env.sh
vim etc/hadoop/hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_221
Standalone Operation(本地模式)
$mkdir input
$ cp etc/hadoop/.xml input
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output ‘dfs[a-z.]+’
$ cat output/
本地运行模式(测试有用)
1.mkdir wcinput
2.vim wc.input
hadoop yarn
hadoop mapreduce
atguigu
atguigu
3.bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wcinput wcoutput
4.cat wcoutput/*Pseudo-Distributed Operation(伪分布式)
vim etc/hadoop/core-site.xml
所有的角色运行在一个节点的分布式
vim etc/hadoop/hdfs-site.xml
14.启动
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
http://hadoop101:50070/打不开是因为没有在Windows下配置环境
C:\Windows\System32\drivers\etc\hosts中hosts里加(用editplus打开)
192.168.81.101 hadoop101
192.168.81.102 hadoop102
192.168.81.103 hadoop103
9000端口是IPC port
注意:不能一直格式化NameNode。格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到以往数据。所以,格式NameNode时,一定要先删除data数据和log日志,然后再格式化NameNode。