您的位置:首页 > 运维架构 > Linux

Hadoop-CentOS精简版搭建Hadoop集群

2016-03-07 11:38 417 查看
1.检查环境

Hadoop需要JDK、ssh、rsync这些软件

输入如下指令
指令用途
ssh -v可以检查 ssh的版本
java -version可以检查jdk的版本
rsync可以查看是否已安装rsync
ssh、rsync通过yum就可以安装了。

jdk如果不会安装,可以看这里(/article/8989551.html)

2.上传hadoop包到linux上

通过xftp就可以了,如果不会,可以看这里(/article/8989552.html)

3.解压hadoop文件



4.将解压出的文件 移动到 /opt/hadoop下并重命名为hadopp272



mv hadoop-2.7.2/ hadoop272(因为担心程序会不识别-和.的符号,所以改了,不知道不改会怎么样,弄完了试试。)



5.集群的设置重点的东西要开始了~

5.1修改主机名和网络配置

NameNode改为master

DataNode改为 node1、node2

5.1.1清空/etc/hosts中的内容,再追加相关的节点信息进去(每台机器都要加)

x.x.x.x master

x.x.x.x node1

x.x.x.x node2



切记,是每一台,每一台,每一台

ip地址最好是静态的,如果不会配置可以看这里(/article/8989554.html)

每一台机器都分别设置下hostname

在/etc/hostname中修改。



如果不改的话,hdfs格式化的时候就会报错了。

5.1.2修改/etc/sysconfig/network中的信息。如果没有就新增相关条目。

NETWORKING=yes HOSTNAME=master NETWORKING_IPV6=yes IPV6_AUTOCONF=no



NETWORKING=yes HOSTNAME=node1 NETWORKING_IPV6=yes IPV6_AUTOCONF=no



NETWORKING=yes HOSTNAME=node2 NETWORKING_IPV6=yes IPV6_AUTOCONF=no



如果上面的两步不做,ssh就会找不到主机的。

5.2配置SSH,并让master免验证登陆自身服务器和node服务器

生成ssh密码的命令,-t 参数表示生成算法,有rsa和dsa两种;-P表示使用的密码,这里使用“”空字符串表示无密码。

ssh-keygen -t rsa -P ""

将生成的密钥写入authorized_keys文件。

cat .ssh/id_rsa.pub >>.ssh/authorized_keys

最后检查

ssh master



5.3将密钥文件拷贝到其他的机器上。

在node1和node2上分别执行

先从master进入到node1

ssh master

使用scp拷贝master上的文件到 本地

scp root@master:~/.ssh/id_rsa.pub ~/.ssh/master_rsa.pub

将生成的密钥写入authorized_keys文件

这样从master登录到node1就可以不用密码了。



6.配置hadoop。

6.1配置hadoop主目录

vi /etc/profile

export HADOOP_HOME=/opt/hadoop/hadoop272

source /etc/profile



使用 cd $HADOOP_HOME 能够进入到你设置的目录下,那么你就安装配置成功啦~

6.2分别配置hadoop-env.sh、yarn-env.sh、slaves、core-site.xml、hdfs-site.xml和mapred-site.xml

进入到$HADOOP/etc/hadoop目录下



6.2.1配置hadoop-env.sh



一定要设置绝对路径。

6.2.2配置yarn-env.sh



默认exprot是被注释掉的,一定要设置绝对路径。

6.2.3配置slaves

将节点插入到slaves中,和hosts中的名字相同



6.2.4配置core-site.xml

添加以下信息

hadoop.tmp.dir 临时文件

fs.default.name hadoop的HDFS系统的命名,位置为主机的9000端口

<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/data/hadoop-${user.name}</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://Master:9000</value>
</property>
</configuration>

6.2.5配置hdfs-site.xml

添加以下信息

dfs.http.address 配置了hdfs的http的访问位置

dfs.replication 配置了文件块的副本数,一般不大于从机的个数

<configuration>
<property>
<name>dfs.http.address</name>
<value>Master:50070</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>Master:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

6.2.4配置mapred-site.xml

由于hadoop2.x使用了yarn框架,所以要实现分布式部署,必须在mapreduce.framework.name属性下配置为yarn

mapred.map.tasks和mapred.reduce.tasks分别为map和reduce的任务数

其它属性为一些进程的端口配置,均配在主机下

注意:默认情况下没有mapred-site.xml,只有mapred.site.xml.template,需要cp mapred.site.xml.template mapred.site.xml

添加以下信息

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>Master:9001</value>
</property>
<property>
<name>mapred.map.tasks</name>
<value>20</value>
</property>
<property>
<name>mapred.reduce.tasks</name>
<value>4</value>
</property>
<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>
</configuration>

6.2.5配置yarn-site.xml

该文件为yarn框架的配置,主要是一些任务的启动位置

<configuration>
<property>
<name>yarn.resourcemanager.address</name>
<value>Master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>Master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>Master:8088</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>Master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>Master:8033</value>
</property>
<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.ShuffleHandler</value>
</property>
</configuration>

6.3将配置好的hadoop复制到其他节点

scp –r /opt/hadoop root@node1:/opt/

scp –r /opt/hadoop root@node2:/opt/

注意:数据节点一定也要安装好 jdk并且配置好环境,否则无法启动hdfs,不要问我为什么。



7启动hadoop

7.1格式化hdfs。

进入到$HADOOP_HOME/bin

输入:hdfs namenode -format;



7.2启动hdfs

进入到 $HADOOP_HOME/sbin

输入:start-dfs.sh



7.3启动yarn

继续沿用上一部的路径

输入:start-yarn.sh



jps通过java提供的工具查看到进程信息。



8查看运行情况

8.1查看集群状态

$HADOOP/bin/hdfs dfsadmin –report



8.2查看文件块组成

$HADOOP/bin/hdfs fsck / -files -blocks



8.3访问http://xxxxxx:50070端口访问

如果可以打开网站,说明配置成功了。

如果本地可以打开,其他机器不能访问,就很可能是防火墙引起的,如果是centos的话,可以看看这里(/article/8989557.html)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: