Hadoop环境搭建

软件以及工具

软件

jdk1.7.0 hadoop-2.7.3 hive-2.1.1
hbase-1.2.5 zookeeper-3.4.10 phoenix-4.10.0

获取软件包请点击

工具

  • 文件上传工具

    Windows推荐secureCRT下使用rz、sz上传下载文件,rz、sz需要下载软件包lrzsz

    Mac同样也可以使用lrzsz 具体配置请点击

配置免密登录

  1. 生成密钥

    ssh-keygen -t rsa

  2. 将公钥复制到远程服务器上

    ssh-copy-id username@remote-server

  3. 登录服务器

    ssh username@server.com

能不能更优雅的登录服务器呢?其实按照如下的配置便可以完成

//编辑config文件也可以编辑/etc/ssh/ssh_config,只不过/etc/ssh/ssh_config全局的
vim ~/.ssh/config 
//如果scp-copy-id命令报错则修改config权限sudo chmod 600 config

//新增如下配置
Host server
    HostName server.com
    User username
    IdentityFile ~/.ssh/id_rsa

输入ssh server登录

配置单节点Hadoop

  1. 修改主机名

     vim /etc/sysconfig/network
     //添加
     HOSTNAME=master
     配置host
     vim /etc/hosts
     192.168.133.138 master
    
  2. 创建hadoop用户

     useradd hadoop(接下来的操作全在hadoop用户下完成)
    
  3. 创建存放软件目录

     修改目录权限
     sudo chown -R  hadoop:hadoop /usr/local
    
     /usr/local/bigdata/software(软件)
     /usr/local/bigdata/tools(软件安装包)
    
  4. 服务器配置ssh免密码登录

     ssh-keygen -t rsa
     ssh-copy-id slave
     免密码登录时为了执行start-all.sh等命令的时候,只要在一个节点(master)执行后其他免密码
     登录的节点也会启动相关进程
    
  5. 设置sudo免密码

     //编辑sudoers文件
     vim /etc/sudoers
     //添加
     hadoop ALL=(ALL) NOPASSWD: ALL
    
  6. 关闭防火墙(更多配置CentOS7防火墙firewalld配置请点击)

     systemctl stop firewalld.service//重启后失效
     systemctl disable firewalld.service//禁用防火墙
    

安装JDK

解压

切换到tools目录下
tar -zxvf jdk-7-linux-x64.tar.gz -C ../software

配置环境变量

vim /etc/profile

export JAVA_HOMT=/usr/local/bigdata/software/jdk1.7.0
export PATH=$JAVA_HOMT/bin:$PATH

source /etc/profile

安装hadoop

解压

切换到tools目录下
tar -zxvf hadoop-2.7.3.tar.gz -C ../software

环境配置

使用sublime Text修改远程文件

  • hadoop-env.sh 配置Hadoop Java运行环境
export JAVA_HOME=/usr/local/bigdata/software/jdk1.7.0
  • core-site.xml
在/usr/local/bigdata/software/hadoop-2.7.3新建data目录
fs.defaultFS配置项表示NameNode在master节点
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/bigdata/software/hadoop-2.7.3/data/temp</value>
</property>
  • hdfs-site.xml
<property>
        <name>dfs.replication</name>
        <value>1</value>
</property>
  • mapred-site.xml
<property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
</property>
  • yarn-site.xml
<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
</property>

启动Hadoop

启动HDFS
  1. 首先格式化NameNode

     hadoop namenode -format
    
  2. 执行start-dfs.sh

     Starting namenodes on [master]
     master: starting namenode, logging to /usr/local/bigdata/software/hadoop-2.7.3/logs/hadoop-hadoop-namenode-master.out
     localhost: starting datanode, logging to /usr/local/bigdata/software/hadoop-2.7.3/logs/hadoop-hadoop-datanode-master.out
     Starting secondary namenodes [0.0.0.0]
     0.0.0.0: starting secondarynamenode, logging to /usr/local/bigdata/software/hadoop-2.7.3/logs/hadoop-hadoop-secondarynamenode-master.out
    
  3. 通过jps验证启动成功

     输入jps命令后你会看到下面的进程:
     15692 DataNode
     15559 NameNode
     16004 Jps
     15861 SecondaryNameNode
    
  4. 访问http://192.168.133.136:50070验证启动成功

启动YARN
  1. 执行start-yarn.sh

  2. 通过jps验证启动成功,新增NodeManager和ResourceManager

     输入jps命令后你会看到下面的进程:
     18051 SecondaryNameNode
     18654 Jps
     17751 NameNode
     18335 NodeManager
     17884 DataNode
     18215 ResourceManager
    
  3. 访问http://192.168.133.136:8088界面查看任务的运行情况

备注:其实我们可以使用start-all.sh来同时启动HDFS和YARN,使用stop-all.sh关闭

运行单词统计的例子

hdfs dfs -mkdir -p  /user/hadoop/mr/wc/in
hdfs dfs -put /etc/profile /user/hadoop/mr/wc/in

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar  wordcount /user/hadoop/mr/wc/in/profile user/hadoop/mr/wc/out

hadoop fs -ls  user/hadoop/mr/wc/out

配置Hadoop集群

Hadoop集群集群的配置和单节点Hadoop配置基本差不多,我们按照单节点Hadoop配置的方法,重命名机器名,绑定host,配置ssh,关闭防火墙等。现在需要列出集群的配置文件的不同,下面是集群可以正常启动基本配置。

备注:本教程配置为1个master和一个slave

环境配置

  • slaves文件
将作为DataNode的主机名写入该文件,本教程master节点仅作为NameNode使用,所以只删除原有内容添加内容:
slave
这个表示有1个NameNode
  • hadoop-env.sh
export JAVA_HOME=/usr/local/bigdata/software/jdk1.7.0
  • core-site.xml
fs.defaultFS配置项表示NameNode在master节点
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>/usr/local/bigdata/software/hadoop-2.7.3/data/temp</value>
</property>
  • 新增masters文件配置SecondaryNameNode

测试发现没有masters文件只需配置hdfs-site.xml便可以指定SN

表示slave为SecondaryNameNode,同时还需配置hdfs-site.xml
slave
  • hdfs-site.xml
dfs.namenode.secondary.http-address配置SecondaryNameNode请求地址
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>slave:50090</value>
</property>
dfs.replication表示有几个副本,slaves文件中配置的slaves个数
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>
<property>
    <name>dfs.namenode.name.dir</name>

    <value>file:/usr/local/bigdata/software/hadoop-2.7.3/data/temp/dfs/name</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/usr/local/bigdata/software/hadoop-2.7.3/data/temp/dfs/data</value>
</property>
  • mapred-site.xml
<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
</property>
<property>
        <name>mapreduce.jobhistory.address</name>
        <value>master:10020</value>
</property>
<property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>master:19888</value>
</property>
  • yarn-site.xml
<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
  </property>
  <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
  </property>

备注:配完master的配置文件后,将jdk和hadoop拷贝(scp)到别的机器

启动Hadoop集群

  1. 在mster机器下,执行start-all.sh命令,启动后执行jps我们会看到下面的进程

     17082 Jps
     16303 NameNode
     16650 ResourceManager
    
  2. 在slave机器下,启动后执行jps我们会看到下面的进程
    3147 SecondaryNameNode
    3146 NodeManager
    3036 DataNode
    3335 Jps

  3. 同时也可以在任何机器上执行hdfs dfsadmin -report查看集群状态

     [hadoop@slave data]$ hdfs dfsadmin -report
     Configured Capacity: 18238930944 (16.99 GB)
     Present Capacity: 15099506688 (14.06 GB)
     DFS Remaining: 15099498496 (14.06 GB)
     DFS Used: 8192 (8 KB)
     DFS Used%: 0.00%
     Under replicated blocks: 0
     Blocks with corrupt replicas: 0
     Missing blocks: 0
     Missing blocks (with replication factor 1): 0
    
     -------------------------------------------------
     Live datanodes (1):
    
     Name: 192.168.133.137:50010 (slave)
     Hostname: slave
     Decommission Status : Normal
     Configured Capacity: 18238930944 (16.99 GB)
     DFS Used: 8192 (8 KB)
     Non DFS Used: 3139424256 (2.92 GB)
     DFS Remaining: 15099498496 (14.06 GB)
     DFS Used%: 0.00%
     DFS Remaining%: 82.79%
     Configured Cache Capacity: 0 (0 B)
     Cache Used: 0 (0 B)
     Cache Remaining: 0 (0 B)
     Cache Used%: 100.00%
     Cache Remaining%: 0.00%
     Xceivers: 1
     Last contact: Sat Apr 08 02:12:37 EDT 2017
    

备注:集群启动成功后我们同样也可运行单词统计的例子

遇到的问题:

  1. 一定要关闭机器的防火墙,保证机器间的互通

  2. 当遇到NameNode无法启动时,删除/usr/local/bigdata/software/hadoop-2.7.3/data/temp重新mkdir下面的文件,然后执行hadoop namenode -format、start-all.sh

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

推荐阅读更多精彩内容