3ewewwe 发表于 2017-10-17 12:53:35

centos7下hadoop3.0搭建文档

一 准备资源和环境下载Centos 7.2 的iso安装镜像,jdk1.8 for Linux压缩包,hadoop3.0.0压缩包。下载链接分别如下:
https://www.centos.org/download/
http://www.Oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
http://hadoop.apache.org/releases.html
如下:
# ls
hadoop-3.0.0-alpha4hadoop-3.0.0-alpha4.tar.gzjdk-8u101-linux-x64.rpm
#


准备三台centos7的系统:
Master:192.168.161.133
Slave1:192.168.161.135
Slave2:192.168.161.136

二安装jdk和hadoop1 安装jdk
rpm -ivh jdk-8u101-linux-x64.rpm
查看jdk安装目录
rpm -qal|grep java


2 安装hadoop
进入home目录,直接解压hadoop即可
tar -zvxfhadoop-3.0.0-alpha4.tar.gz

3. 环境变量

vi /etc/profile
#Hadoop 3.0
export HADOOP_HOME=/home/hadoop-3.0.0-alpha4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
注意:/home/hadoop-3.0.0-alpha4为解压路径

三配置hadoop      先在192.168.161.133上面配置hadoop,然后scp到slave上。
hadoop3.0需要配置的文件有core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml、hadoop-env.sh、workers


新建目录:
cd /home/hadoop-3.0.0-alpha4
mkdir tmp
mkdir -p hdfs/{data,name}

1 core-site.xml配置文件 <configuration>
<property>
    <name>fs.defaultFS</name>
   <value>hdfs://192.168.161.133:9000</value>
</property>

<property>
      <name>hadoop.tmp.dir</name>
      <value>file:///home/hadoop-3.0.0-alpha4/tmp</value>
</property>
</configuration>



2 hdfs-site.xml配置文件
<configuration>
<property>
   <name>dfs.replication</name>
   <value>3</value>
</property>
<property>
   <name>dfs.namenode.name.dir</name>
   <value>file:///home/hadoop-3.0.0-alpha4/hdfs/name</value>
</property>
<property>
   <name>dfs.datanode.data.dir</name>
   <value>file:///home/hadoop-3.0.0-alpha4/hdfs/data</value>
</property>
<property>
   <name>dfs.namenode.secondary.http-address</name>
   <value>192.168.161.135:9001</value>
</property>
</configuration>





3 works
192.168.161.135
192.168.161.136



4 mapred-site配置
<configuration>
    <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
    </property>

<property>
<name>mapreduce.application.classpath</name>
<value>
/home/hadoop-3.0.0-alpha4/etc/hadoop,
/home/hadoop-3.0.0-alpha4/share/hadoop/common/*,
/home/hadoop-3.0.0-alpha4/share/hadoop/common/lib/*,
/home/hadoop-3.0.0-alpha4/share/hadoop/hdfs/*,
/home/hadoop-3.0.0-alpha4/share/hadoop/hdfs/lib/*,
/home/hadoop-3.0.0-alpha4/share/hadoop/mapreduce/*,
/home/hadoop-3.0.0-alpha4/share/hadoop/mapreduce/lib/*,
/home/hadoop-3.0.0-alpha4/share/hadoop/yarn/*,
/home/hadoop-3.0.0-alpha4/share/hadoop/yarn/lib/*
</value>
</property>
</configuration>



5 yarn-site.xml配置
<configuration>

<!-- Site specific YARN configuration properties -->
    <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.ShuffleHandle</value>
    </property>
    <property>
      <name>yarn.resourcemanager.resource-tracker.address</name>
      <value>192.168.161.133:8025</value>
    </property>
    <property>
      <name>yarn.resourcemanager.scheduler.address</name>
      <value>192.168.161.133:8030</value>
    </property>
    <property>
      <name>yarn.resourcemanager.address</name>
      <value>192.168.161.133:8040</value>
    </property>
</configuration>



6 hadoop-env.sh中配置java_home
export JAVA_HOME=/usr/java/jdk1.8.0_101





7 将配置好的hadoop文件夹传输到slave上面cd /home/
scp -r hadoop-3.0.0-alpha4root@192.168.161.135:/home/
scp -r hadoop-3.0.0-alpha4root@192.168.161.136:/home/


8 配置服务主机名和域名IP解析
1 linux 配置主机、域名-ipCentOS7下修改主机名
第一种:hostname 主机名
01.hostname 主机名称
这种方式,只能修改临时的主机名,当重启机器后,主机名称又变回来了。
第二种:hostnamectl set-hostname <hostname>
命令行中输入
hostnamectl set-hostname <主机名>
使用这种方式修改,可以永久性的修改主机名称!


1 修改主机名
192.168.161.133 hostnamectl set-hostname master
192.168.161.135 hostnamectl set-hostname slave1
192.168.161.136 hostnamectl set-hostname slave2
/etc/hostname 中会自动更新

2 建立域名IP解析
在192.168.161.133中建立域名解析到ip
vi /etc/hosts
192.168.161.133 master
192.168.161.135 slave1
192.168.161.136 slave2



2 windows本地配置域名解析
像linux的/etc/hosts一样,windows也有一个类似的hosts文件
C:/WINDOWS/system32/drivers/etc/hosts
在这里可以设置本地域名
本地域名是比远程DNS优先级要高的,
所以可以在这里设置本地域名,让域名指向你想要的ip,
特别是在远程域名与多个ip绑定,而你只希望其指向某一个ip的时候

四 启动hadoop1. 格式化namenodebin/hdfs namenode -format
2. 启动dfs及yarnsbin/start-dfs.sh
sbin/start-yarn.sh

启动会报错,解决方法:

2.1 sbin/start-dfs.sh报错:是因为缺少用户定义造成的,所以分别编辑开始和关闭脚本
vim sbin/start-dfs.sh
vim sbin/stop-dfs.sh
在顶部空白处添加内容:
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root


2.2 sbin/start-yarn.sh报错是因为缺少用户定义造成的,所以分别编辑开始和关闭脚本
$ vim sbin/start-yarn.sh
$ vim sbin/stop-yarn.sh
在顶部空白处添加内容:
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root


2.3 可以采用另外一种方法启动启动hadoop
首先格式化主节点命名空间,使用命令:
/home/joe/hadoop-3.0.0-alpha1/bin/hdfsnamenode –formate
其次在主节点上启动存储服务和资源管理主服务。使用命令:
/home/joe/hadoop-3.0.0-alpha1/sbin/hadoop-daemon.sh start namenode #启动主存储服务
/home/joe/hadoop-3.0.0-alpha1/sbin/yarn-daemon.sh start resourcemanager # 启动资源管理服务。
最后在从节点上启动存储从服务和资源管理从服务(以下两条命令要在两台机器上分别执行)
/home/joe/hadoop-3.0.0-alpha1/sbin/hadoop-daemon.sh start datanode #启动从存储服务
/home/joe/hadoop-3.0.0-alpha1/sbin/yarn-daemon.sh start nodemanager #启动资源管理从服务

3 通过jps命令查看master:
# jps
3842 ResourceManager
4217 Jps
2766 NameNode
#

Slave1:
# jps
2561 DataNode
3333 Jps
3224 NodeManager
2621 SecondaryNameNode
#

Slave2:
# jps
3256 Jps
2955 DataNode
3084 NodeManager
#


4现在便可以打开页面http://192.168.161.133:8088及http://192.168.161.133:9870;看到下面两个页面时说明安装成功。

zsy0241 发表于 2017-10-18 09:35:08

非常好!!!!!
页: [1]
查看完整版本: centos7下hadoop3.0搭建文档