hadoop完全搭建——跟着代码步骤走一步到位
作者:互联网
hadoop完全搭建—跟着代码步骤走一步到位
这篇文章是搭建hadoop完全分布式的一步到位过程,并没有对于内容的太多的介绍。直接按步骤代码走一步到位。
这篇文章是用以下两篇文章结合起来的。
hadoop伪分布式搭建及其介绍
hadoop完全分布式详细步骤
话不多说现在开始
首先要创建一个虚拟机然后将虚拟机打开
1.修改虚拟机IP地址和配置NAT模式,根据下面的命令和图片中黑色框内容进行设置
IPADDR是本台虚拟机的IP地址
vi /etc/sysconfig/network-scripts/ifcfg-ens33
IPADDR=192.173.10.100
NETMASK=255.255.255.0
PREFIX=24
GATEWAY=192.173.10.2
DNS1=192.193.10.2
HWADDR=00:0C:29:7E:A1:2A
2.设置修改HWADDR为正确的mac地址
点击你的虚拟机右键打开设置
点击网络适配器点击高级
将vi /etc/sysconfig/network-scripts/ifcfg-ens33 中的HWADDR改为下面的mac地址
3 修改本机的IPV4
打开网络右键打开属性
点击更改适配器设置
双击打开IPv4进行设置
按照下图进行设置,设置完毕确认即可
4.关闭防火墙和安全
setenforce 0
systemctl stop firewalld
5.重启网络
systemctl restart network.service
用ifconfig查看一下刚才配置的ip地址是否正确
6. 连接Xshell(过程就不详解,csdn一下就可以了)
7. 传递安装包
然后进入root目录,创建software文件夹。再用xftp连接自己的电脑传递jdk和hadoop的安装包到/root/software文件夹里。
cd /root
mkdir software
命令 ll 查看一下有没有
8.查看已安装的jdk,如果有卸载掉
rpm -qa | grep jdk
将已安装的jdk卸载了
rpm -e --nodeps jdk版本号
可以再使用上上条命令看看jdk是否卸载干净
9. 安装jdk
在刚才存放jdk软件包的路径下(/root/software)操作
解压压缩包
tar -zxvf jdk-8u281-linux-x64.tar.gz
ll命令查看是否解压完毕
配置环境变量
vim /etc/profile
再最后面插入以下内容
export JAVA_HOME=/root/software/jdk1.8.0_281 # 配置Java的安装目录
export PATH=$PATH:$JAVA_HOME/bin # 在原PATH的基础上加入JDK的bin目录
让环境变量生效
source /etc/profile
查看安装版本,查得到就是安装成功
java -version
10.安装hadoop
在刚才存放jdk软件包的路径下(/root/software)操作
解压压缩包
tar -zxvf hadoop-2.8.2.tar.gz
ll命令查看是否解压完毕
配置环境变量
vim /etc/profile
再最后面插入以下内容
# 配置Hadoop的安装目录
export HADOOP_HOME=/root/software/hadoop-2.8.2
# 在原PATH的基础上加入Hadoop的bin和sbin目录
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
让环境变量生效
source /etc/profile
查看安装版本,查得到就是安装成功
hadoop version
11.接下来需要修改hadoop的配置文件,需要进入hadoop配置文件的存放地址
cd /root/software/hadoop-2.8.2/etc/hadoop
修改hadoop-env.sh
先使用下列方式得到JDK 的安装目录
echo $JAVA_HOME
vi hadoop-env.sh
配置配置core-site.xml
vi core-site.xml
将下面的内容插入到文件里的 <configuration 和 /configuration>之间
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1:8020</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/soft/tmp</value>
</property>
配置hdfs-site.xml
vi hdfs-site.xml
将下面的内容插入到文件里的<configuration 和 /configuration>之间
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.block.size</name>
<value>134217728</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///home/soft/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///home/soft/data</value>
</property>
<property>
<name>fs.checkpoint.dir</name>
<value>file:///home/soft/cname</value>
</property>
<property>
<name>fs.checkpoint.edits.dir</name>
<value>file:///home/soft/cname</value>
</property>
<property>
<name>dfs.http.address</name>
<value>hadoop1:50070</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>hadoop2:50090</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
配置yarn-site.xml
vi yarn-site.xml
将下面的内容插入到文件里的<configuration 和 /configuration>之间
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>hadoop1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoop1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoop1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoop1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoop1:8088</value>
</property>
配置slaves
vim slaves
写入以下的内容
hadoop1
hadoop2
hadoop3
配置mapred-site.xml
创建一个名为mapred-site.xml的文件
touch mapred-site.xml
将mapred-site.xml.template的内容写入mapred-site.xml文件内
cat mapred-site.xml.template >> mapred-site.xml
然后再配置mapred-site.xml
vi mapred-site.xml
将下面的内容插入到文件里的<configuration 和 /configuration>之间
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<final>true</final>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop1:19888</value>
</property>
12. 克隆两台虚拟机
先将虚拟机关闭,右键虚拟机管理里面的克隆虚拟机
修改ip地址和HWADDR
vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改主机名\ 修改完后需要重启虚拟机
vi /etc/sysconfig/network
HOSTNAME=hadoop2
重启虚拟机
reboot
然后打开第三台hadoop3虚拟机进行以上和hadoop2一样的操作
13.接下来对三台主机都进行主机映射配置
vi /etc/hosts
192.173.10.100 hadoop1
192.173.10.101 hadoop2
192.173.10.102 hadoop3
14.设置免密登陆
连接上三台虚拟机的XShell,下面的1.2.3.三台虚拟机都得一一完成。剩下按文字提示完成。
1.首先创建root底下的.ssh目录
cd /root
mkdir .ssh
进入.ssh目录
cd /root/.ssh cd /root/.ssh
2.然后生成一个密钥(需要在三台虚拟机中都执行此命令,生成密钥)
(三次回车)
ssh-keygen -t rsa
3.然后创建authorized_keys文件
touch authorized_keys
4.将id_rsa.pub的内容写入authorized_keys文件
cat id_rsa.pub >> authorized_keys
5.将authorized_keys传到hadoop2的/root/.ssh下
scp authorized_keys hadoop2:/root/.ssh/
6.然后在hadoop2下将将id_rsa.pub的内容写入authorized_keys文件
cat id_rsa.pub >> authorized_keys
7.再将authorized_keys文件传到hadoop3的/root/.ssh下
scp authorized_keys hadoop3:/root/.ssh/
8.然后在hadoop3下将将id_rsa.pub的内容写入authorized_keys文件
cat id_rsa.pub >> authorized_keys
9.再将authorized_keys文件传到hadoop1和hadoop2的/root/.ssh下覆盖之前的authorized_keys文件
scp authorized_keys hadoop1:/root/.ssh/
scp authorized_keys hadoop2:/root/.ssh/
10.在虚拟机上用ssh hadoop1或者ssh hadoop2或者ssh hadoop3进行测试,如果不需要输入密码则免密设置成功
15接下来就可以进行格式化然后启动集群
格式化(只有第一次启动才会格式化)
hdfs namenode -format
启动
start-all.sh
网页验证:
http:192.168.80.100:50070
http:192.168.80.100:8088
在虚拟机上分别运行一下jps,完全分布式搭建成功按下图所示。
标签:keys,虚拟机,authorized,hadoop,一步到位,ssh,root,搭建 来源: https://blog.csdn.net/weixin_51633501/article/details/120111449