centos7下配置Hadoop全分布式环境
来源:互联网 发布:如何学习unity3d 编辑:程序博客网 时间:2024/06/05 22:49
配置Hadoop全分布式环境
一、准备工作
准备三台虚机并保证能相互ping通
主机名的修改:
vim /etc/hostname
按照一定的格式修改三台机器的主机名。
配置Hosts
vim /etc/hosts
添加映射到hosts文件
192.168.162.177 Master.Hadoop192.168.162.155 Slave1.Hadoop192.168.162.166 Slave2.Hadoop
三台机器配置相同的hosts
二、关闭防火墙
- ### 查看防火墙状态
systemctl status firewalld
- ### 查看开机是否启动防火墙服务
systemctl is-enabled firewalld
- ### 关闭防火墙
systemctl stop firewalldsystemctl status firewalld
- ### 警用防火墙(系统启动时不启动防火墙)
systemctl disable firewalldsystemctl is-enabled firewalld
- ### 确保setlinux关闭
setenforce 0
三、免密登录
首先虚机需要安装ssh如果没有安装,可以通过yum进行安装
yum install openssh-serveryum install openssh-clients
为什么要免密登录?
因为我们的nameNode与dataNode是在不同的主机上,我们需要主机间做互信,nameNode可以不用密码登录到dataNode。
Master.Hadoop
在master主机输入生成秘钥
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
将秘钥追加到authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
然后利用scp将其复制到两个slave主机上
Slave1
在Slave1主机上输入
scp root@Master.Hadoop:~/.ssh/id_dsa.pub ~/.ssh/master_dsa.pubcat ~/.ssh/master_dsa.pub >> ~/.ssh/authorized_keys
Slave2
在Slave2主机输入
scp root@Master.Hadoop:~/.ssh/id_dsa.pub ~/.ssh/master_dsa.pubcat ~/.ssh/master_dsa.pub >> ~/.ssh/authorized_keys
测试
在master主机上连接两个主机,如果不需要密码,说明免密成功
ssh Stave1.Hadoopexitssh Stave2.Hadoopexit
四、配置JDK
在master主机上配置jdk,然后scp到其他两台主机即可。
官网下载jdk 1.8
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下载jdk-8u151-linux-x64.tar.gz并复制到 /usr/lib目录下
解压
tar -zxvf jdk-8u151-linux-x64.tar.gz
配置环境变量
vim /etc/profile
添加如下内容
#set java enviroenmentexport JAVA_HOME=/usr/lib/jdk1.8.0_151export PATH=$JAVA_HOME/bin:$PATH
使环境变量生效
. /etc/profile
验证jdk
[root@shirukai ~]# java -versionjava version "1.8.0_151"Java(TM) SE Runtime Environment (build 1.8.0_151-b12)Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
将jdk目录发送到两台Slave主机
scp -r /usr/lib/java-1.8.0_151 root@Slave1.Hadoop:/usr/lib/scp -r /usr/lib/java-1.8.0_151 root@Slave2.Hadoop:/usr/lib/
配置环境变量就不要统一发送了,每台机子单独配置,方法跟master一样。
五、下载Hadoop(master主机)
注意:这里同样只在master主机下载,并配置,然后利用scp发送到其他两台slave主机上
在usr目录下创建hadoop目录
cd /usrmkdir hadoopcd hadoop
下载hadoop
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.4/hadoop-2.7.4.tar.gz
地址:
http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.4/hadoop-2.7.4.tar.gz
解压hadoop-2.7.4.tar.gz
tar -zxvf hadoop-2.7.4.tar.gz
在 hadoop目录下创建目录
mkdir /usr/hadoop/tmp mkdir /usr/hadoop/hdfs mkdir /usr/hadoop/hdfs/data mkdir /usr/hadoop/hdfs/name
六、配置Hadoop
1.配置系统环境变量
vim /etc/profile
添加内容
#set hadoop pathexport HADOOP_HOME=/usr/hadoop/hadoop-2.7.4export PATH=$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH
2.配置hadoop-env.sh
将java的环境变量配置到里面指定位置(大约在25行)
# The java implementation to use.export JAVA_HOME=/usr/lib/jdk1.8.0_151
3.配置yarn-env.sh
在大约26行位置
25 echo "run java in $JAVA_HOME" 26 JAVA_HOME=$JAVA_HOME
4.配置core-site.xml
<configuration> <property> <name>fs.default.name</name> <value>hdfs://Master.Hadoop:9000</value> <description>HDFS的URI,文件系统://namenode标识:端口号</description></property><property> <name>hadoop.tmp.dir</name> <value>/usr/hadoop/tmp</value> <description>namenode上本地的hadoop临时文件夹</description></property><property> <name>io.file.buffer.size</name> <value>131073</value></property></configuration>
5.配置hdfs-site.xml
<configuration><property> <name>dfs.name.dir</name> <value>file:/usr/hadoop/hdfs/name</value> <description>namenode上存储hdfs名字空间元数据 </description></property><property> <name>dfs.data.dir</name> <value>file:/usr/hadoop/hdfs/data</value> <description>datanode上数据块的物理存储位置</description></property><property> <name>dfs.namenode.secondary.http-address</name> <value>master.hadoop:9001</value></property><property> <name>dfs.replication</name> <value>2</value> <description>副本个数,配置默认是3,应小于datanode机器数量</description></property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property></configuration>
6.配置mapred-site.xml(这个文件没有需要创建)
<configuration><property> <name>mapreduce.framework.name</name> <value>yarn</value> <property> <name>mapreduce.jobhistory.address</name> <value>Master.Hadoop:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>Master.Hadoop:19888</value> </property></property></configuration>
7.配置yarn-site.xml
<configuration><!-- Site specific YARN configuration properties --><property> <name>yarn.resourcemanager.address</name> <value>Master.Hadoop:18040</value></property><property> <name>yarn.resourcemanager.scheduler.address</name> <value>Master.Hadoop:18030</value></property><property> <name>yarn.resourcemanager.webapp.address</name> <value>Master.Hadoop:18088</value></property><property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>Master.Hadoop:18025</value></property><property> <name>yarn.resourcemanager.admin.address</name> <value>Master.Hadoop:18141</value></property><property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value></property><property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value></property>
8.添加 masters文件
192.168.162.177
9.修改slaves
192.168.162.155192.168.162.166
10.将配置后的hadoop利用scp发送到两台slave主机上
发送给slave1
scp -r /usr/hadoop root@Slave1.Hadoop:/usr/
发送给slave2
scp -r /usr/hadoop root@Slave2.Hadoop:/usr/
11.配置另外两台slave的Hadoop环境变量
分别编辑vim /etc/profile然后添加如下内容:
#set hadoop pathexport HADOOP_HOME=/usr/hadoop/hadoop-2.7.4export PATH=$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH
七、启动服务
只在master主机上启动服务即可
1.格式化namenode
hdfs namenode -format
2.启动namenode和datanode守护进程
start-dfs.sh
3.启动Resourcemanager和NodeManager守护进程
start-yarn.sh
八、测试服务
在master主机输入jps查看进程
[root@Master ~]# jps1328 SecondaryNameNode1141 NameNode1813 Jps1478 ResourceManager
在slave1主机输入jps
[root@Slave1 ~]# jps2500 NodeManager2392 DataNode2634 Jps
在slave2 主机输入jps
[root@Slave2 ~]# jps2583 NodeManager2473 DataNode2715 Jps
访问Master.Hadoop:50070即 192.168.162.177:50070查看集群状况
- centos7下配置Hadoop全分布式环境
- hadoop+hbase全分布式环境配置
- 全分布式Hadoop安装以及环境配置
- centos7 安装hadoop:伪分布式配置、全分布模式配置
- Hadoop全分布式配置
- hadoop 全分布式配置
- Hadoop全分布式配置
- Centos7 下 Hadoop 2.6.4 分布式集群环境搭建
- centos7环境下hadoop-2.7.3伪分布式搭建
- Centos7 下 Hadoop 2.6.4 分布式集群环境搭建
- centos7配置hadoop伪分布式
- hadoop+hive+zookeeper+hbase全分布式环境配置
- ubuntu环境hadoop全分布式模式配置过程
- Hadoop全分布式环境搭建
- Hadoop全分布式环境搭建
- hadoop分布式环境配置
- Ubuntu环境下Hadoop集群/分布式环境配置
- centos7 系统下HADOOP和Java 的环境配置
- Android ARM64 如何指定链接脚本文件.
- 第一次使用Android Studio时你应该知道的一切配置(三):gradle项目构建
- java中mongoDB连接遇到的问题
- TP3.2_1
- Linux的常用命令
- centos7下配置Hadoop全分布式环境
- 如何成为一个数据驱动的公司?
- Appium使用swipe定位滚动列表和滚动屏幕元素
- Java中Lambda表达式的学习
- Linux系统下更改Apache默认访问的网站目录
- 【UI设计】3、Material Design兼容
- Tachyon---基于内存的分布式存储系统
- Ubuntu|使用x11vnc进行远程桌面连接
- 北亚 服务器RAID5数据恢复方案及过程