hadoop笔记一:环境搭建

一、Linux环境配置

1.这里准备三台虚拟机用来搭建hadoop集群。

10.118.213.211          secms-tomcat211
10.118.213.212          secms-tomcat212
10.118.213.216          secms-tomcat216

其中211作为master。

2.安装JDK,这里版本为1.8。

vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_151
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$PATH:$JAVA_HOME/bin

3.配置hosts文件

vim /etc/hosts
192.168.1.111   master01
192.168.1.112   slaveone02
192.168.1.113   slaveone03

4.建立hadoop账号

useradd hadoop  创建用户hadoop
passwd hadoop  给已创建的用户设置密码

5.设置ssh免密码登录

通过hadoop账号登陆到secms-tomcat211上,在/home/hadoop目录下执行命令:

ssh-keygen -t rsa

多次回车之后在/home/hadoop/.ssh目录下产生id_rsa和id_rsa.pub文件。在其他主机上面使用同样方式产生秘钥文件。

在secms-tomcat211上面使用如下命令

cat id_rsa.pub >> authorized_keys

将id_rsa.pub公钥内容拷贝到authorized_keys文件中。

登录其他主机,将其他主机的公钥文件内容都拷贝到secms-tomcat211主机上的authorized_keys文件中。

命令如下:

ssh-copy-id -i secms-tomcat211

查看secms-tomcat211主机上的authorized_keys文件内容

cat authorized_keys 
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwioob4cnpLc+OyqE3i4gX718HNf80c7gQcA+Kpmta4Rk/n/kbmYT83h4XoeMVMBZ9h5/t5uvmetF+/dMIa7DJKz0cTXvwa4XYH0rV7vnL+Kpx57pWbiLNGI1SogG6sp85xlTZ8Se8Fxr3V77to6VoonU5aUa6nWY4SPhCf7iBcSFnnEwC0H98UQpRmajZyYZrenLrlHtGkA1X5fEcTiRGeQsPzkHDQ6Vjkc24HDfLH1ojDLIh+M4CcFiixxyEeTxBLuRHM0DQqPT0oIeT066bnzmPEXLjfHueiTQJqg9lpFxOP+1GUtBHhvgzszRjscH0S9EiRl1ZgBl7tRFZoDKIw== hadoop@secms-tomcat211
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAs/YEWUC5/TIIHEMvD3LlpQXAiBPhX3LIsjl4lKKuLduyzhhiRy93T5htCToldoXgeIzDD8T0/eOg9ATm/MJ2FJ6lS56RpI5eCuq/QKxz0b+ocKsOfnaYEXsx6V4O1x5dgU/5h+yeNR+hLJjyTm5Frh8LKUJYj0kx+WgL37Yv/0WTf9wtdF8htjIu5hupSqXyi7eK/wRqyKzNChG78YMKXCmjJyMML+s1BnOLwcU/rYIiICdDJi8g44C3H8qQMCEQFfVySOvWFHYW2MCpIARC2jaemabYRkgInekNu+EYgKo9HtKbbMVCU9X+tPcxw+NWx/TAtHVbWghIuO2rJJW+Tw== hadoop@secms-tomcat212
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEArsOs0oMen1oUPz6cSZfV79EaMBIJr3P3R6Ju2ooYNFO3qx212Zz1kCtcmIsBs/qLksU1mtak35o4hdR4H4KBWLZ2E6jBj09rDapt0Z6vJsCkTtR+YC/+olrybaGNkRJn5WlzIh+MSZY+6MTlzX/YHrnjJH6D0LV+vALi4MrxtOflBPG+xJTCQ3df0eEIaYFw9xYZDjhsttzJHl6N7KyQf1qYWIEwaN8CmKYhPD1NwP/5xKnRTuEVwiQN5PXkzAw9hgdvkKRUOsDfePxJrkJVpIzktS84IeiwxcefEanqLOmoB+lSCpaJpXfzs7Zew7girFxUE/ORpO64bTRyr2LsNQ== hadoop@secms-tomcat216

授权authorized_keys文件

chmod 600 authorized_keys

将authorized_keys拷贝到secms-tomcat212和secms-tomcat216上面。

scp /home/hadoop/.ssh/authorized_keys secms-tomcat212:/home/hadoop/.ssh/
scp /home/hadoop/.ssh/authorized_keys secms-tomcat216:/home/hadoop/.ssh/

至此,免密码登录已经设定完成,注意第一次ssh登录时需要输入密码,再次访问时即可免密码登录。

二、hadoop安装

1.下载hadoop压缩包hadoop-2.7.5.tar.gz,拷贝到/home/hadoop/目录下进行解压。

232027_HoBp_3100849.png

2.配置hadoop环境变量

export HADOOP_HOME=/home/hadoop/hadoop-2.7.5
export JAVA_HOME=/usr/java/jdk1.8.0_151
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

3.创建文件目录

给Master上面hdfs的NameNode、DataNode及临时文件。并使用scp命令将新建的文件夹目录拷贝到其他主机上面。

/home/hadoop/hdfs/data
/home/hadoop/hdfs/name
/home/hadoop/hdfs/tmp

4.配置slaves文件

slaves文件中指定Datanode的节点

secms-tomcat212
secms-tomcat216

5.配置core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml

core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://secms-tomcat211:8020</value>//这里配置主节点
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/home/hadoop/hdfs/tmp</value>//运行产生的临时数据文件存放位置
    </property>
</configuration>

hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>2</value>//备份2分
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/hadoop/hdfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/hadoop/hdfs/data</value>
    </property>
</configuration>

mapred-site.xml

<configuration>
	<property>
        <name>mapreduce.framework.name</name> //mapreduce使用yarn来调度
        <value>yarn</value>
    </property>
</configuration>

yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>secms-tomcat211</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

将配置文件拷贝到其他主机上面

//拷贝到secms-tomcat216
scp core-site.xml hadoop@secms-tomcat212:/home/hadoop/hadoop-2.7.5/etc/hadoop/
scp hdfs-site.xml hadoop@secms-tomcat212:/home/hadoop/hadoop-2.7.5/etc/hadoop/
scp mapred-site.xml hadoop@secms-tomcat212:/home/hadoop/hadoop-2.7.5/etc/hadoop/
scp yarn-site.xml hadoop@secms-tomcat212:/home/hadoop/hadoop-2.7.5/etc/hadoop/

//拷贝到secms-tomcat216
scp core-site.xml hadoop@secms-tomcat216:/home/hadoop/hadoop-2.7.5/etc/hadoop/
scp hdfs-site.xml hadoop@secms-tomcat216:/home/hadoop/hadoop-2.7.5/etc/hadoop/
scp mapred-site.xml hadoop@secms-tomcat216:/home/hadoop/hadoop-2.7.5/etc/hadoop/
scp yarn-site.xml  hadoop@secms-tomcat216:/home/hadoop/hadoop-2.7.5/etc/hadoop/

6.修改hadoop-env.sh中jdk路径

export JAVA_HOME=/usr/java/jdk1.8.0_151

7.关闭主机上面的防火墙

service iptables stop

8.格式化namenode

在secms-tomcat211上面执行

bin/hdfs namenode -format

提示(成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错)。

9.启动NameNode 和 DataNode进程

在master节点执行启动命令:

sbin/start-dfs.sh

执行jps查看启动情况

29121 SecondaryNameNode
28914 NameNode
30681 Jps

分别在secms-tomcat212、secms-tomcat216执行jps查看启动情况

6474 DataNode
8250 Jps

hdfs监控界面:http://10.118.213.211:50070/

10.启动ResourceManager 和 NodeManager 进程

ResourceManager管理总资源分配
NodeManager管理该台节点资源

在master上面执行命令:

sbin/start-yarn.sh
sbin/mr-jobhistory-daemon.sh start historyserver  # 开启历史服务器,才能在Web中查看任务运行

yarn界面:http://10.118.213.211:8088

注:关闭yarn时执行命令

sbin/stop-yarn.sh
sbin/mr-jobhistory-daemon.sh stop historyserver

如果不想启动 YARN,务必把配置文件 mapred-site.xml 重命名,改成 mapred-site.xml.template,
需要用时改回来就行。否则在该配置文件存在,而未开启 YARN 的情况下,
运行程序会提示 “Retrying connect to server: 0.0.0.0/0.0.0.0:8032” 的错误,
这也是为何该配置文件初始文件名为 mapred-site.xml.template。

三、测试

1.测试文件

新建测试文件vim words
hello a
world b
hello c
jiafeng b
sean a

2.上传文件到hdfs中

//上传命令              //文件路径       //hdfs中文件路径
bin/hadoop fs -put /home/hadoop/words /words

3.运行测试文件

//程序所在jar包								//统计词频例子  //数据路径
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.5.jar wordcount /words /words_out (输出路径)

4.查看结果

bin/hadoop fs -ls /
bin/hadoop fs -ls /words_out
bin/hadoop fs -cat /words_out/part-r-00000

结果显示

a    2
b    2
c    1
hello    2
jiafeng    1
sean    1
world    1

转载于:https://my.oschina.net/u/3100849/blog/1607585

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值