Linux上安装Hadoop集群(SUSE12+hadoop-2.6.5)

1.安装三台虚拟机

机器 hostname 分别命名为hadoop1,hadoop2,hadoop3

# vi /etc/HOSTNAME

同时将ip及hostname添加到hosts文件中

#vi /etc/hosts


 

2.配置ssh服务项

#vi /etc/ssh/sshd_config

配置如下:

#禁用root账户登录,如果是用root用户登录请开启

PermitRootLogin yes

# 是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。

# 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile      .ssh/authorized_keys

# 有了证书登录了,就禁用密码登录。

PasswordAuthentication no

 

3.设置sshd服务开机自启动

#chkconfig sshd on

 

4.ssh设置免密登陆

在每台机器上都生成密钥

#ssh-keygen  -t   rsa   -P  ''

首先在hadoop1的~/.ssh文件夹中将三台机器的公钥都追加到authorized_keys文件中

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

再将authorized_keys文件拷贝到hadoop2和hadoop3中

#scp /root/.ssh/authorized_keys root@hadoopx:/root/.ssh/

 

5.安装jdk(三台机器都需要安装)

下载Linux版的JDK(jdk-8u201-linux-x64.tar.gz)

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

使用SecureFX将jdk上传至hadoop1,hadoop2,hadoop3中的/opt/java文件夹中

解压文件

#tar -zxvf jdk-8u201-linux-x64.tar.gz

修改配置文件

#vi /etc/profile

在任意位置添加以下内容

export JAVA_HOME=/opt/java/jdk1.8.0_201

export  CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/

export  PATH=$PATH:$JAVA_HOME/bin

重启profile文件

#source /etc/profile

 

6.安装hadoop(三台机器都需要安装,配置内容均相同,hadoop1无须修改为hadoop2,3)

下载Linux版的hadoop(hadoop-2.6.5.tar.gz)

地址:https://hadoop.apache.org/release/2.6.5.html

上传解压同上

在root目录下新建文件夹

#mkdir /root/hadoop

#mkdir  /root/hadoop/tmp

#mkdir  /root/hadoop/var

#mkdir  /root/hadoop/dfs

#mkdir  /root/hadoop/dfs/name

#mkdir  /root/hadoop/dfs/data

修改配置文件:

修改/opt/hadoop/hadoop-2.6.5/etc/hadoop/core-site.xml文件

在<configuration>节点内加入配置:

 <property>

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

        <value>/root/hadoop/tmp</value>

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

   </property>

   <property>

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

        <value>hdfs://hadoop1:9000</value>

   </property>

</configuration>

修改/opt/hadoop/hadoop-2.6.5/etc/hadoop/hadoop-env.sh文件

 将export   JAVA_HOME=${JAVA_HOME}

修改为:

export   JAVA_HOME=/opt/java/jdk1.8.0_201

修改/opt/hadoop/hadoop-2.6.5/etc/hadoop/hdfs-site.xml文件

在<configuration>节点内加入配置:

<property>

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

   <value>/root/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>/root/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>2</value>

</property>

新建并且修改mapred-site.xml

#cp /opt/hadoop/hadoop-2.6.5/etc/hadoop/mapred-site.xml.template /opt/hadoop/hadoop-2.6.5/etc/hadoop/mapred-site.xml

修改这个新建的mapred-site.xml文件

在<configuration>节点内加入配置:

 <property>

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

   <value>hadoop:49001</value>

</property>

<property>

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

       <value>/root/hadoop/var</value>

</property>

<property>

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

       <value>yarn</value>

</property>

修改/opt/hadoop/hadoop-2.6.5/etc/hadoop/slaves文件,将里面的localhost删除,添加如下内容:

hadoop2

hadoop3

修改/opt/hadoop/hadoop-2.6.5/etc/hadoop/yarn-site.xml文件

 在<configuration>节点内加入配置:

<property>

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

        <value>hadoop1</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>

 

7.启动hadoop(只需再hadoop1这台机器上启动,因为hadoop1是namenode,hadoop2,3是datanode)

在hadoop1这台机器上首先打开执行路径

#cd   /opt/hadoop/hadoop-2.6.5/bin

执行初始化脚本,也就是执行命令:

 #./hadoop  namenode  -format

格式化成功后,在/root/hadoop/dfs/name/目录多了一个current目录,而且该目录内有一系列文件

然后打开目录sbin

#cd  /opt/hadoop/hadoop-2.6.5/sbin

执行初始化脚本,也就是执行命令:

# ./start-all.sh


 
8.测试hadoop
访问<hadoop1 的 ip>:50070
自动跳转到了overview页面

 

访问<hadoop1 的 ip>:8088

自动跳转到了cluster页面

至此hadoop安装完毕

posted on 2019-02-14 16:45  DoubleUncle  阅读(700)  评论(0)    收藏  举报

导航