hadoop平台搭建(1)

介绍:在Linux系统上安装分布式hadoop平台,副本数为2;

架构:centos6.5+ hadoop2.6.5+jdk1.8

配置:此次配置的用户为hadoop用户(无注明的步骤中均使用hadoop用户,防止权限过大,误操作影响系统安全)

master IP:192.168.125.201 

slave1 IP:192.168.125.202

slave2 IP:192.168.125.203


安装步骤:

一、windows10下进行安装包下载:

1、下载安装包 jdk1.8(64位的系统需要装 64位的安装包)

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2、下载安装包 hadoop2.6.5(64位的系统需要装 64位的安装包)

http://archive.apache.org/dist/hadoop/common/hadoop-2.6.5/

二、对linux系统进行配置(先配置master,salve直接克隆master):

1、创建/soft文件夹,存放应用程序(root用户)

      sudo  mkdir /soft

      sudo chown  hadoop:hadoop /soft

2、使用 rz,把windows下文件传到linux下

  由于没有安装  rz,sz 包,无法使用命令 ,重新下载 rz,sz包

https://ohse.de/uwe/software/lrzsz.html

3、将两个文件放到 /soft目录下

4、配置sudo(root用户配置)

----临时借用root的权限执行命令,需要配置当前用户具有sudo的执行权利

  vim  /etc/sudoers 

  hadoop ALL =(ALL) ALL

关闭内核防火墙:

vim /etc/selinux/config

SELINUX=disabled

关闭防火墙:

systemctl stop firewalld.service

systemctl disable firewalld.service

5、先对master进行配置:

配置IP(root用户):

vim /etc/sysconfig/network-scripts/ifcfg-eth0

IPADDR=192.168.125.201

NETMASK=255.255.255.0

GATEWAY=192.168.125.1

DNS=192.168.125.1

配置主机名(root用户):

vim  /etc/hosts

192.168.125.201 master

192.168.125.202 slave1

192.168.125.203 slave2

vim /etc/sysconfig/network

HOSTNAME=master

6、安装jdk包 (root用户,由于其他用户或者其他程序会用到JDK,所以JDK使用root用户进行安装,且目录为/usr/local/src)

1)解压(root用户)

cp  /soft/jdk-8u191-linux-x64.tar.gz  /usr/local/src/

cd  /usr/local/src/

tar -zxvf jdk-8u191-linux-x64.tar.gz

2)配置环境变量(root用户);

vim ~/.bashrc      #对root用户生效

export JAVA_HOME=/usr/local/src/jdk1.8.0_172

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

source  ~/.bashrc (root用户)

vim  /etc/profile  #对所有用户生效 (root用户)

export JAVA_HOME=/usr/local/src/jdk1.8.0_172

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

source  /etc/profile (root用户)

7、安装hadoop

tar -zxvf hadoop-2.7.2.tar.gz -C /soft/

8、创建符号链接,方便读取:

ln -s /soft/hadoop-2.7.2/  /soft/hadoop

9、配置HADOOP环境变量:

vim  ~/.bashrc

export HADOOP_HOME=/soft/hadoop

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

source  ~/.bashrc

10.对hadoop文件进行配置:

1)cd hadoop-2.6.5/etc/hadoop/

vim hadoop-env.sh

export JAVA_HOME=/usr/local/src/jdk1.8.0_172

2)vim yarn-env.sh

export JAVA_HOME=/usr/local/src/jdk1.8.0_172

3)修改配置文件 添加从节点主机名

vim slaves

slave1

slave2

4)vim core-site.xml 

<configuration>

      <property>

                <name>fs.defaultFS</name>  #指定文件系统master

                <value>hdfs://master</value>

        </property>

        <property>

                <name>hadoop.tmp.dir</name>  #指定节点的文件路径存放位置

                <value>/soft/hadoop/tmp</value>

        </property>

</configuration>

5)hdfs-site.xml

<property>

<name>dfs.namenode.secondary.http-address</name>  #指定辅助名称节点位置

<value>master:9001</value>

</property>

<property>

<name>dfs.namenode.name.dir</name>            #指定名称节点的文件路径

<value>file://${hadoop.tmp.dir}/dfs/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>              #指定数据节点的文件路径

<value>file://${hadoop.tmp.dir}/dfs/data</value>

</property>

<property>

<name>dfs.replication</name>                          #指定副本个数

<value>2</value>

</property>

6) vim  mapred-site.xml

<property>

<name>mapreduce.framework.name</name>    #使用yarn运行mapreduce程序

<value>yarn</value>

</property>

7) vim  yarn-site.xml    ##资源管理器节点--配置各种地址

<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>

<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.resource-tracker.address</name>

<value>master:8035</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address</name>

<value>master:8033</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address</name>

<value>master:8088</value>

</property>

8)创建上述配置的文件存放目录

mkdir /soft/hadoop/tmp

mkdir -p /soft/hadoop/tmp/dfs/data

mkdir -p /soft/hadoop/tmp/dfs/name

三、其他配置

1、虚拟机中克隆master 两台,作为slave1,slave2;

2、修改slave1,slave2的IP(root用户):

slave1:

IPADDR=192.168.125.202

slave2:

IPADDR=192.168.125.203

service network  restart

修改主机名

slave1:

vim /etc/sysconfig/network

HOSTNAME=slave1

slave2:

vim /etc/sysconfig/network

HOSTNAME=slave2

3、配置免密登录:

配置ssh免密码登录(三台机器都安装)

192.168.125.201先配置密钥:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

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

  chmod 0600 ~/.ssh/authorized_keys

传送到slave上去(无法操作的需要重启一次)

  scp ~/.ssh/authorized_keys  hadoop@slave1:~/.ssh/authorized_keys

  scp ~/.ssh/authorized_keys  hadoop@slave2:~/.ssh/authorized_keys

ssh进行测试 :

ssh  slave1

ssh  slave2

4、配置windows的Hosts名,方便主机名访问hadoop平台

 网页控制台 (需要修改本地hosts文件 添加主机记录)

# Windows C:\Windows\System32\drivers\etc\hosts  #没有可以新建文件

192.168.125.201 master

192.168.125.202 slave1

192.168.125.203 slave2

四、初始化节点与启动集群:

hadoop  namenode -format

启动集群:/usr/local/src/hadoop-2.6.5/sbin/start-all.sh

查看进程:jps

浏览器访问 http://master:8088/cluster


----------------------------------------------

五:master增加两个脚本,用来同步文件和查看进程状态

创建好文件后,给予可执行命令,并将脚本放到/soft/hadoop/sbin/ 下

此时需要将java_home放到hadoop用户的.bashrc 配置文件中;

同步脚本:

xsync.sh

#!/bin/bash

if [[ $# -lt 1 ]] ; then echo no params ; exit ; fi

##当传入文件传入时,通过取到文件的名,文件路径,然后用xsync同步到对应的slave路径下

p=$1  #传入的文件名,可带路径

#echo p=$p        #文件名字

dir=`dirname $p`  ##取文件文件夹路径

#echo dir=$dir   

filename=`basename $p`  ##文件去掉路径后的文件名

#echo filename=$filename

cd $dir                #到文件的所处路径

fullpath=`pwd -P .`    #找到当前位置

#echo fullpath=$fullpath

user=`whoami`

for (( i = 1 ; i <= 2 ; i = $i + 1 )) ; do

  echo ======= slave$i =======

  rsync -lr $p ${user}@slave$i:$fullpath

done ;

查看文件和进程;

xcall.sh

#!/bin/bash

params=$@

echo ============= master $params =============

ssh  master "$params"

echo ============= slave1 $params=============

ssh  slave1 "$params"

echo ============= slave2 $params=============

ssh  slave2 "$params"


效果:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 曾经 是自由的风筝 随风 遨翔在澄明的天空 / 风住了 慌乱中 缠上一棵树藤 摇摆,翻腾 都无法争脱 被牢牢抓住的...
    诸葛雨信阅读 811评论 4 9
  • 我三十多岁,两个孩子!我发现我变了。 我不再是那个在意自己容貌美丑黑白长没长痘,身材有没有在标准之内的那个人了! ...
    慕云心阅读 131评论 0 2
  • 经常会看到一些人,他们怀着满满的善意,去为别人情愿,为别人帮忙,其实个行为对于当时的本人造成了极大的伤害,但是他并...
    大伟传说阅读 1,396评论 0 1
  • 第七章 “哎,那小男孩儿是叫韩正吧” 两人莫名其妙确定关系后,郑允浩像往常一样送金在中回家,一路的寂静就在刚刚被金...
    阿呆的同行人阅读 706评论 0 0
  • 给红子 《给红子》是一封信的题目,里面的内容是什么我也不知道,只记得开头两句:“这辈...
    心灵是我独舞的城池阅读 477评论 0 0

友情链接更多精彩内容