logo资料库

非常详细的centos7.0下Hadoop2.7.1集群搭建教程.doc

第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
资料共12页,剩余部分请下载后查看
二、Host配置和创建hadoop用户
192.168.1.249 master
192.168.1.2 slave1
192.168.1.221 slave2
192.168.1.103 slave3
三、Hadoop的安装与配置
#主机apollo.hadoop.com上,开启所有节点
$HADOOP_HOME/bin/hdfs namenode -format
sh $HADOOP_HOME/sbin/start-all.sh
* 如果存在上面状态,说明Hadoop的集群搭建成功*
一、基础环境 在 Linux 上安装 Hadoop 之前,需要先安装两个程序: 1.1 安装说明 1. JDK 1.6 或更高版本(本文所提到的安装的是 jdk1.7);(本次服务器已有 1.8) 2. SSH(安全外壳协议),推荐安装 OpenSSH。 下面简述一下安装这两个程序的原因: 1. Hadoop 是用 Java 开发的,Hadoop 的编译及 MapReduce 的运行都需要使用 JDK。 2. Hadoop 需要通过 SSH 来启动 salve 列表中各台主机的守护进程,因此 SSH 也是必须 安装的,即使是安装伪分布式版本(因为 Hadoop 并没有区分集群式和伪分布式)。对于伪 分布式,Hadoop 会采用与集群相同的处理方式,即依次序启动文件 conf/slaves 中记载 的主机上的进程,只不过伪分布式中 salve 为 localhost(即为自身),所以对于伪分布式 H adoop,SSH 一样是必须的。 1.1 JDK 的安装与配置 见:附一安装方法 第一步:下载 Linux 环境下的 jdk1.8,请去(官网)中下载 jdk 的安装文件 (http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363. html); 由于我的 Linux 是 64 位的,因此我下载 jdk-8u171-linux-x64.tar.gz 文件。 第二步:新建/usr/java 文件夹,将 jdk-8u171-linux-x64.tar.gz 放到该文件夹中, 并将工作目录切换到/usr/java 目录下。 tar -zxvf jdk-8u171-linux-x64.tar.gz 第三步:配置环境变量: 在 vi /etc/profile 底部加入如下内容: JAVA_HOME=/usr/java/jdk1.8.0_171 CLASSPATH=$JAVA_HOME/lib/ PATH=$PATH:$JAVA_HOME/bin export PATH JAVA_HOME CLASSPATH
第四步:使用 source /etc/profile 让 profile 文件立即生效。 第五步:命令测试, ①、使用 javac 命令 ②、使用 java -version,出现版本号 二、Host 配置和创建 hadoop 用户 1、由于我搭建 Hadoop 集群包含三台机器,所以需要修改调整各台机器的 hosts 文件配 置,进入/etc/hosts,配置主机名和 ip 的映射,命令如下: vi /etc/hosts 如果没有足够的权限,可以切换用户为 root。 三台机器的内容统一增加以下 host 配置: 可以通过 hostname 来修改服务器名称为 master、slave1、slave2、slave3 hostname master 192.168.1.249 master 192.168.1.2 slave1 192.168.1.221 slave2 192.168.1.103 slave3 2、在主机 root 用户下 #创建 hadoop 用户,新生成的用户,会在根目录/home/hadoop/下面 useradd hadoop passwd hadoop #输入两次密码 同理依次在 slave1、slave2、slave3 中创建相同的用户 su hadoop #所有配置主机进入 hadoop 用户 3、配置免密 ssh 在主机 master 上输入:
#连续按回车,如果有确定输入:y 或 yes ssh-keygen -t rsa 完成后进入.ssh 目录 cat id_rsa.pub >> authorized_keys #将生成的公钥文件写入 authorized_keys 文件 注意:slave1/slave2/slave3 中如果没有.ssh 目录,slave 从机要执行一下 ssh-keygen -t rsa 命令, scp -r authorized_keys hadoop@192.168.1.2:/home/hadoop/.ssh/#输入密码 scp -r authorized_keys hadoop@192.168.1.221:/home/hadoop/.ssh/ scp -r authorized_keys hadoop@192.168.1.103:/home/hadoop/.ssh/ 验证是否成功:在主机 master 上输入:#可依次进入对应从机,无需密码 ssh slave1 输入:exit ssh slave2 #退出从机 ssh slave3 三、Hadoop 的安装与配置 3.1 创建文件目录 为了便于管理,给 Master 的 hdfs 的 NameNode、DataNode 及临时文件,在用户目录 下创建目录: /home/hadoop/hadoop/hdfs/name /home/hadoop/hadoop/hdfs/data /home/hadoop/hadoop/tmp 然后将这些目录通过 scp 命令拷贝到 Slave1、Slave2、slave3 的相同目录下。 #新建 hadoop 文件夹 #进入文件夹 #新建文件夹 #新建目录 cd /home/hadoop #这是用户目录 mkdir hadoop cd hadoop mkdir hdfs tmp cd hdfs mkdir name data #进入/home/hadoop 目录,将 hadoop 复制到另外三台 scp -r hadoop hadoop@slave1:/home/hadoop/ scp -r hadoop hadoop@slave2:/home/hadoop/ scp -r hadoop hadoop@slave3:/home/hadoop/ 3.2 下载 #配置了 hosts 首先到 http://archive.apache.org/dist/hadoop/core/hadoop-2.7.1/下载 Hadoop, 我选择 hadoop-2.7.1 的版本,并使用以下命令下载到 Master 机器的 /home/hadoop/hadoop 目录:
wget http://archive.apache.org/dist/hadoop/core/hadoop-2.7.1/hadoop-2.7.1. tar.gz 然后使用以下命令将 hadoop-2.7.1.tar.gz 解压缩到/home/hadoop/hadoop 目录 tar -zxvf hadoop-2.7.1.tar.gz 修改 hadoop 的所属主 chown -R hadoop:hadoop /home/hadoop/hadoop/hadoop-2.7.1 3.3 配置环境变量 回到/home/hadoop/hadoop 目录,配置 hadoop 环境变量,命令如下: vi /etc/profile 在/etc/profile 添加如下内容 export HADOOP_HOME=/home/hadoop/hadoop/hadoop-2.7.1 export JAVA_HOME=/usr/local/src/java/jdk1.8.0_171 #注意这里的 java_home 每台机子不一定一样 export JRE_HOME=/usr/local/src/java/jdk1.8.0_171/jre export CLASSPATH=.:$JAVA_HOME/lib$:JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin/$JAVA_HOME:$PATH:$HAD OOP_HOME/bin 立刻让 hadoop 环境变量生效,执行如下命令: source /etc/profile 再使用 hadoop 命令,发现可以有提示了,则表示配置生效了。
3.4 Hadoop 的配置 进入 hadoop-2.7.1 的配置目录: cd /home/hadoop/hadoop/hadoop-2.7.1/etc/hadoop 依次修改 core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml 以及 sla ves 文件。
3.4.1 修改 core-site.xml vi core-site.xml fs.defaultFS hdfs://master:7010 dfs.namenode.checkpoint.period 1800 fs.checkpoint.size 67108864
fs.trash.interval 1440 hadoop.tmp.dir /home/hadoop/hadoop/tmp io.file.buffer.size 131702 注意:hadoop.tmp.dir 的 value 填写对应前面创建的目录 3.4.2 修改 vim hdfs-site.xml vi hdfs-site.xml dfs.namenode.name.dir file:/home/hadoop/hadoop/hdfs/name dfs.datanode.data.dir file:/home/hadoop/hadoop/hdfs/data
dfs.namenode.http-address master:7020 dfs.namenode.secondary.http-address slave1:7021 dfs.webhdfs.enabled true dfs.replication 3 dfs.datanode.du.reserved 1073741824 dfs.block.size 134217728 dfs.permissions.enabled false 注意:dfs.namenode.name.dir 和 dfs.datanode.data.dir 的 value 填写对 应前面创建的目录 3.4.3 修改 vim mapred-site.xml
分享到:
收藏