Hadoop 3.+ CentOS 7 下安装步骤

纯命令行环境, 虚拟机配置集群

  1. 本机环境
    windows 10


    image.png
  2. 集群配置:master + slave1 + slave2, 三台机器均为 1核心 2GB 内存 20GB硬盘, master 可以配置小内存点,slave是工作节点需要大点

准备

  1. 新建虚拟机, 最低配置 1核心 2GB 内存 20GB硬盘
  2. 安装 Cento OS7系统, 选择 '最简安装' 降低系统负担;给root用户设密码

本文只讨论单root用户的情况,所以没有任何权限的问题(实际上这是不安全的

  1. 修改主机名
# hostname // 查看当前主机
localhost.admin
# hostname master // 修改主机名为master
# exit // 登出
  1. 重新登入
  2. 联网
    5.1 通过ifconfig 确定虚拟机的网卡, ens33 (lo 是本地回环)


    image.png

    5.2 键入命令

# vi /etc/sysconfig/network-scripts/ifcfg-ens33    // 取决于自己的网卡
设置 ONBOOT=yes
# service network restart
  1. 通过pscp软件把JDK和Hadoop的压缩包传入, 解压, 配置JDK(略)

Master 安装Hadoop

  1. 创建一些目录供 Hadoop 程序使用。可能变的很大,最好选一些分配磁盘空间较多的挂载点下的路径
mkdir -p /root/hadoop/tmp  
mkdir -p /root/hadoop/var  
mkdir -p /root/hadoop/dfs/name  
mkdir -p /root/hadoop/dfs/data
  1. 改 $HADOOP_HOME/etc/hadoop/ 中的几个配置文件. 相关配置具体含义及作用不属于本文讨论范围, 请参考其它相关文档。

2.1 core-site.xml // Hadoop整体的一些参数配置

<property>
     <name>hadoop.tmp.dir</name>
     <value>/usr/local/hadoop-3.1.2/tmp</value>
</property>
<property>
     <name>fs.default.name</name>
     <value>hdfs://test-1:9000</value>
</property>

2.2 hdfs-site.xml // HDFS模块的配置

<property>
    <name>dfs.name.dir</name>
    <value>/usr/local/hadoop-3.1.2/dfs/name</value>
</property>
<property>
    <name>dfs.data.dir</name>
    <value>/usr/local/hadoop-3.1.2/dfs/data</value>
</property>
<property>
    <name>dfs.replication</name>
    <value>2</value>
</property>
<property>
    <name>dfs.permissions</name>
    <value>false</value>
</property>

2.3 mapred-site.xml // MapReduce模块的配置
假设我的Hadoop 路径是 /usr/local/hadoop-3.0.0-beta1, 下同

<property>
    <name>mapred.job.tracker</name>
    <value>test-1:49001</value>
</property>
<property>
     <name>mapred.local.dir</name>
     <value>/usr/local/hadoop-3.1.2/var</value>
</property>
<property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
</property>
<property>
     <name>yarn.app.mapreduce.am.env</name>
     <value>/usr/local/hadoop-3.1.2</value>
</property>
<property>
     <name>mapreduce.map.env</name>
     <value>/usr/local/hadoop-3.1.2</value>
</property>
<property>
     <name>mapreduce.reduce.env</name>
     <value>/usr/local/hadoop-3.1.2</value>
</property>
<property>
  <name>yarn.app.mapreduce.am.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
  <name>mapreduce.map.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
  <name>mapreduce.reduce.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

2.4 yarn-site.xml // YARN模块的配置, 很重要, 稍微不注意就跑不起来。比如说内存,最简单的 wordcount 都需要超过 1GB 内存,所以低于了就跑不了。具体请参考 YARN中内存和CPU两种资源的调度和隔离

<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>test-1</value>
   </property>
   <property>
        <description>The address of the applications manager interface in the RM.</description>
        <name>yarn.resourcemanager.address</name>
        <value>${yarn.resourcemanager.hostname}:8032</value>
   </property>
   <property>
        <description>The address of the scheduler interface.</description>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>${yarn.resourcemanager.hostname}:8030</value>
   </property>
   <property>
        <description>The http address of the RM web application.</description>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>${yarn.resourcemanager.hostname}:8088</value>
   </property>
   <property>
        <description>The https adddress of the RM web application.</description>
        <name>yarn.resourcemanager.webapp.https.address</name>
        <value>${yarn.resourcemanager.hostname}:8090</value>
   </property>
   <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>${yarn.resourcemanager.hostname}:8031</value>
   </property>
   <property>
        <description>The address of the RM admin interface.</description>
        <name>yarn.resourcemanager.admin.address</name>
        <value>${yarn.resourcemanager.hostname}:8033</value>
   </property>
   <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
   </property>
 <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
   </property>
<property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
   </property>
   <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>2048</value>
   </property>
   <property>
        <name>yarn.nodemanager.resource.cpu-vcores</name>
        <value>1</value>
   </property>
   <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
   </property>

2.5 hadoop-env.sh

补一行
export JAVA_HOME=YOUR_JAVA_HOME_PATH

2.6 works // 工作节点配置
将里面的localhost删除, 改为

test-2
test-3

2.7 sbin/start-dfs.sh sbin/stop-dfs.sh
在空白位置补

HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

2.8 sbin/start-yarn.sh sbin/stop-yarn.sh
在空白位置补

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
  1. 执行命令
在 namenode 上执行 hdfs namenode -format
然后进入 sbin 目录下
./start-all.sh

正常的话,根据配置文件不同,可能细微差别
NameNode 是 MR 的 master 节点,DataNode 是 worker;NodeManager 是 YARN 在工作节点上的,ResourceManger 是主节点。


image.png

HDFS的管理介面, YARN 的管理介面

可以根据跑 demo 然后看报不报错,报什么错再改。

  1. 配置静态ip

3.1 在VMware 的虚拟网络编辑器中 查看


image.png

3.2 # vi /etc/sysconfig/network-scripts/ifcfg-ens33 // 取决于自己的网卡

// 重点
BOOTPROTO=static //取消DHCP
IPADDR=192.168.209.130 //任意指定IPV4地址, 但要在子网内
GATEWAY=192.168.209.2 //输入在 3.1中看见的
NETMASK=255.255.255.0 //输入在 3.1中看见的
DNS1=223.5.5.5 //阿里DNS
DNS2=223.6.6.6 //阿里DNS

最终如下


image.png

输入ifconfig 查看是否成功修改

  1. 配置环境变量 #vi /etc/profile


    image.png

    不要忘了 source /etc/profile

Slave

  1. 克隆两台虚拟机, 完整克隆, 打开
  2. [Slave两台都要]修改hostname
  3. [Slave两台都要]修改自己的IP
  4. [Slave两台都要], # vi /etc/hosts
    image.png

配置免密ssh

  1. [Master, Slave1, Slave2]
ssh-keygen  -t   rsa   -P  '' //敲回车就行, 保证公匙一致
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys // 把自己的公匙写入authorized_keys
  1. [Master, Slave1, Slave2]
    互相拷贝
// master
ssh-copy-id root@slave1
ssh-copy-id root@slave2 
// slave1
ssh-copy-id root@master
ssh-copy-id root@slave2 
// slave2
ssh-copy-id root@master
ssh-copy-id root@slave1
  1. 测试均免密通过才算配置正确, 否则一定要检查原因并排除
ssh root@localhost
ssh root@other_server 

启动

[Master]

hdfs namenode -format
/usr/local/hadoop-3.0.0.beta1/sbin/start-all.sh 

WEB管理界面


image.png

可能问题

  1. 防火墙没关
systemctl stop firewalld.service
systemctl disable firewalld
  1. SELinux没关
  2. 执行mapreduce任务报错
# hadoop classpath // 找到hadoop的classpath
# vi yarn-site.xml
// 在里面补
<property>
    <name>yarn.application.classpath</name>
    <value>XXXX</value>
</property>

参考 http://www.jianshu.com/p/b49712bbe044

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354