Hadoop的完全分布式安装

Hadoop的安装

一、准备工作

1.创建三台虚拟机;
2.ip addr查看三台虚拟机的ip;
3.用hostname修改主机名;
4.三台主机都修改/etc/hosts文件: 文件内容为:

172.18.74.59 cow1
172.18.74.61 cow2
172.18.74.65 cow3

5.查看三台主机是否可以ping通:

命令:ping -c 3 cow2

二、配置ssh免密登录(三台主机一样的配置)

1.先生成空字符串的秘钥; 命令:ssh-keygen -t rsa
2.查看秘钥文件; 命令:ls /root/.ssh/
3.创建一个文件: 命令:touch /root/.ssh/authorized_keys
4.查看是否生成: 命令:ls /root/.ssh/
5. 其次将hserver1上的/root/.ssh/id_rsa.pub文件内容,hserver2上的/root/.ssh/id_rsa.pub文件内容,
hserver3上的/root/.ssh/id_rsa.pub文件内容复制到这个authorized_keys文件中,复制的方法很多了,
可以用cat命令和vim命令结合来弄,也可以直接把这3台机器上的/root/.ssh/id_rsa.pub文件下载到本地,
在本地将authorized_keys文件编辑好在上载到这3台机器上;
6.测试: ssh cow2 退出exit ssh cow3 退出exit

三、安装jdk(三台主机一样的操作)

1.在opt/目录下创建java文件夹
2.解压jdk:
命令:tar -zxvf jdk压缩包
3.修改环境变量:
命令:vi /etc/profile
内容:

> #java 		
> export JAVA_HOME=/opt/java/jdk1.8.0_181 		
> export PATH=$JAVA_HOME/bin:$PATH
> export LASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib

4.测试:
命令:java -version
分发命令:scp -r 文件名 root@cow2:/opt/java

四、安装hadoop

1.在opt/目录下创建hadoop文件夹
2.解压hadoop: 命令:tar -zxvf hadoop安装包
3.修改一系列的配置文件:

(1):修改/opt/hadoop/hadoop-2.8.0/etc/hadoop/core-site.xml文件:

 <property>
	<name>hadoop.tmp.dir</name>
	<value>/root/hadoop/tmp</value>
</property>
<property>
	<name>fs.default.name</name>
    <value>hdfs://hserver1:9000</value>
</property>

(2):修改/opt/hadoop/hadoop-2.8.0/etc/hadoop/hadoop-env.sh文件:

export   JAVA_HOME=/opt/java/jdk1.8.0_121

(3):修改/opt/hadoop/hadoop-2.8.0/etc/hadoop/hdfs-site.xml文件

<property>
	<name>dfs.name.dir</name>
	<value>/root/hadoop/dfs/name</value>
</property>
<property>
	<name>dfs.data.dir</name>
	<value>/root/hadoop/dfs/data</value>
</property>
<property>
	<name>dfs.replication</name>
	<value>2</value>
</property>
<property>
	<name>dfs.permissions</name>
	<value>false</value>
</property>

(4):新建并且修改mapred-site.xml文件:
命令:
cp /opt/hadoop/hadoop-2.8.0/etc/hadoop/mapred-site.xml.template /opt/hadoop/hadoop-2.8.0/etc/hadoop/mapred-site.xml
修改这个新建的mapred-site.xml文件,

<property>
  <name>mapred.job.tracker</name>
  <value>hserver1:49001</value>
</property>
<property>
  <name>mapred.local.dir</name>
  <value>/root/hadoop/var</value>
</property>
<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>

(5): 修改/opt/hadoop/hadoop-2.8.0/etc/hadoop/slaves文件,将里面的localhost删除,内容改为:
cow2
cow3
(6):修改/opt/hadoop/hadoop-2.8.0/etc/hadoop/yarn-site.xml文件

<property>
 <name>yarn.resourcemanager.hostname</name>
 <value>hserver1</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.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>
<property>
  <name>yarn.scheduler.maximum-allocation-mb</name>
  <value>2048</value>
</property>
<property>
  <name>yarn.nodemanager.vmem-pmem-ratio</name>
  <value>2.1</value>
</property>
<property>
  <name>yarn.nodemanager.resource.memory-mb</name>
  <value>2048</value>
</property>
<property>
  <name>yarn.nodemanager.vmem-check-enabled</name>
  <value>false</value>
</property>

(7)添加环境变量

export HADOOP_HOME=/opt/hadoop/hadoop-2.7.3
export PATH= H A D O O P H O M E / b i n : HADOOP_HOME/bin: PATH

五、启动hadoop

以下5个命令只在主节点上执行:

1、切换到该目录下:cd /opt/hadoop/hadoop-2.8.0/bin
2.执行初始化脚本:./hadoop namenode -format
3.格式化成功后,可以在看到在/root/hadoop/dfs/name/目录多了一个current目录,而且该目录内有一系列文件
4.cd /opt/hadoop/hadoop-2.8.0/sbin
5…/start-all.sh 6、jps查看 7、关闭防火墙 systemctl stop firewalld.service

发布了32 篇原创文章 · 获赞 28 · 访问量 1405

猜你喜欢

转载自blog.csdn.net/Maqiuqiu520/article/details/102720684