Hadoop2.7.7完全分布式集群部署
1、安装包准备
a、jdk压缩包 jdk-8u221-linux-x64.rpm
b、hadoop压缩包 hadoop-2.7.7.tar.gz
2、修改主机名
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop02
NTPSERVERARGS=iburst
将其他两台名称修改为 hadoop03、hadoop04。
3、创建hadoop用户
在三台服务器上都创建hadoop用户,用于hadoop的安装
groupadd hadoop
useradd hadoop -g hadoop
4、配置hosts
三台主机的IP、职责、名称分别如下:
IP 职责 名称
192.168.100.22 NameNode SecondaryNameNode ResourceManager hadoop02
192.168.100.24 DataNode NodeManager hadoop03
192.168.100.25 DataNode NodeManager hadoop04
在三台服务器上修改/etc/hosts:
echo "192.168.100.22 hadoop02
192.168.100.24 hadoop03
192.168.100.25 hadoop04" >> /etc/hosts
5、安装jdk
三台服务器全部安装jdk
rpm -ivh jdk-8u221-linux-x64.rpm
配置环境变量
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
export JAVA_BIN=/usr/java/jdk1.8.0_221-amd64/bin
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
6、配置ssh
a、使用hadoop用户登录,在hadoop用户下配置ssh,三台服务器都做相同操作
su - hadoop
ssh-keygen -t rsa
cd /home/hadoop/.ssh
cp id_rsa.pub authorized_keys
b、将hadoop03和hadoop04服务器id_rsa.pub 文件内容追加到hadoop02服务器authorized_keys文件下
c、将hadoop02和hadoop04服务器id_rsa.pub 文件内容追加到hadoop03服务器authorized_keys文件下
d、将hadoop03和hadoop02服务器id_rsa.pub 文件内容追加到hadoop04服务器authorized_keys文件下
7、安装hadoop
在hadoop02服务器上解压hadoop-2.7.7.tar.gz 到 /home/hadoop/hadoop-2.7.7 下
a、配置环境变量,使用root用户配置hadoop环境变量
vi /etc/profile
#hadoop
export HADOOP_HOME=/home/hadoop/hadoop-2.7.7
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
b、在handoop03和hadoop04服务器上同样增加环境变量
8、创建目录 data、name、tmp目录
mkdir -p /home/hadoop/hadoop-2.7.7/hdfs/data
mkdir -p /home/hadoop/hadoop-2.7.7/hdfs/name
mkdir -p /home/hadoop/hadoop-2.7.7/hdfs/tmp
9、配置文件修改
a、修改 hadoop-env.sh
vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
b、core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop02:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.7.7/hdfs/tmp</value>
</property>
c、 hdfs-site.xml
<property>
<name>fs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/home/hadoop/hadoop-2.7.7/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hadoop/hadoop-2.7.7/hdfs/data</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
d、 mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
e、 yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop02</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.veme-check-enabled</name>
<value>false</value>
</property>
f、slaves
hadoop03
hadoop04
10、分发hadoop
scp -r /home/hadoop/hadoop-2.7.7 hadoop03:/home/hadoop/
scp -r /home/hadoop/hadoop-2.7.7 hadoop04:/home/hadoop/
11、格式化namenode
在hadoop02服务器执行
hdfs namenode -format
12、启动hadoop集群
start-all.sh
13、验证hadoop集群是否启动
[hadoop@hadoop02 etc]$ jps
8771 ResourceManager
13317 Jps
8615 SecondaryNameNode
8415 NameNode
[hadoop@hadoop03 ~]$ jps
6937 DataNode
7052 NodeManager
9965 Jps
[hadoop@hadoop04 ~]$ jps
4276 NodeManager
4159 DataNode
7151 Jps
14、hadoop2.7.7官方配置
http://hadoop.apache.org/docs/r2.7.7/hadoop-project-dist/hadoop-common/ClusterSetup.html