Hadoop2.8.5集群安装(CentOS 7)

首先,集群分布条件需要三台或三台以上服务器主机,如果只有一台笔记本的话可以使用VMware Workstation安装三个虚拟主机。

一.安装JDK

1). 下载JDK

2). 解压并配置JDK环境变量

[root@localhost java]# tar -zxvf jdk-8u201-linux-x64.tar.gz
[root@localhost java]# vim /etc/profile     #在其中添加以下内容:
export JAVA_HOME=/usr/java/jdk1.8.0_171
export JRE_HOME=/usr/java/jdk1.8.0_171/jre
export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

保存并退出后: [root@localhost java]# sourch /etc/profile 使环境变量立即更新

二.配置SSH免密登陆

如果要实现无密登陆到其它的主机,只需将生成的 “ id_rsa.pub " 追加到其它主机的 ” ~/.ssh/authorized_keys “ 中去。这里我们使用的方法是先将本机的 ” ~/.ssh/id_rsa.pub “ 拷贝到你想无密登陆的主机上,再在相应的主机上使用 ” cat " 命令将” ~/.ssh/id_rsa.pub “ 追加到该主机的 ” ~/.ssh/authorized_keys “ 中。

1.安装ssh: [root@localhost java]# yum install ssh

2.进入.ssh文件夹: [root@localhost java]# cd ~/.ssh  # 如果找不到这个文件夹,先执行一下 "ssh localhost"

3.生成密钥::[root@localhost .ssh]# ssh-keygen -t rsa      #一路回车即可

4.创建存放密钥文件: [root@localhost .ssh]# touch authorized_keys

5.追加密钥到文件:[root@localhost .ssh]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

[root@localhost .ssh]# ll
total 20
-rw-r--r--. 1 root root  408 Jan 29 01:41 authorized_keys
-rw-------. 1 root root 1679 Jan 29 01:38 id_rsa
-rw-r--r--. 1 root root  408 Jan 29 01:38 id_rsa.pub

三.关闭防火墙

  • 目的:使外网可以访问linux端口
  • 关闭防火墙命令
  • [root@localhost /]# systemctl stop firewalld.service #停止firewall
  • [root@localhost /]# systemctl disable firewalld.service #禁止firewall开机启动
  • [root@localhost /]# reboot             #重新启动

四.配置hosts列表

该项也需要在HadoopSlave节点配置。

[root@localhost /]# vi /etc/hosts       #将下面三行添加到/etc/hosts文件中:

192.168.38.136  master  

192.168.38.137  slave1

192.168.38.138  slave2

ping slave1 如果能ping通表示配置成功

五.hadoop分布式集群安装

解压安装包:[root@localhost hadoop]# tar -zxvf hadoop-2.8.5.tar.gz 

六.配置hadoop环境变量(etc/hadoop)目录下,hadoop-env.sh,core-site.xml,mapred-site.xml.template,hdfs-site.xml。)

1)配置hadoop-env.sh

将hadoop-env.sh文件靠前export JAVA_HOME=${JAVA_HOME} 修改为 export JAVA_HOME=/usr/java/jdk1.8.0_201

保存并退出

2) 配置core-site.xml文件 

#用下面代码替换文件中<configuration></configuration>
<configuration>

<property>

<name>hadoop.tmp.dir</name>

<value>/usr/hadoop/tmp</value>

</property>

<property>

<name>fs.defaultFS</name>

<value>hdfs://master:9000</value>

</property>

</configuration>

3) 配置hdfs-site.xml文件 

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<property>

<name>dfs.namenode.name.dir</name>

<value>/usr/hadoop/tmp/hdfs/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>/usr/hadoop/tmp/hdfs/data</value>

</property>

</configuration>

4) 配置mapred-site.xml.template文件  

#先将 mapred-site.xml.template文件改为 mapred-site.xml

<configuration>

    <property>

        <name>mapreduce.framework.name</name>

        <value>yarn</value>

    </property>

</configuration>

5) 配置yarn-site.xml文件

<configuration>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>Master</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
</configuration>

6) 配置slaves文件

[root@localhost /]# vi slaves

master
slave1
slave2

7) 配置hadoop环境变量

[root@localhost /]# vi /etc/profile

export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_HOME=/usr/hadoop/hadoop-2.8.5

#生效  [root@localhost /]# source /etc/profile

8) 将主节点上的文件复制到从节点上

[root@localhost /]# scp /usr/hadoop 192.168.38.137:/usr

[root@localhost /]# scp /usr/hadoop 192.168.38.138:/usr

9) 初始化HDFS(只在master上执行)

[root@localhost /]# bin/hadoop namenode -format

七. 启动测试

 启动HDFS(只在master上执行)

进入到hadoop主安装目录后使用 sbin/start-all.sh

如果出现下图则hadoop启动成功

猜你喜欢

转载自blog.csdn.net/sinat_41721615/article/details/86693455