Hadoop完全分布式配置
我的主机名IP:
192.168.1.111 linux01 主节点
192.168.1.112 linux02
192.168.1.113 linux03
1.准备hadoop,java,日志文件,及所需程序软件
2,连接xshell
三台同步输入 yum install net-tools vim (安装工具):一路 y
3.三台同步 vim /etc/hosts (ip地址映射)。输入三台IP地址以及名称 (中间用tab键)
4.三台同步 vim /etc/hostname 清空并添加相应主机名
5,三台同步 vim /etc/sysconfig/network 添加
NETWORKING=yes
HOSTNAME=主机名
6,三台同步 reboot 重启,重连xshell
{下面均在主节点操作}
7,免密钥操作
<1, 在“linux01”中输入ssh-keygan -t rsa 产生公钥与私钥对 (一路回车)
<2,依次输入三台信息(包括本机,第一次输入yes,第二次输入密码)
ssh-copy-id -i /root/.ssh/id_rsa.pub linux01
ssh-copy-id -i /root/.ssh/id_rsa.pub linux02
ssh-copy-id -i /root/.ssh/id_rsa.pub linux03
< 3,依次在主节点输入 ssh linux01,02,03 验证(exit退出)
8,使用xshell快捷连接xftp将准备文件传输到/opt目录下(可自选路径)
9,依次解压 tar xvfz
10,为方便之后操作,建议将hadoop-2.7.7及jdk1.8.0_201改名,之后也可以删除压缩包。
mv hadoop-2.7.7 hadoop
mv jdk1.8.0_201 jdk8
rm hadoop-2.7.7.tar.gz
rm jdk-8u201-linux-x64.tar.gz
11,输入cd /opt/hadoop/etc/hadoop(找到/hadoop/etc/hadoop)
接下来的配置文件由于看的参照过多,就不一 一列举,见谅
<1,vimcore-site.xml
。(hadoop核心配置)
<property>
<name>fs.defaultFS</name>
<value>hdfs://linux01:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop_tmp</value>
</property>
"linux01"
改为自己主节点名。/opt/hadoop_tmp
也可以改为自己路径
<2,vimhadoop-env.sh
。(在运行hadoop的脚本中使用的环境变量)
在export JAVA_HOME=${JAVA_HOME}
下添加路径
< 3,vimhdfs-site.xml
hdfs。(后台程序设置的配置:名称节点,第二名称节点和数据节点)
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/hadoop_tmp/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/hadoop_tmp/hdfs/data</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>linux01:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
"linux01"
改成自己节点名,上述路径也可自己设定
<4,vimmapred-site.xml.template
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- jobhistory properties -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>linux01:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>linux01:19888</value>
</property>
linux01
改为自己主节点名
复制到mapred-site.xml
(MapReduce 后台程序设置的配置)
cp mapred-site.xml.template mapred-site.xml
<5,vimyarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>linux01</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>${yarn.resourcemanager.hostname}:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>${yarn.resourcemanager.hostname}:8030</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>${yarn.resourcemanager.hostname}:8088</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.https.address</name>
<value>${yarn.resourcemanager.hostname}:8090</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>${yarn.resourcemanager.hostname}:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>${yarn.resourcemanager.hostname}:8033</value>
</property>
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>/opt/hadoop_tmp/yarn/local</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.nodemanager.remote-app-log-dir</name>
<value>/opt/hadoop_tmp/logs</value>
</property>
<property>
<name>yarn.log.server.url</name>
<value>http://linux01:19888/jobhistory/logs/</value>
<description>URL for job history server</description>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
<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.nodemanager.resource.memory-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>512</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>4096</value>
</property>
<property>
<name>mapreduce.map.memory.mb</name>
<value>2048</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>1</value>
</property>
"linux01"
改为自己主节点名
<6,vimyarn-env.sh
找到图中位置并添加export JAVA_HOME=/opt/jdk8
<7,vimslaves
清空内容改为下图
至此关于hadoop的配置完成,上述配置中的linux01
切记改为自己的主节点名,/opt/hadoop_tmp
路径可以改为自己的路径,确保目录存在,不存在三台都要创建
12,将hadoop和jdk8,传输到对应节点对应目录下
scp -r /opt/hadoop linux02:/opt
scp -r /opt/jdk8 linux02:/opt
scp -r /opt/hadoop linux03:/opt
scp -r /opt/jdk8 linux03:/opt
13,三台同步vim /etc/profile
添加配置目录,(对应自己主机)
export JRE_HOME=$JAVA_HOME/jre
export JAVA_HOME=/opt/jdk8
export CLASSPATH=$JAVA_HOME/lib
export PATH=$PATH:${JAVA_HOME}/bin
export HADOOP_HOME=/opt/hadoop
export PATH=${HADOOP_HOME}/bin:$PATH:${HADOOP_HOME}/sbin
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib"
生效环境变量
source /etc/profile
14,三台同步创建上述配置的所需目录
mkdir -p /opt/hadoop_tmp
15,三台同步
systemctl stop firewalld.service (关闭防火墙)
systemctl disable firewalld.service (开机禁止防火墙自启)
16,在主节点中hdfs namenode -format
(格式化namenode)
17,
start-all.sh
启动hdfs和yarn相关内容,也可以分步
start-dfs.sh
start-yarn.sh
18, 三台同步 jps
19,在本地文件夹找到该路径下的hosts文件,修改IP映射文件,以便本地浏览器能够打开hadoop资源监控网站
路径下图
添加如下内容
20,打开浏览器(建议谷歌)
linux01:50070
linux01:8088
linux01:19888
19888启动不了 mr-jobhistory-daemon.sh start historyserver