CentOS下Hadoop3.2的伪分布式和集群安装
一.安装需求
jdk-13.0.1_linux-x64_bin.tar.gz
二.环境准备
准备三台CentOS虚拟机,一台Master,两台Slave。
192.168.108.130 hadoop-master 192.168.108.131 hadoop-slave1 192.168.108.132 hadoop-slave2
备注:如果是伪分布模式,我们只需要准备一台虚拟机就可以了,这里我们使用机器名为hadoop-master的虚拟机。
2.1 关闭防火墙
[code]$ firewall-cmd --state $ systemctl stop firewalld.service $ systemctl disable firewalld.service
2.2 设置主机名
[code]$ hostnamectl set-hostname hadoop-master $ hostnamectl set-hostname hadoop-slave1 $ hostnamectl set-hostname hadoop-slave2
2.3 修改三台虚拟机Host文件
[code]$ vi /etc/hosts
192.168.108.130 hadoop-master 192.168.108.131 hadoop-slave1 192.168.108.132 hadoop-slave2
2.4 免密码登录自身
[code]$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 0600 ~/.ssh/authorized_keys $ ssh localhost
2.5 安装JDK,并配置环境变量
上传jdk-13.0.1_linux-x64_bin.tar.gz并解压到/usr/java/目录下,添加环境变量:
[code]$ vi /etc/profile.d/jdk-13.0.1.sh
添加如下内容:
[code]export JAVA_HOME=/usr/java/jdk-13.0.1 export CLASSPATH=.:${JAVA_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
执行如下命令,使环境变量生效:
[code]$ source /etc/profile
三.Hadoop的伪分布式安装
3.1 安装和配置Hadoop
上传hadoop-3.2.1.tar.gz并解压到/opt/hadoop/目录下,需要对/opt/hadoop/hadoop-3.2.1/etc/hadoop/下5个文件做配置:
-
配置hadoop-env.sh,添加以下内容:
[code]export JAVA_HOME=/usr/java/jdk13.0.1 export HDFS_NAMENODE_USER="root" export HDFS_DATANODE_USER="root" export HDFS_SECONDARYNAMENODE_USER="root" export YARN_RESOURCEMANAGER_USER="root" export YARN_NODEMANAGER_USER="root"
-
配置core-site.xml,配置为:
[code]<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop-master:9000</value> </property> </configuration>
-
配置hdfs-site.xml
[code]<configuration> <property> <name>dfs.permissions</name> <value>false</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
-
配置yarn-site.xml
[code]<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop-master</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
-
配置mapred-site.xml
[code]<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
3.2 配置Hadoop环境变量
[code]$ vi /etc/profile.d/hadoop-3.2.1.sh
添加如下内容:
[code]export HADOOP_HOME="/usr/hadoop/hadoop-3.2.1" export PATH="$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH" export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
运行如下命令使环境变量生效:
[code]$ source /etc/profile
3.3 格式化HDFS和启动Hadoop
格式化HDFS,只有首次部署才可使用
[code]$ hdfs namenode -format
启动Hadoop,在Hadoop安装目录执行以下命令:
[code]$ sbin/start-all.sh
3.4 验证和测试
执行jps命令查看NameNode, DataNode, ResourceManager, SecondaryNameNode, NodeManager是否启动
在浏览器中访问ResourceManager: http://hadoop-master:8088/和NameNode:http://hadoop-master:9870/,看看是否能成功访问。
四.Hadoop的分布式安装
4.1 master免密码登录slave
[code]$ ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop-slave1 $ ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop-slave2
注: 只需在master上执行
4.2 安装和配置Hadoop
请参照《3.1 安装和配置Hadoop》,其中 yarn-site.xml中的dfs.replication配置为2.
修改/opt/hadoop/hadoop-3.2.1/etc/hadoop/的works文件,内容如下:
[code]hadoop-slave1 hadoop-slave2
注:三台机器都要配置,可以先配置Master,然后把6个配置文件Copy到Slave主机。
4.3 配置Hadoop环境变量
请参照《3.2 配置Hadoop环境变量》,三台机器都需要配置。
4.4. 格式化HDFS
[code]$ hdfs namenode -format
注:只有首次部署才可使用,只在Master上操作
4.5 启动Hadoop
在Master的Hadoop安装目录下执行以下命令:
[code]$ sbin/start-all.sh
4.6 验证和测试
在Master执行jps命令,看看是否启动了NameNode, ResourceManager, SecondaryNameNode
在Slave执行jps命令,看看是否启动了DataNode, NodeManager
在浏览器中访问ResourceManager: http://hadoop-master:8088/和NameNode:http://hadoop-master:9870/,看看是否能成功访问。
五. 相关Issue解决
5.1 is running 503888384B beyond the ‘VIRTUAL’ memory limit
mapreduce.map.memory.mb 和 mapreduce.reduce.memory.mb默认值是1024,最小是1024,不接受小于1024的值,如果小于1024则使用默认值,必须是1024的整数倍。
遇到此问题,请在mapred-site.xml添加如下配置:
[code] <property> <name>mapreduce.map.memory.mb</name> <value>4096</value> </property> <property> <name>mapreduce.reduce.memory.mb</name> <value>8192</value> </property> <property> <name>mapreduce.map.java.opts</name> <value>-Xmx3072m</value> </property> <property> <name>mapreduce.reduce.java.opts</name> <value>-Xmx6144m</value> </property>
5.2 HDFS在安全模式无法启动
请允许以下命令停止安全模式:
[code]$ hdfs dfsadmin -safemode leave
- 点赞
- 收藏
- 分享
- 文章举报
- Hadoop集群全分布式安装(CentOS)
- 完全分布式hadoop集群安装之二:linux虚拟机安装及管理(centos 6.0 32位)
- 在centos6.6上安装hadoop完全分布式集群并运行第一个程序
- Centos中安装配置local/standalone模式和伪分布式模式hadoop集群
- centos 6.3下安装Hadoop 2.7.1并配置伪分布式集群
- centos 6.3下安装Hadoop 2.7.1并配置伪分布式集群
- centos6.8系统安装 Hadoop 2.7.3伪分布式集群
- centos6.5下安装伪分布式hadoop集群
- Hadoop2.7.2 Centos 完全分布式集群环境搭建 (2) - Hadoop安装与配置(完全分布式)
- centos6.8系统安装 Hadoop 2.7.3伪分布式集群
- hadoop伪分布式集群环境搭建--基于CentOS
- hbase单机和分布式安装配置并整合到hadoop集群上
- Hadoop单机版和全分布式(集群)安装
- hadoop学习之hadoop完全分布式集群安装
- Hadoop2.2集群完全分布式安装。
- Hadoop之——分布式集群安装过程
- Hadoop2.2.0完全分布式集群平台安装与设置-入门级手把手
- Hadoop安装教程_伪分布式配置_CentOS6.4/Hadoop2.6.0
- Hadoop集群(第1期)CentOS安装配置
- hadoop的伪分布式在centos下安装