赞
踩
本文从安装好新虚拟机开始介绍
vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO="static"
- IPADDR="192.168.88.11"
- GATEWAY="192.168.88.2"
- NETMASK="255.255.255.0"
- DNS="192.168.88.2"
vim /etc/hosts
- 192.168.88.11 node1
- 192.168.88.12 node2
- 192.168.88.13 node3
hostnamectl set-hostname node1
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
vim /etc/sysconfig/selinux
改成
SELINUX=disabled
ssh-keygen -t rsa
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
基础配置详细(带截图)可以看我的Hadoop和hbase伪分布式模式配置一文。这里不再详细展开,接下来转到tabby连接上并上传jdk、hadoop和hbase,同样不再赘述。解压、改名,详见上一篇文章,这里只截取环境变量配置好的图片。
mkdir -p /export/server
解压jdk:
tar -zxvf /usr/local/jdk-8u401-linux-x64.tar.gz -C /export/server/
改名jdk:
mv /export/server/jdk1.8.0_401 /export/server/jdk
vim /etc/profile
- export JAVA_HOME=/export/server/jdk
- export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
到此为止可以把这台虚拟机克隆两份了,分别叫node2和node3,注意要放到不同的文件夹下。
node3同理
hostnamectl set-hostname node2
hostnamectl set-hostname node3
三台虚拟机的ip不能相同,最后一位改下就行,别忘了出来重启下网卡
vim /etc/sysconfig/network-scripts/ifcfg-ens33
systemctl restart network
解压hadoop:
tar -zxvf /usr/local/hadoop-2.7.7.tar.gz -C /usr/local/
改名hadoop:
mv /usr/local/hadoop-2.7.7 /usr/local/hadoop
vim /etc/profile
- export HADOOP_HOME=/usr/local/hadoop
- export PATH=.:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
source /etc/profile
别忘了把另外两台从机配置一下环境变量再应用一下,否则会出现命令不存在的问题
vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/export/server/jdk
vim /usr/local/hadoop/etc/hadoop/core-site.xml
- <property>
- <!--主机映射名-->
- <name>fs.defaultFS</name>
- <value>hdfs://node1:9000</value>
- </property>
-
- <property>
- <name>hadoop.tmp.dir</name>
- <value>/usr/local/hadoop/tmp</value>
- </property>
vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
- <property>
- <name>dfs.replication</name>
- <value>3</value>
- </property>
-
- <property>
- <!--主机映射名-->
- <name>dfs.namenode.secondary.http-address</name>
- <value>node3:50090</value>
- </property>
vim /usr/local/hadoop/etc/hadoop/mapred-env.sh
export JAVA_HOME=/export/server/jdk
配置前先复制一份(因为没有)
cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml
vim /usr/local/hadoop/etc/hadoop/mapred-site.xml
- <property>
- <name>mapreduce.framework.name</name>
- <value>yarn</value>
- </property>
vim /usr/local/hadoop/etc/hadoop/yarn-env.sh
export JAVA_HOME=/export/server/jdk
vim /usr/local/hadoop/etc/hadoop/yarn-site.xml
- <property>
- <name>yarn.nodemanager.aux-services</name>
- <value>mapreduce_shuffle</value>
- </property>
-
- <property>
- <name>yarn.resourcemanager.hostname</name>
- <value>node2</value>
- </property>
vim /usr/local/hadoop/etc/hadoop/slaves
- node1
- node2
- node3
scp -r /usr/local/hadoop root@node2:/usr/local
scp -r /usr/local/hadoop root@node3:/usr/local
只格式化主机node1,从机node2和node3不用格式化,格式化前可以打个快照保存一下,防止前面有地方配错了没查出来。
显示没有命令错误的问题在于环境变量没有配置好,要么去配置环境变量并应用,要么去hadoop下的bin目录下执行,前面加上(./)代表命令在当前目录下
hadoop namenode -format
三台都要把下面的代码输一遍(从rsa到node3都要输一遍)
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub node1
ssh-copy-id -i ~/.ssh/id_rsa.pub node2
ssh-copy-id -i ~/.ssh/id_rsa.pub node3
只展示其中一个
只在主机(node1)和其中一个从机(例如node2)输入命令,从机之二只开启不输命令,先启动主机再启动从机。
显示没有命令错误的问题在于环境变量没有配置好,要么去配置环境变量并应用,要么去hadoop下的sbin目录下执行,前面加上(./)代表命令在当前目录下
主机:
start-dfs.sh
从机:
start-yarn.sh
关闭同样是先关从机再关主机
从机:
stop-yarn.sh
主机:
stop-dfs.sh
至此,hadoop完全分布式配置完毕,别忘了打个快照保存一下
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。