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

访问<hadoop1 的 ip>:8088
自动跳转到了cluster页面

至此hadoop安装完毕
posted on 2019-02-14 16:45 DoubleUncle 阅读(700) 评论(0) 收藏 举报
浙公网安备 33010602011771号