centos部署hadoop完全分布式

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

步骤总览:

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!即卸载完毕。

centos部署hadoop完全分布式_第1张图片

    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

 

centos部署hadoop完全分布式_第2张图片

centos部署hadoop完全分布式_第3张图片

centos部署hadoop完全分布式_第4张图片

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

centos部署hadoop完全分布式_第5张图片

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

【core-site.xml】

 

        hadoop.tmp.dir

        /home/zhangdada/hadoop/tmp

        Abase for other temporary directories.

   

   

        fs.default.name

        hdfs://s200:9000

   

【hadoop-env.sh】

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

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

【hdfs-site.xml】

   dfs.name.dir

   /home/zhangdada /hadoop/dfs/name

   Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.

   dfs.data.dir

   /home/zhangdada /hadoop/dfs/data

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

   dfs.replication

   1

replication  count

      dfs.permissions

      false

      need not permissions

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

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

 

   mapred.job.tracker

   s200:49001

      mapred.local.dir

       /home/zhangdada /hadoop/var

       mapreduce.framework.name

       yarn

【slaves】

S201

【yarn-site.xml】

        yarn.resourcemanager.hostname

        s200

   

   

       The address of the applications manager interface in the RM.

        yarn.resourcemanager.address

        ${yarn.resourcemanager.hostname}:8032

   

   

        The address of the scheduler interface.

        yarn.resourcemanager.scheduler.address

        ${yarn.resourcemanager.hostname}:8030

   

   

        The http address of the RM web application.

        yarn.resourcemanager.webapp.address

       ${yarn.resourcemanager.hostname}:8088

   

   

        The https adddress of the RM web application.

        yarn.resourcemanager.webapp.https.address

        ${yarn.resourcemanager.hostname}:8090

   

   

       yarn.resourcemanager.resource-tracker.address

        ${yarn.resourcemanager.hostname}:8031

   

   

        The address of the RM admin interface.

        yarn.resourcemanager.admin.address

        ${yarn.resourcemanager.hostname}:8033

   

   

        yarn.nodemanager.aux-services

        mapreduce_shuffle

   

   

        yarn.scheduler.maximum-allocation-mb

        2048

        每个节点可用内存,单位MB,默认8182MB

   

   

        yarn.nodemanager.vmem-pmem-ratio

        2.1

   

   

        yarn.nodemanager.resource.memory-mb

        2048

   

        yarn.nodemanager.vmem-check-enabled

        false

       说明: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

查看(启动成功)

centos部署hadoop完全分布式_第6张图片

查看启用的线程 netstat –ntlp

centos部署hadoop完全分布式_第7张图片

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

  1. hdfs的一些操作

c5c79a3ed274f360ecd149ef8bc663297c3.jpg b186f13f51c4706b430a6546bdf8d191f68.jpg

centos部署hadoop完全分布式_第8张图片

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

你可能感兴趣的:(大数据,运维,java)