**涉及linux命令一定要注意大小写和空格还有中英文字符一定要
用英文符号,linux系统对此敏感**
**hadoop集群的安装一定要静下心一步一步来**
1、关闭防火墙(防火墙最好关闭,不然以后linux操作会有很多麻烦)
1)输入命令: vi /etc/selinux/config
其中改为 SELINUX=disable
2)关闭iptables服务分别执行以下命令:
service iptables status
chkconfig iptables off
reboot(重启服务器)
service iptables status
2、安装jdk
1)先卸载Linux系统自带的低版本的jdk
a.查看Linux系统自带的低版本的jdk rpm -qa|grep jdk
查到的jdkjava-1.6.0-openjdk-javadoc-1.6.0.0-1.66.1.13.0.el6.x86_64
b.卸载jdk:rpm -e --nodeps java-1.6.0-openjdk-javadoc-1.6.0.0-1.66.1.13.0.el6.x86_64
2).安装rz文件传输工具(版本号可能不一样,无碍)
a.yum list lrzsz
b.yum install lrzsz.x86_64
3).使用rz命令上传jdk的tar包
jdk-8u101-linux-x64.tar.gz
4).解压jdk
tar -zxvf jdk-8u101-linux-x64.tar.gz
5).添加环境变量
a.输入命令:vi /etc/profile
b.添加下面三段:
export JAVA_HOME=/usr/etc/jdk1.8.0_101(路径一定要注意,是你解压后的jdk的报的路径)
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
c.环境变量生效:source /etc/profile
d.查看是否安装成功
输入命令:java -version
3、去VMware 克隆linux虚拟机,你也可以再配两个,克隆便捷而且可以减少错误。
1).先关闭要克隆的虚拟机,双击后,右键-->管理-->克隆
根据提示下一步,注意:**中间一定要选择完全克隆,再下一步**
最后点击完成就ok,此步骤进行两遍。
4、添加固定IP(既设置DNS,添加固定IP是为了防止ip变更,设置成静态IP一劳永逸)三个节点都要设置
1).输入命令:vi /etc/sysconfig/network-scripts/ifcfg-eth0
2).修改 HWADDR=00:0C:29:22:93:A7
在虚拟机上输入ifconfig,将HWadder=00:0C:29:22:93:A7和
/etc/sysconfig/network-scripts/ifcfg-eth0下的HWADDR=00:0C:29:22:93:A7对应,
一般克隆出来的都要改
3).添加:
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.15.128
GATEWAY=192.168.15.2
DNS1=8.8.4.4
DNS2=222.85.85.85
(ONBOOT和BOOTPROTO源文件中已存在修改成yes和none就行,IPADDR是
你要修改的静态IP一般和现在的IP一样。GATEWAY是网关IP,只需要将IPADDR最后面的几个字改成2。例如:将192.168.15.128改为192.168.15.2)
3).保存之后重启network
输入命令:service network restart
5、配置主节点名(192.168.15.128)
1).输入命令:vi /etc/sysconfig/network
2).添加内容:(已经有的话改一下就行)
NETWORKING=yes
HOSTNAME=master
3).配置两台子节点名(192.168.15.129)和(192.168.15.130)
NETWORKING=yes
HOSTNAME=slave1(或HOSTNAME=slave2)
6、配置hosts
1).打开主节点的hosts文件,要将文件的前两行注释掉 (注释当前主机的信息)并在文件中添加所有hadoop集群的主机信息。
输入命令:vi /etc/hosts
2).添加
192.168.15.128 master
192.168.15.129 slave1
192.168.15.130 slave2
3).保存之后,将主节点的hosts分别拷贝到其他两个子节点
scp /etc/hosts [email protected]:/etc/
scp /etc/hosts [email protected]:/etc/
4).重启服务器使之生效
输入命令:reboot
7、配置ssh无密码访问(不懂无密码访问,自己百度或查资料,再此不过多介绍)
1).在每个节点上分别执行:
ssh-keygen -t rsa
一直按回车直到生成结束执行结束之后每个节点上的/root/.ssh/目录下生成了两
文件 id_rsa 和 id_rsa.pub。其中前者为私钥,后者为公钥
2).在主节点上执行:
cd /root/.ssh
cp id_rsa.pub authorized_keys
3).将子节点的公钥拷贝到主节点并添加进authorized_keys
将两个子节点的公钥拷贝到主节点上,分别在两个子节点上执行:
scp ~/.ssh/id_rsa.pub root@master:~/.ssh/id_rsa_slave1.pub
scp ~/.ssh/id_rsa.pub root@master:~/.ssh/id_rsa_slave2.pub
4)然后在主节点上,将拷贝过来的两个公钥合并到authorized_keys文件中去
主节点上执行:
cat id_rsa_slave1.pub>> authorized_keys
cat id_rsa_slave2.pub>> authorized_keys
5).最后测试是否配置成功在master上分别执行
ssh slave1
ssh slave2
6).将主节点的authorized_keys文件分别替换子节点的authorized_keys文件
主节点上用scp命令将authorized_keys文件拷贝到子节点的相应位置
先 cd /root/.ssh
scp authorized_keys root@slave1:/root/.ssh/
scp authorized_keys root@slave2:/root/.ssh/
7).先 cd /root/.ssh
然后输入命令:ssh 主机名 可以自由切换即成功(例如:在主节点上输入ssh
slave1),第一次需要输入密码.
8、安装hadoop
1).在master主机上安装hadoop,下载hadoop包,放在/usr目录下,(也可以放在其他目录下)
使用rz命令上传hadoop的tar包
cd /user -->rz上传
2). 解压hadoop
tar -zxvf /usr/hadoop-2.6.4.tar.gz(版本号自己自行修改,要和自己的文件名对应)
3).
配置环境变量:vi /etc/profile
在末尾添加:
export HADOOP_HOME=/usr/hadoop-2.6.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
4).保存后使新编辑的profile生效:
source /etc/profile
9、配置hadoop
1).配置hadoop配置文件
需要配置的文件的位置为/hadoop-2.6.4/etc/hadoop,需要修改的有以下几个
hadoop-env.sh
yarn-env.sh
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
slaves
其中:hadoop-env.sh和yarn-env.sh里面都要添加jdk的环境变量:
hadoop-env.sh中
# The java implementation to use.
export JAVA_HOME=/root/jdk1.7.0_72
(只需该路径即可,其他不用该。这是jdk的安装路径,请务必注意对应好自己
的角度看路径,不要写错。)
# The jsvc implementation to use. Jsvc is required to run secure datanodes
# that bind to privileged ports to provide authentication of data transfer
# protocol. Jsvc is not required if SASL is configured for authentication of
# data transfer protocol using non-privileged ports.
#export JSVC_HOME=${JSVC_HOME}
yarn-env.sh中
# User for YARN daemons
export HADOOP_YARN_USER=${HADOOP_YARN_USER:-yarn}
# resolve links - $0 may be a softlink
export YARN_CONF_DIR="${YARN_CONF_DIR:-$HADOOP_YARN_HOME/conf}"
# some Java parameters
export JAVA_HOME=/opt/java/jdk1.7.0_72 (和上面配置一样)
core-site.xml中
fs.defaultFS
hdfs://master:9000 (master为主机名,对应好)
io.file.buffer.size
131072
hadoop.tmp.dir
file:/usr/temp
hadoop.proxyuser.root.hosts
*
hadoop.proxyuser.root.groups
*
hdfs-site.xml中
dfs.namenode.secondary.http-address
master:9001
dfs.namenode.name.dir
file:/usr/dfs/name
dfs.datanode.data.dir
file:/usr/dfs/data
dfs.replication
2
dfs.webhdfs.enabled
true
dfs.permissions
false
dfs.web.ugi
supergroup
mapred-site.xml中
mapreduce.framework.name
yarn
mapreduce.jobhistory.address
master:10020
mapreduce.jobhistory.webapp.address
master:19888
yarn-site.xml中
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
yarn.resourcemanager.address
master:8032
yarn.resourcemanager.scheduler.address
master:8030
yarn.resourcemanager.resource-tracker.address
master:8031
yarn.resourcemanager.admin.address
master:8033
yarn.resourcemanager.webapp.address
master:8088
slaves中
master
slave1
slave2
2).拷贝hadoop安装文件到子节点主节点上执行:
scp -r /usr/hadoop-2.6.4 root@slave1:/usr
scp -r /usr/hadoop-2.6.4 root@slave2:/usr
3).拷贝profile到子节点主节点上执行:
scp /etc/profile root@slave1:/etc/
scp /etc/profile root@slave2:/etc/
4).在两个子节点上分别使新的profile生效:
source /etc/profile
5).格式化主节点的namenode
主节点上进入hadoop-2.6.4(hadoop的安装目录,即解压后的hadoop目录)目录
然后执行:
hadoop namenode -format
新版本用下面的语句不用hadoop命令了
hdfs namenode -format
提示:successfully formatted表示格式化成功,不太好早,仔细一点,在靠下的位置
6).启动hadoop
主节点上在hadoop-2.6.4目录下执行:
./sbin/start-all.sh
10、验证是否成功
主节点上输入:jps
NameNode
SecondaryNameNode
ResourceManager
只要有以上三个进程即成功
每个子节点上输入:jps
DataNode
NodeManager
只要有以上两个进程即成功
这样hadoop集群配置成功
然后打开浏览器,地址栏中输入 主机名:50070 (例如:192.168.15.128:50070)进入
http://192.168.79.133:50070/dfshealth.html#tab-overview网站即成功。