centos7 hadoop3.1 完全分布式配置
1、配置规划
Name | Hostname | IP |
---|---|---|
NameNode | bigdata130 | 192.168.40.130 |
DataNode | bigdata131 | 192.168.40.131 |
DataNode | bigdata132 | 192.168.40.132 |
组件 | 版本 | 下载链接 |
---|---|---|
jdk | 1.8.0_221 | https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html |
hadoop | 3.1.2 | https://cwiki.apache.org/confluence/display/hadoop/ |
2、操作步骤
2.1安装Centos7
首先安装一台Centos7,修改hostname为bigdata130
2.2安装JDK
首先
java -version
查看虚拟机是否有JDK,若有自带版本,把当前JDK卸载,安装自己的JDK,版本用上面规划的版本
mkdir /opt/modules/
tar -zxvf jdk-8u221-linux-x64.tar.gz /opt/modules/
输入vi /etc/profile,添加环境变量
export JAVA_HOME="/opt/modules/jdk1.8.0_221"
export PATH=$JAVA_HOME/bin:$PATH
2.3安装Hadoop
解压Hadoop
tar -zxvf hadoop-3.1.2.tar.gz /opt/modules/
输入vi /etc/profile,添加环境变量
export HADOOP_HOME="/opt/modules/hadoop-3.1.2"
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
2.4关闭防火墙
firewall-cmd --state 显示防火墙状态running/not running
systemctl stop firewalld 临时关闭防火墙,每次开机重新开启防火墙。
systemctl disable firewalld 禁止防火墙服务
2.5配置hadoop-env.sh
vi /opt/module/hadoop-3.1.2/etc/hadoop/hadoop-env.sh
修改JAVA安装路径
export JAVA_HOME=/opt/module/jdk1.8.0_221
2.6修改四个文件
2.6.1 修改core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata130:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-3.1.2/tmp</value>
</property>
</configuration>
2.6.1 修改hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.http-address</name>
<value>bigdata130:50070</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>bigdata130:50090</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/modules/hadoop-3.1.2/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/modules/hadoop-3.1.2/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
2.6.1 修改mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>bigdata130:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>bigdata130:19888</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=/opt/modules/hadoop-3.1.2</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=/opt/modules/hadoop-3.1.2</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=/opt/modules/hadoop-3.1.2</value>
</property>
</configuration>
2.6.1 修改yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata130</value>
</property>
</configuration>
2.7配置workers文件(原slaves文件)
vi /opt/modules/hadoop-3.1.2/etc/hadoop/workers
添加节点hostname
bigdata130
bigdata131
bigdata132
2.8配置SSH免密登录
生成公、私密钥对:ssh-keygen -t rsa 按3次回车键。
查看:cd ~/.ssh路径下面的rd_rsa和rd_rsa.pub
复制:ssh-copy-id -i ~/.ssh/id_rsa.pub root@bigdata128
查看生成authorized_keys
2.9修改hosts文件
vi /etc/hosts
添加三台虚拟机的IP及hostname(顺序不能错)
192.168.40.130 bigdata130
192.168.40.131 bigdata131
192.168.40.132 bigdata132
2.10克隆虚拟机
根据配置规划,还需要克隆两台虚拟机
分别给克隆的两台虚拟机修改hostname
bigdata131
bigdata132
3、启动Hadoop
3.1修改hadoop启动脚本
/opt/modules/hadoop-3.1.2/sbin/start-dfs.sh
/opt/modules/hadoop-3.1.2/sbin/stop-dfs.sh
在文件里添加
HADOOP_SECURE_DN_USER=hdfs
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
/opt/modules/hadoop-3.1.2/sbin/start-yarn.sh
/opt/modules/hadoop-3.1.2/sbin/stop-yarn.sh
在文件里添加
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
/opt/modules/hadoop-3.1.2/sbin/start-all.sh
/opt/modules/hadoop-3.1.2/sbin/stop-all.sh
在文件里添加
TANODE_USER=root
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
3.2格式化namenode
在主节点bigdata130上输入格式化命令
hdfs namenode -format
3.3启动Hadoop
在主节点启动Hadoop
/opt/modules/hadoop-3.1.2/sbin/start-all.sh