以下是hadoop 分布式集群安装的详细步骤。使用的是三台主机制作集群。
ssh免密登陆
# 创建ssh密钥
ssh-keygen
# 发送密钥到其他机器
ssh-copy-id 用户@ip
# 测试是否可以登陆
ssh ip
解压安装文件并配置环境变量
解压
# 解压jdk 1.8
[root@master h3cu] tar -xvzf jdk-8u144-linux-x64.tar.gz -C /usr/local/src
# 解压hadoop
[root@master h3cu] tar -xvzf hadoop-2.6.0.tar.gz -C /usr/src/
配置环境变量
# 配置环境变量
[root@master h3cu] vi /etc/profile
export JAVA_HOME=/usr/local/src/jdk1.8.0_144
export HADOOP_HOME=/usr/src/hadoop-2.6.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
[root@master h3cu] source /etc/profile
修改host文件
[root@master h3cu]# vi /etc/hosts
172.16.1.2 master
172.16.1.3 slave1
172.16.1.4 slave2
[root@master h3cu]# scp /etc/hosts root@slave1:/etc/hosts
hosts 100% 213 752.9KB/s 00:00
[root@master h3cu]# scp /etc/hosts root@slave2:/etc/hosts
hosts 100% 213 566.5KB/s 00:00
配置hadoop文件
[root@master hadoop-2.6.0]# cd /usr/src/hadoop-2.6.0/etc/hadoop/
修改 hadoop-env.sh 文件
[root@master hadoop]# vi hadoop-env.sh export JAVA_HOME=${JAVA_HOME} 修改为 export JAVA_HOME=/usr/local/src/jdk1.8.0_144
修改 core-site.xml 文件
<property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/tmp/</value> </property>
修改 hdfs-site.xml 文件
<property> <name>dfs.namenode.name.dir</name> <value>/home/hadoop/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/home/hadoop/dfs/data1,/home/hadoop/dfs/data2,/home/hadoop/dfs/data3</value> </property>
修改 mapred-site.xml 文件
这个文件目录下是没有的 需要 cp mapred-site.xml.template mapred-site.xml
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
修改 yarn-site.xml 文件
<property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>
修改 slaves 文件
这个文件将所有从机加入进去就可以了
[root@master hadoop]# vi slaves [root@master hadoop]# cat slaves slave1 slave2
将hadoop、jdk、环境变量发送到从机
# Hadoop
[root@master hadoop]# scp -r /usr/src/hadoop-2.6.0/ root@slave1:/usr/src/hadoop-2.6.0/
[root@master hadoop]# scp -r /usr/src/hadoop-2.6.0/ root@slave2:/usr/src/hadoop-2.6.0/
# Jdk1.8
[root@master hadoop]# scp -r /usr/local/src/jdk1.8.0_144/ root@slave1:/usr/local/src/jd
k1.8.0_144/
[root@master hadoop]# scp -r /usr/local/src/jdk1.8.0_144/ root@slave2:/usr/local/src/jd
k1.8.0_144/
# profile
[root@master hadoop]# scp /etc/profile root@slave1:/etc/
profile 100% 1953 389.7KB/s 00:00
[root@master hadoop]# scp /etc/profile root@slave2:/etc/
profile 100% 1953 554.3KB/s 00:00
在两台从机下运行以下命令 出现 java版本说明没有错误
[root@slave1 ~]# source /etc/profile [root@slave1 ~]# java -version java version "1.8.0_144" Java(TM) SE Runtime Environment (build 1.8.0_144-b01) Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
格式化 NameNode
[root@master hadoop-2.6.0]# hadoop namenode -format
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at master/172.16.1.2
************************************************************/
启动集群
[root@master hadoop-2.6.0]# start-all.sh
验证是否启动
主节点运行jps返回
[root@master hadoop-2.6.0]# jps 2659 SecondaryNameNode 2488 NameNode 2796 ResourceManager 3055 Jps
从节点运行jps返回
[root@slave1 ~]# jps 2291 NodeManager 2371 Jps 2185 DataNode