centos6.8部署hadoop

一、环境准备

1.1 配置DNS:

进入配置文件,添加主节点和从节点的IP映射关系

#vim /etc/hosts192.168.254.155 master192.168.254.156 slave1192.168.254.157 slave2

1.2 关闭防火墙

#service iptables stop    //关闭服务#chkconfig iptables off    //关闭开机自启动

1.3 配置免密登陆

1. 每个节点都首先要进入/root/.ssh目录下,生成密钥:

#ssh-keygen -t rsa //输入命令之后连续回车就行了

2. 在主节点上,将公钥拷贝到一个特定的文件中

[root@master.ssh]# cp id_rsa.pub authorized_key

3. 将每个从节点上生成的公钥复制到主节点上:

[root@slave1.ssh]# scp id_rsa.pub master:/root/.ssh/id_rsa_slave1.pub[root@slave2.ssh]# scp id_rsa.pub master:/root/.ssh/id_rsa_slave2.pub

4. 在主节点上合并从节点的公钥:

[root@master.ssh]# cat id_rsa_slave1.pub>>authorized_keys[root@master.ssh]# cat id_rsa_slave2.pub>>authorized_keys

配置完成后、在各个节点上进行ssh访问,若无需密码就能访问,则配置成功

1.4 配置JAVA环境

首先下载jdk,保存到指定目录下,设置环境变量

# vim  /etc/profileexport JAVA_HOME=/usr/java/jdk1.8.0_112export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bin# source /etc/profile    //使配置生效

验证配置是否成功:

java -version

二、 部署Hadoop集群:

在各个节点上安装和配置Hadoop的过程都基本相同,因此可以在每个节点上安装好hadoop后,在主节点master上进行统一配置,然后通过scp命令将修改的配置文件拷贝到各个从节点上即可。

2.1 安装Hadoop

下载安装hadoop安装包;

#1. 下载并解压:#tar -zxvf hadoop-2.7.3.tar.gz#2. 配置环境变量:# vim /etc/profileexport HADOOP_HOME=/home/hadoop-2.7.3export PATH=$PATH:$HADOOP_HOME/binexport PATH=$PATH:$HADOOP_HOME/sbinexport HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

2.2 修改配置文件:进入hadoop的配置文件目录$HADOOP_HOME/etc/hadoop,可以看到有许多配置文件,Hadoop集群配置主要是对以下几个文件的修改

core-site.xml

hdfs-site.xml

yarn-site.xml

mapred-site.xml

slave、hadoop-env.sh、yarn-env.sh

下面介绍文件的具体配置、按照实际情况修改配置信息;

(1) core-site.xml

<configuration><property><name>fs.defaultFS</name>#默认文件系统名称,用于指定host,post<value>hdfs://master:9000</value></property><property><name>hadoop.tmp.dir</name>#指定临时文件的存储路径<value>file:/home/hadoop/tmp</value></property><property><name>io.file.buffer.size</name>#用于指定序列文件的缓冲区大小<value>131702</value></property></configuration>

(2) hdfs-site.xml

<configuration><property><name>dfs.permissions.enabled</name><value>false</value></property><property><name>dfs.support.append</name><value>true</value></property><property><name>dfs.namenode.name.dir</name>#用于指定namenode存储路径<value>file:/home/michael/soft/hadoop/dfs/name</value></property><property><name>dfs.datanode.data.dir</name>#用于指定datenode存储路径<value>file:/home/michael/soft/hadoop/dfs/data</value></property><property><name>dfs.replication</name>#用于指定副本个数<value>3</value></property><property><name>dfs.namenode.secondary.http-address</name>#二主节点的端口<value>master:9001</value></property><property><name>dfs.webhdfs.enabled</name><value>true</value>#启用webHDFS检测namenode和datanode</property></configuration>

(3) yarn-site.xml

此目录下没有该文件,我们需要将mapred-site.xml.template 复制一份,改成此名。然后再修改:

<configuration><property><name>yarn.resourcemanager.hostname</name><value>master</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.nodemanager.resource.memory-mb</name><value>20480</value></property><property><name>yarn.scheduler.maximum-allocation-mb</name><value>10240</value></property><property><name>yarn.nodemanager.resource.cpu-vcores</name><value>5</value></property><property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value></property></configuration>

(4) mapred-site.xml

<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property></configuration>

(5) slaves

启动hadoop集群需要读取该文件,以确定从节点主机名,从而启动Datanode,Nodemanager等守护进程,因此需要在该文件中添加从节点主机名。

slave1

slave2

(6) hadoop-env.sh

修改如下内容:

export JAVA_HOME=/usr/java/jdk1.8.0_171

(7) yarn-env.sh

添加如下内容:

export JAVA_HOME=/usr/java/jdk1.8.0_171

到此,完成了主节点上所有配置,只需要将这些配置信息复制到各个节点:

# scp /home/hadoop-2.7.3/etc/hadoop/* slave1:/home/hadoop-2.7.3/etc/hadoop/# scp /home/hadoop-2.7.3/etc/hadoop/* slave2:/home/hadoop-2.7.3/etc/hadoop/

2.3 启动Hadoop

(1)第一次启动HDFS需要初始化,在节点上执行:# cd /home/hadoop-2.7.3  # ./bin/hadoop namenode -format(2) 启动HDFS:# ./sbin/start-dfs.sh  //启动后,访问http://master:50070/ 可以看到HDFS WEB 界面(3)启动YARN:#。/sbin/start-yarn.sh    //成功启动后,访问http://master:8088/即可看到YARN Web界面。

这里也可以直接执行下面的命令一键启动,但第一次启动不建议这样做:

# start-all.sh

到此、Hadoop集群环境已经搭建好了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容