Hadoop完全式分布安装
- 前提条件
- 配置网络
- 关闭防火墙及Selinux
- 配置hosts文件
- 克隆
- 创建用户
- 配置用户
- 配置用户权限
- 安装DJK
- 配置jdk环境变量
- 验证JDK
- SSH免密登录
- 安装hadoop
- 配置Hadoop环境变量验证安装配置
- 配置Hadoop
- 复制
- 验证安装配置
- 格式化NameNode:
- 查看Java进程
- 启动YARN并查看集群
- web验证
实验环境和要求:
主机名 | IP地址 | 所分配角色 |
node1 | 192.168.183.110 | Master,NameNode |
node2 | 192.168.183.120 | Slave,DateNode |
node2 | 192.168.183.130 | Slave,DateNode |
要求:
通过Centos7成功部署Hadoop集群
前提条件
配置网络
nmcli connection modify "ens33" ipv4.method manual ipv4.addresses "192.168.183.110/24" ipv4.gateway "192.168.183.2" ipv4.dns "114.114.114.114" connection.autoconnect yes
##重启网络
nmcli con down ens33
nmcli con up ens33
关闭防火墙及Selinux
##关闭防火墙及开机自启
systemctl stop firewalld.service
systemctl disabled firewalld.service
##修改SELinux
setenforce 0
vim /etc/selinux/config
SELINUX=disabled
配置hosts文件
##在hosts文件中添加如下
vim /etc/hosts
192.168.183.110 node1
192.168.183.120 node2
192.168.183.130 node3
克隆
至此已配置好一台主机的基础环境;关机创建快照并基于快照创建完整的克隆,然后克隆两台主机。开启三台主机,并修改其中两台主机IP并重启网络即可
创建用户
配置用户
groupadd hadoop
useradd -g hadoop hduser
passwd hduser
配置用户权限
vim /etc/sudoers
hduser ALL=(ALL) ALL
安装DJK
上传源码包并解压安装
配置jdk环境变量
sudo gedit /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_281-amd64
export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
验证JDK
java -version
SSH免密登录
##在主节点(node1)上生成SSH密钥对 连续敲回车键
ssh-keygen -t rsa
#将公钥复制到node2、node3上
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3
安装hadoop
hadoop所需源码包和jdk包一起上传了
tar zxvf hadoop-2.10.1.tar.gz
mv hadoop-2.10.1 hadoop
配置Hadoop环境变量验证安装配置
sudo vim /etc/profile
#hadoop
export HADOOP_HOME=/home/hduser/hadoop
export PATH=$HADOOP_HOME/bin:$PATH
配置Hadoop
cd ~/hadoop/etc/hadoop/
以下七个配置文件都在~/hadoop/etc/hadoop/下,并修改其内容
配置hadoop-env.sh文件vim hadoop-env.sh
最后添加以下内容:
export JAVA_HOME=/usr/java/jdk1.8.0_281-amd64
配置yarn-en.sh文件vim yarn-en.sh
export JAVA_HOME=/usr/java/jdk1.8.0_281-amd64
配置workers文件vim workers
node2
node3
以下四个配置文件中都会有一对<configuration>只需要在<configuration>对中添加内容即可,不需要做其他更改
配置core-site.xml文件vim core-site.xml
添加如下内容:
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hduser/hadoop/tmp</value>
</property>
配置hdfs-site.xml文件vim hdfs-site.xml
添加如下内容:
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node1:50090</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hduser/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hduser/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
配置mapred-site.xml文件vim mapred-site.xml
添加如下内容:
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>node1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node1:19888</value>
</property>
配置yarn-site.xml文件vim yarn-site.xml
添加如下内容:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>node1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>node1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>node1:8035</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>node1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>node1:8088</value>
</property>
复制
##将配置好的node1节点中的文件复制到node2、node3的相同目录下
scp -r /home/hduser/hadoop node3:/home/hduser/
scp -r /home/hduser/hadoop node2:/home/hduser/
验证安装配置
格式化NameNode:
cd /hadoop
bin/hdfs namenode -format ##格式化只需要执行一次即可,执行多次否则会报错
查看Java进程
sbin/start-dfs.sh
jps
如果jps提示不是系统命令则需要看自己的jdk的环境变量是否配置正确
启动YARN并查看集群
sbin/start-yarn.sh
bin/hdfs dfsadmin -report
web验证
浏览器中输入192.168.183.110:50070