centos部署hadoop完全分布式

步骤总览:

a、安装jdk

b、安装hadoop,配置hadoop环境变量,修改hadoop配置文件

c、克隆虚拟机 

d、修改ip地址为固定ip,编写hosts与hostname

e、配置无密登录ssh,编写xcall,xsync

f、hadoop格式化,启动守护进程。

 

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

  1. 安装jdk
    1. 卸载原有的openjdk
      1. 查看CentOS自带JDK是否已安装。

◆输入:yum list installed |grep java。

      1. 若有自带安装的JDK,如何卸载CentOS系统自带Java环境?

◆卸载JDK相关文件输入:yum -y remove java-1.7.0-openjdk*。

◆卸载tzdata-java输入:yum -y remove tzdata-java.noarch。

      1.   当结果显示为Complete!即卸载完毕。

a80c65b0c75daa962940ee2332dd5c2bb4b.jpg

    1. 安装jdk
      1. 下载jdk ,并解压到soft目录下

1279c3a52d36679348a131adadf74af4784.jpg

$> sudo tar zxvf jdk-8u65-linux-x64.tar.gz -C /soft

      1. 编写source /etc/profile,输入已下内容

#java environment

export JAVA_HOME=/soft/jdk1.8.0_65

export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar

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

      1. 刷新资源 $>source /etc/profile
      2. 查看版本

4ea3fc6574ff9b1ad5d33a670a91bed3d80.jpg

 

  1. 安装hadoop,并配置完全分布式
  1. 解压到/soft目录下

8c0d0ac938f2f68a8bd4b442e42397a46ea.jpg

b、    复制/soft/hadoop/erc/hadoop文件,其中full为完全分布式的配置文件,presu为委分布,local为本地。删除hadoop文件夹,创建hadoop链接

           配置hadoop环境变量,并检查是否成功

$>sudo nano /etc/profile

           ...

           export JAVA_HOME=/soft/jdk

           exprot PATH=$PATH:$JAVA_HOME/bin

           export HADOOP_HOME=/soft/hadoop

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

使配置生效:

$>source /etc/profile

检查是否成功

$> hadoop version

 

ebfd339b3c24aa5385dcc5d338b1ebd3673.jpg

a03e41193f56f8a0dad0691934069755704.jpg

ddd390b67bb9e98f843bfb0cfa10e33b236.jpg

C、 创建几个文件夹,尽量创建在home下,省得权限问题

db3d20b5b85a13d4d40de1d11d591d7aee9.jpg

D、 修改/soft/hadoop/etc/full的配置文件

【core-site.xml】

<configuration>

 <property>

        <name>hadoop.tmp.dir</name>

        <value>/home/zhangdada/hadoop/tmp</value>

        <description>Abase for other temporary directories.</description>

   </property>

   <property>

        <name>fs.default.name</name>

        <value>hdfs://s200:9000</value>

   </property>

</configuration>

【hadoop-env.sh】

修改java的地址将export   JAVA_HOME=${JAVA_HOME}

         修改为:export JAVA_HOME=/soft/jdk1.8.0_65

【hdfs-site.xml】

<property>

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

   <value>/home/zhangdada /hadoop/dfs/name</value>

   <description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>

</property>

<property>

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

   <value>/home/zhangdada /hadoop/dfs/data</value>

   <description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>

</property>

<property>

   <name>dfs.replication</name>

   <value>1</value>

<description> replication  count</description>

</property>

<property>

      <name>dfs.permissions</name>

      <value>false</value>

      <description>need not permissions</description>

</property>

说明:dfs.permissions配置为false后,可以允许不要检查权限就生成dfs上的文件,方便倒是方便了,但是你需要防止误删除,请将它设置为true,或者直接将该property节点删除,因为默认就是true

mapred-site.xml】这个文件是由sudo cp mapred-site.xml.template mapred-site.xml得来的。

 <property>

   <name>mapred.job.tracker</name>

   <value>s200:49001</value>

</property>

<property>

      <name>mapred.local.dir</name>

       <value>/home/zhangdada /hadoop/var</value>

</property>

<property>

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

       <value>yarn</value>

</property>

【slaves】

S201

【yarn-site.xml】

<property>

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

        <value>s200</value>

   </property>

   <property>

       <description>The address of the applications manager interface in the RM.</description>

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

        <value>${yarn.resourcemanager.hostname}:8032</value>

   </property>

   <property>

        <description>The address of the scheduler interface.</description>

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

        <value>${yarn.resourcemanager.hostname}:8030</value>

   </property>

   <property>

        <description>The http address of the RM web application.</description>

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

       <value>${yarn.resourcemanager.hostname}:8088</value>

   </property>

   <property>

        <description>The https adddress of the RM web application.</description>

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

        <value>${yarn.resourcemanager.hostname}:8090</value>

   </property>

   <property>

       <name>yarn.resourcemanager.resource-tracker.address</name>

        <value>${yarn.resourcemanager.hostname}:8031</value>

   </property>

   <property>

        <description>The address of the RM admin interface.</description>

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

        <value>${yarn.resourcemanager.hostname}:8033</value>

   </property>

   <property>

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

        <value>mapreduce_shuffle</value>

   </property>

   <property>

        <name>yarn.scheduler.maximum-allocation-mb</name>

        <value>2048</value>

        <discription>每个节点可用内存,单位MB,默认8182MB</discription>

   </property>

   <property>

        <name>yarn.nodemanager.vmem-pmem-ratio</name>

        <value>2.1</value>

   </property>

   <property>

        <name>yarn.nodemanager.resource.memory-mb</name>

        <value>2048</value>

</property>

   <property>

        <name>yarn.nodemanager.vmem-check-enabled</name>

        <value>false</value>

</property>

       说明:yarn.nodemanager.vmem-check-enabled这个的意思是忽略虚拟内存的检查,如果你是安装在虚拟机上,这个配置很有用,配上去之后后续操作不容易出问题。如果是实体机上,并且内存够多,可以将这个配置去掉。

 

 

  1. 克隆虚拟机 ,

 

  1. 修改ip地址为固定ip,编写hosts与hostname

/etc/sysconfig/network-scripts/ifcfg-xxxx文件中的ip地址

 

  1. 配置无密登录ssh,编写xcall,xsync

【配置ssh】:

1)检查是否安装了ssh相关软件包(openssh-server + openssh-clients + openssh)

                             $yum list installed | grep ssh

2)检查是否启动了sshd进程

                             $>ps -Af | grep sshd

3)在client侧生成公私秘钥对。

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

4)生成~/.ssh文件夹,里面有id_rsa(私钥) + id_rsa.pub(公钥)

5)追加公钥到~/.ssh/authorized_keys文件中(文件名、位置固定)

                             $>cd ~/.ssh

                             $>cat id_rsa.pub >> authorized_keys

6)将s201的公钥文件id_rsa.pub远程复制到202 ~ 204主机上。

  并放置/home/centos/.ssh/authorized_keys

           $>scp id_rsa.pub centos@s201:/home/centos/.ssh/authorized_keys

7)修改authorized_keys的权限为644.

                             $>chmod 644 authorized_keys

8)测试

                             $>ssh localhost

 如果ssh不成功的话,要查看目标机器的日志

$>cat /var/log/secure

da180792676efa1a8005040e81ae968e8a5.jpg

修改目标机器的权限:

·sshd为了安全,对属主的目录和文件权限有所要求。如果权限不对,则ssh的免密码登陆不生效。

  • 用户目录权限为 755 或者 700,就是不能是77x。
  • .ssh目录权限一般为755或者700。
  • rsa_id.pub 及authorized_keys权限一般为644
  • rsa_id权限必须为600

【xcall.sh与xsync.sh】

  • 将两个文件放到 /bin 目录下,添加可执行的权限

$>mv xcall.sh /bin

$>chmod o+w xcall.sh

  • 使用xcall.sh在所有节点上创建jps符号连接,指向/soft/jdk/bin/jps

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

     1.切换到root用户

              $>su root

     2.创建符号连接

              $>xcall.sh "ln -sfT /soft/jdk1.8.0_65/bin/jps /usr/local/bin/jps"

     3.修改jps符号连接的owner

              $>xcall.sh "chown -h zhangdada:zhangdada /usr/local/bin/jps"

     4.查看所有主机上的java进程

              $>xcall.sh jps

  1. 格式化,

 $>hdfs namenode –format

启动,

$>start-dfs.sh

$>start-yarn.sh

查看(启动成功)

50530b63c806aa2c0887ddeeb390df5e275.jpg

查看启用的线程 netstat –ntlp

9e4af3c1e8b8d3a6848c079949a4faae957.jpg

在主机上查看hdfs:http://192.168.209.200:50070

  1. hdfs的一些操作

c5c79a3ed274f360ecd149ef8bc663297c3.jpg b186f13f51c4706b430a6546bdf8d191f68.jpg

1c6ec6227ff58bef03848f2d84f9d85f72f.jpg

转载于:https://my.oschina.net/905042249/blog/2874907

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值