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

linux --centOS下构建hadoop集群(伪分布式)

2018-04-01 10:11 197 查看

创建用户及准备

在构建hadoop之前,创建一个hadoop用户,并通过passwd hadoop给用户设置密码。



接着使用su hadoop切换到hadoop用户:



并且切换到主目录下创建一个dir 命名为opt。



创建好了目录,上传两个压缩包至opt,分别是:

---hadoop-2.7.5.tar.gz

---jdk-8u152-linux-x64.tar.gz

tar -zxvf  hadoop-2.7.5.tar.gz

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

解压后,会生成两个文件夹



配置环境

先配置jdk的环境。

cd jdk1.8.0_152

事实上我们没必须要一个一个键盘敲击出jdk可以通过TEB键补齐。

接着编辑 主目录下的 隐藏文件 .bashrc,可以通过 ll -a看到。

声明一个javapath变量,把当前绝对路径赋给它:

javapath=`pwd`

vi ~/.bahsrc 添加两行路径:

    export    JAVA_HOME=$javapath

    export    PATH=$PATH:$javapath/bin

再刷新一下 .bashrc:source ~/.bashrc

执行java,就配置好了。

配置好了jdk,接着配置hadoop。

依葫芦画瓢,先声明变量,hadooppath=`pwd`

vi ~/.bahsrc

    export     HADOOP_HOME=$hadooppath

    export    HADOOP_CONF_DIR=$hadooppath/opt/hadoop

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

刷新一下,执行hadoop.就配置好啦。

无密码登陆

ssh-keygen -t rsa

根据它的提示一直回车或者y后,它会生出一个.ssh的隐藏文件夹



ssh-copy-ip localhost 

这时你会发现一个问题无法解析主机名。



修改ip地址为静态ip

切换到root用户,不然权限不够。

cd  /etc/sysconfig/network-scripts



修改ifcfg-ens33

首先,把BOOTPROTO=dhcp改为 BOOTPROTO=static

再添加这4行代码

IPADDR=192.168.220.138

NETMASK=255.255.255.0

GATEWAY=192.168.220.1

DNS1=202.106.0.20



2.修改主机名和主机映射

vi /etc/hostname

将localhost改为python

保存退出

vi /etc/hosts

192.168.158.166  python

保存退出。

重启网络 systemctl restart network。

这时候你就会发现localhost 变成了python.



此时就可以在hadoop用户下执行ssh-copy-id python。

伪分布式集群

OK,做好这些前戏咱们正式进入主题。

进入/home/hadoop/opt/hadoop-2.7.5/etc/hadoop内配置以下文件:

core-site.xml

hdfs-site.xml

mapred-site.xml

yarn-site.xml

slaves文本文件

-------------------------------------
从官网查询:hadoop.apache.org/docs

/core-site.xml

默认文件系统:hdfs

<property>

 <name>fs.defaultFS</name>

 <value>http://python:9000</value>
</property>



hdfs-site.xml

修改hadoop关于文件 块的默认备份数 3,修改为1

修改Hadoop文件块的默认备份数 3,修改为1

<property>

   <name>dfs.replication</name>

   <value>1</value>

</property>

<property>

   <name>dfs.namenode.name.dir</name>

   <value>file:///home/hadoop/opt/tmp/dfs/name</value>

</property>

<property>

   <name>dfs.datanode.data.dir</name>

   <value>file:///home/hadoop/opt/tmp/dfs/data</value>

</property>

<property>

   <name>dfs.namenode.http-address</name>

   <value>python:50070</value>

</property>



修改mapred-site.xml文件:

cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml

启用yarn的资源调度框架

<property>

 <name>mapreduce.framework.name</name>

 <value>yarn</value>
</property>

修改slaves

配置datanode的主机名称
将localhost改为python

修改yarn-site.xml

配置yarn的主机

<property>

 <name>yarn.resourcemanager.hostname</name>

 <value>python</value>

</property>

<property>

 <name>yarn.nodemanager.aux-services</name>

 <value>mapreduce_shuffle</value>

</property>
以上配置均是放入<configration>中

配置好以后,并不是就能立即启动的,还需要关闭防火墙。

关闭防火墙以及selinux

关闭防火墙需要root权限

su root

先关闭关闭selinux

    临时关闭:setenforce 0

    永久关闭:vi /etc/selinux/config

修改:SELINUX=disabled

保存并退出

接着关闭防火墙。

推荐使用临时关闭。

 临时关闭:   systemctl stop  firewalld



完成后退出当前用户回到hadoop用户

    exit

hdfs namenode -format
#第一次启动要执行格式化,之后启动不用执行这个

start-dfs.sh

在执行jps,如果出现



就证明你成功啦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: