前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hadoop集群安装配置实验

Hadoop集群安装配置实验

作者头像
用户1148526
发布2022-05-07 12:45:48
4440
发布2022-05-07 12:45:48
举报
文章被收录于专栏:Hadoop数据仓库

一、环境 四台 VirtualBox上的Linux虚机,每台硬盘20G,内存768M。 IP与主机名: 192.168.56.101 master 192.168.56.102 slave1 192.168.56.103 slave2 192.168.56.104 slave3 主机规划: 192.168.56.101做master,运行NameNode和ResourceManager进程。其它三台主机做slave,运行DataNode和NodeManager进程。 操作系统:CentOS release 6.4 (Final) java版本:jdk1.7.0_75 hadoop版本:hadoop-2.7.2 二、安装前准备 1. 分别在四台机器上建立grid用户 useradd -d /home/grid -m grid usermod -G root grid 2. 分别在四台机器上的/etc/hosts文件中添加如下内容 192.168.56.101 master 192.168.56.102 slave1 192.168.56.103 slave2 192.168.56.104 slave3 以下的操作均使用grid用户执行。 3. 分别在四台机器上安装java(安装包下载已经到grid用户主目录): cd ~ tar -zxvf jdk-7u75-linux-x64.tar.gz 4. 配置免密码ssh(这里配置了任意两台机器都免密码) (1)分别在四台机器上生成密钥对: cd ~ ssh-keygen -t rsa 然后一路回车 (2)在master上执行: cd ~/.ssh/ ssh-copy-id 192.168.56.101 scp /home/grid/.ssh/authorized_keys 192.168.56.102:/home/grid/.ssh/ (3)在slave1上执行: cd ~/.ssh/ ssh-copy-id 192.168.56.102 scp /home/grid/.ssh/authorized_keys 192.168.56.103:/home/grid/.ssh/ (4)在slave2上执行: cd ~/.ssh/ ssh-copy-id 192.168.56.103 scp /home/grid/.ssh/authorized_keys 192.168.56.104:/home/grid/.ssh/ (5)在slave3上执行: cd ~/.ssh/ ssh-copy-id 192.168.56.104 scp /home/grid/.ssh/authorized_keys 192.168.56.101:/home/grid/.ssh/ scp /home/grid/.ssh/authorized_keys 192.168.56.102:/home/grid/.ssh/ scp /home/grid/.ssh/authorized_keys 192.168.56.103:/home/grid/.ssh/ 至此,免密码ssh配置完成。 三、安装配置hadoop 以下的操作均使用grid用户在master主机上执行。 1. 安装hadoop(安装包下载已经到grid用户主目录): cd ~ tar -zxvf hadoop-2.7.2.tar.gz 2. 建立目录 cd ~/hadoop-2.7.2 mkdir tmp mkdir hdfs mkdir hdfs/data mkdir hdfs/name 3. 修改配置文件 (1)编辑~/hadoop-2.7.2/etc/hadoop/core-site.xml文件,添加如下内容,如图1所示。 <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://192.168.56.101:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/home/grid/hadoop-2.7.2/tmp</value> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property> </configuration>

图1 (2)编辑~/hadoop-2.7.2/etc/hadoop/hdfs-site.xml文件,添加如下内容,如图2所示。 <configuration> <property> <name>dfs.namenode.name.dir</name> <value>file:/home/grid/hadoop-2.7.2/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/grid/hadoop-2.7.2/hdfs/data</value> </property> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>192.168.56.101:9001</value> </property> <property> <name>dfs.namenode.servicerpc-address</name> <value>192.168.56.101:10000</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> </configuration>

图2

注意:dfs.namenode.servicerpc-address参数必须设置。 (3)编辑~/hadoop-2.7.2/etc/hadoop/yarn-site.xml文件,添加如下内容,如图3所示。 <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>192.168.56.101:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>192.168.56.101:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>192.168.56.101:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>192.168.56.101:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>192.168.56.101:8088</value> </property> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>1024</value> </property> </configuration>

图3 注意:yarn.nodemanager.resource.memory-mb不能小于1024。 (4)编辑~/hadoop-2.7.2/etc/hadoop/mapred-site.xml文件,添加如下内容,如图4所示。 <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>192.168.56.101:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>192.168.56.101:19888</value> </property> </configuration>

图4 (5)编辑~/hadoop-2.7.2/etc/hadoop/slaves文件,添加如下内容,如图5所示。 192.168.56.102 192.168.56.103 192.168.56.104

图5 (6)编辑~/hadoop-2.7.2/etc/hadoop/hadoop-env.sh文件,修改如下内容,如图6所示。 export JAVA_HOME=/home/grid/jdk1.7.0_75

图6 (7)编辑~/hadoop-2.7.2/etc/hadoop/yarn-env.sh文件,修改如下内容,如图7所示。 export JAVA_HOME=/home/grid/jdk1.7.0_75

图7

(8)将hadhoop主目录复制到各个从服务器上 scp -r ./hadoop-2.7.2 192.168.56.102:/home/grid/ scp -r ./hadoop-2.7.2 192.168.56.103:/home/grid/ scp -r ./hadoop-2.7.2 192.168.56.104:/home/grid/ 四、安装后配置 使用root用户分别在四台机器上的/etc/profile文件中添加如下环境变量,如图8所示。 export JAVA_HOME=/home/grid/jdk1.7.0_75 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export HADOOP_HOME=/home/grid/hadoop-2.7.2 export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_YARN_HOME=$HADOOP_HOME export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/lib export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib" export LD_LIBRARY_PATH=$HADOOP_HOME/lib/native

图8 五、初始化及运行 以下的操作均使用grid用户在master主机上执行。 hdfs namenode -format 结果如图9所示

图9 start-dfs.sh 结果如图10所示

图10

start-yarn.sh 结果如图11所示

图11

查看主节点Java进程,可以看到主节点上启动了NameNode、SecondaryNameNode、ResourceManager守护进程,如图12所示

图12 查看从节点Java进程,可以看到从节点上启动了DataNode、NodeManager守护进程,如图13所示

图13 通过web接口查看NameNode,如图14所示

图14 参考:https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/ClusterSetup.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-02-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档