微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Hadoop集群搭建

部署规划

三台centos7虚拟机

172.17.9.27 Master 172.17.9.28 Slave1 172.17.9.29 Slave2 步骤:

一、添加用户

# 创建新用户hadoop useradd -m hadoop -s /bin/bash   设置密码 passwd hadoop 添加管理员权限 visudo

二、centos认安装了ssh

三、安装jdk

解压安装包:tar -zxvf openjdk-7u75-b13-linux-x64-18_dec_2014.tar.gz mv -r java-se-7u75-ri/ /usr/java/ 配置 vim /etc/profile 把以下代码添加到profile文件的done行下面: export JAVA_HOME= /usr/java/ export CLAsspATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin 让修改文件生效:source /etc/profile 查看Java安装结果 java -version

四、修改host

vim /etc/hostname 添加:HOSTNAME=Master

0

五、修改IP映射

vim /etc/hosts

0

六、ssh无密码登录节点

Master 节点可以无密码 SSH 登陆到各个 Slave 节点上 首先生成 Master 节点的公匙,在 Master 节点的终端中执行 # 如果没有该目录,先执行一次ssh localhost cd ~/.ssh               # 删除之前生成的公匙(如果有) rm ./id_rsa*            # 一直按回车就可以 ssh-keygen -t rsa       在Master节点上运行 cat ./id_rsa.pub >> ./authorized_keys 完成后可执行 ssh Master 验证一下(可能需要输入 yes,成功后执行 exit 返回原来的终端)。接着在 Master 节点将上公匙传输到 全部的Slave 节点: scp ~/.ssh/id_rsa.pub hadoop@Slave1:/home/hadoop/

七、配置slave节点

在其他 Slave 节点上配置 hadoop 用户、设置sudo权限,安装 Java 环境,设置映射 接着在 SlaveX 节点上,将 ssh 公匙加入授权: mkdir ~/.ssh # 如果不存在该文件夹需先创建,若已存在则忽略 cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

八、安装Hadoop

解压安装好的 tar -xzvf hadoop-2.7.2.tar.gz mv hadoop-2.7.1 /usr/hadoop # 修改文件权限 sudo chown -R hadoop:hadoop ./hadoop        检查Hadoop是否可用,以下截图为成功截图,输出了版本 ./bin/hadoop version     将 Hadoop 安装目录加入 PATH 变量中,这样就可以在任意目录中直接使用 hadoo、hdfs 等命令了,如果还没有配置的,需要在 Master 节点上进行配置。首先执行 vim ~/.bashrc,加入一行: export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin 保存后执行 source ~/.bashrc 使配置生效。 九、配置集群分布式环境 集群/分布式模式需要修改 /usr/hadoop/etc/hadoop 中的5个配置文件,更多设置项可点击查看官方说明,这里仅设置了正常启动所必须的设置项: slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml 。   1, 文件 slaves,将作为 Datanode 的主机名写入该文件,每行一个认为 localhost,所以在伪分布式配置时,节点即作为 NameNode 也作为 Datanode。分布式配置可以保留 localhost,也可以删掉,让 Master 节点仅作为 NameNode 使用。

0

2, 文件 core-site.xml 改为下面的配置:

0

3, 文件 hdfs-site.xml,dfs.replication 一般设为 3,但我们只有两个 Slave 节点,所以 dfs.replication 的值还是设为 2:

0

4, 文件 mapred-site.xml (可能需要先重命名文件名为 mapred-site.xml.template),然后配置修改如下:

0

5, 文件 yarn-site.xml:

0

配置好后,将 Master 上的 /usr/hadoop 文件夹复制到各个节点上 tar -zcf ~/hadoop.master.tar.gz ./hadoop # 先压缩再复制 在 Slave1 节点上执行:注意上面最后一行的Slave1,其他节点可改为Slave2,3,4等,同样下面也要在不同的节点允许

0

首次启动需要先在 Master 节点执行 NameNode 的格式化: hdfs namenode -format # 首次运行需要执行初始化,之后不需要

0

关闭防火墙centos7 systemctl stop firewalld.service # 关闭firewall systemctl disable firewalld.service # 禁止firewall开机启动 接着可以启动 hadoop 了,启动需要在 Master 节点上进行: start-dfs.sh 出错了 Slave1 Error:JAVA_HOME is not set and Could not be findz 修改hadoop路径下etc/hadoop/hadoop-env.sh文件,将认JAVA_HOME=$JAVA_HOME改成JAVA平台的实际安装目录, 例如:export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386 start-yarn.sh 设置ssh密钥的时候需要用Hadoop账号,不然会出错。 mr-jobhistory-daemon.sh start historyserver 通过命令 jps 可以查看各个节点所启动的进程。正确的话,在 Master 节点上可以看到 NameNode、ResourceManager、SecondrryNameNode、JobHistoryServer 进程,如下图所示:

0

hdfs dfsadmin -report命令,查看HDFS试用情况

 

 

关闭:把stop-dfs.sh 改成 stop-all.sh

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐