hadoop原生平台搭建教程
搭建准备hadoop-3.1.1.tar.gz jdk-8u77-linux-x64.tar.gz(官网下载)
0x1 基础环境配置
我这里使用的是双节点。创建两台虚拟机 master、slaver 并使用hostnamectl set-hostname改名
开启主机的DHCP模式,自动获取ip地址。方法如下:
cd /etc/sysconfig/network-scripts/ //进入网卡编辑目录
vi ifcfg-enp16777736 //编辑网卡enp0s3的配置文件
重启网卡 service network restart
然后设置hosts,所有节点都要设置
设置ssh免密登陆:ssh-******
所有节点都要设置
所有节点输入:ssh-copy-id slaver
ssh-copy-id master
使用ssh master(ssh slaver)来验证免密登陆是否成功,如果不需要输入密码则成功
0x2 编辑环境变量
建立jdk文件夹:mkdir -p /usr/jdk64
将jdk解压到改文件夹:tar -zxvf jdk-8u77-linux-x64.tar.gz -C /usr/jdk64/
解压hadoop将其移动到/opt/bigdate
解压: tar -zxvf hadoop-3.1.1.tar.gz
验证环境:hadoop version
修改配置文件
红框是java环境,蓝框是hadoop环境
完成后生效环境变量
source /etc/profile
0x3更改配置文件
进入/opt/bigdate/hadoop-3.1.1/etc/hadoop目录更改core-site.xml、hadoop-env.sh、hdfs-site.xml、mapred-site.xml配置文件
编辑 vi hadoop-env.sh
添加:export JAVA_HOME=/usr/jdk64/jdk1.8.0_77/
编辑 vi core-site.sh
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.temp.dir</name>
<value>/opt/bigdate/hadoop-3.1.1/tmp</value>
</property>
</configuration>
配置vi hdfs-site.xml
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/bigdate/hadoop-3.1.1/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/bigdate/hadoop-3.1.1/hdfs/data</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node1:9001</value>
</property>
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
</property>
</configuration>
配置vi mapred-site.xml
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.job.tracker.http.address</name>
<value>0.0.0.0:50030</value>
</property>
<property>
<name>mapred.task.tracker.http.address</name>
<value>0.0.0:50060</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>
/opt/bigdate/hadoop-3.1.1/etc/hadoop,
/opt/bigdate/hadoop-3.1.1/share/hadoop/common/*,
/opt/bigdate/hadoop-3.1.1/share/hadoop/common/lib/*,
/opt/bigdate/hadoop-3.1.1/share/hadoop/hdfs/*
/opt/bigdate/hadoop-3.1.1/share/hadoop/hdfs/lib/*
/opt/bigdate/hadoop-3.1.1/share/hadoop/mapreduce/*
/opt/bigdate/hadoop-3.1.1/share/hadoop/yarn/*
/opt/bigdate/hadoop-3.1.1/share/hadoop/yarn/lib/*
</value>
</property>
</configuration>
配置vi yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8099</value>
</property>
</configuration>
配置 vi workers
此处因为前面配置了hosts,所以此处可以直接写主机名,如果没有配置,必须输入相应主机的ip地址。配置的workers,hadoop会把配置在这里的主机当作datanode
将hadoop文件夹复制到其他节点
scp -r /opt/bigdate/hadoop-3.1.1 master:/opt/bigdate/
完成后在/opt/bigdate/hadoop-3.1.1/sbin(根据你们自己的配置来)
输入start-all.sh即可
0x4排错
如果遇到
需要修改start-dfs.sh
stop-dfs.sh
start-yarn.sh
stop-yarn.sh
四个文件的用户名,并需要修改/etc/SELINUX/confde配置
配置vi start-dfs.sh添加
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
配置vi stop-dfs.sh添加
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
配置vi start-yarn.sh添加
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
配置vi stop-yarn.sh 添加
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
配置vi /etc/selinux/config 修改SELINUX=enforcing更改为SELINUX=disabled
最后将其重新复制到其他节点
然后启动hadoop就行了