一些工具:
1.远程工具xshell
2.文件传输工具winSCP
3.Notpad++安装NppFTP插件
集群搭建:(hadoop,hadoop1,hadoop2)
( /usr/local/tools/ 放置tar包
/usr/local/software 安装软件)
1.设置各个节点ip
2.设置各个节点ip映射并关闭防火墙
vi /etc/hosts #写入各个节点的ip和新起的主机名,每个节点都要写
如:
192.168.2.21 hadoop0
192.168.2.31 hadoop1
192.168.2.41 hadoop2
运行:chkconfig iptables off
3.设置各个节点ssh免密码登陆
在hadoop0节点:
如无/root/.ssh 文件夹 运行 ssh-keygen -t rsa 重新生成
ssh-copy-id -i hadoop0
cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
在hadoop1节点:
ssh-copy-id -i hadoop1
scp /root/.ssh/id_rsa.pub hadoop0:/root/h1 #将id_rsa.pub复制到hadoop的一个文件夹下
在hadoop2节点:
ssh-copy-id -i hadoop2
scp /root/.ssh/id_rsa.pub hadoop0:/root/h2 #将id_rsa.pub复制到hadoop的一个文件夹下
回到hadoop节点:
cat /root/h1/id_rsa.pub >> /root/.ssh/authorized_keys
cat /root/h2/id_rsa.pub >> /root/.ssh/authorized_keys
然后删除h1和h2文件夹
4.安装JDK
在hadoop0节点:
rpm -qa|grep java #检查是否已安装jdk
rpm -e --nodeps 已安装jdk名 #卸载已安装的jdk
cd /usr/local/tools/
chmode u+r jdk-7u67-linux-x64.tar.gz #为安装包赋予执行权限
tar -zxvf jdk-7u67-linux-x64.tar.gz /usr/local/software #解压tar包
vi /etc/profile 增加内容如下:
export JAVA_HOME=/usr/local/tools/jdk-7u67-linux-x64.tar.gz
export PATH=.:$JAVA_HOME/bin:$PATH
将jdk复制到hadoop1和hadoop2
scp -r /usr/local/software/jdk-7u67-linux-x64 hadoop1:/usr/local/software
scp -r /usr/local/software/jdk-7u67-linux-x64 hadoop2:/usr/local/software
检查
java -version
在hadoop1节点:
vi /etc/profile 增加内容如下:
export JAVA_HOME=/usr/local/software/jdk-7u67-linux-x64
export PATH=.:$JAVA_HOME/bin:$PATH
检查
java -version
在hadoop2节点:
vi /etc/profile 增加内容如下:
export JAVA_HOME=/usr/local/software/jdk-7u67-linux-x64
export PATH=.:$JAVA_HOME/bin:$PATH
检查
java -version
5.安装hadoop
在hadoop0节点:
tar -zxvf hadoop-2.5.0-cdh5.3.3.tar.gz /usr/local/software
vi /etc/profile 增加内容如下:
export HADOOP_HOME=/usr/local/software/hadoop-2.5.0-cdh5.3.3
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
source /etc/profile #刷新
5.1 修改配置文件(/usr/local/software/hadoop-2.5.0-cdh5.3.3/etc/hadoop/)
a. 配置HDFS
在core.site.xml里
fs.defaultFS = hdfs://hadoop0:9000 #配置主节点ip
hadoop.tmp.dir = /usr/local/software/hadoop-2.5.0-cdh5.3.3/tmp #配置hadoop运行时临时文件夹
fs.trash.interval = 10080 #配置回收站文件删除时间7*24*60(单位分钟)
在hdfs.site.xml里
dfs.replication = 2 #配置hdfs系统副本数量
dfs.data.dir = /usr/local/software/hadoop-2.5.0-cdh5.3.3/hdfsdata #配置HDFS系统的文件在本地存储目录
dfs.namenode.secondary.http-address = hadoop0:50090 #配置secondarynamenode所在节点
dfs.permissions.enabled = false #使eclipse中可以运行mapreduce
dfs.namenode.datanode.registration.ip-hostname-check = false
b.配置yarn
在yarn-env.sh里配置环境变量
在yarn-site.xml里
yarn.nodemanager.aux-services = mapreduce_shuffle #配置mapreduce和shuffle在yarn上运行
yarn.resourcemanager.hostname = hadoop0 #配置resourcemanager所在节点
yarn.log-aggregation-enable = true #配置yarn的mapreduce日志聚集功能
yarn.log-aggregation.retain-seconds = 604800 #配置聚集的日志保存时间7*24*60*60
c.配置从节点主机名
在slaves里写
hadoop1
hadoop2
d.配置mapreduce
在mapred.env.sh里配置环境变量
在mapred.site.xml里
mapreduce.framework.name = yarn #配置mapreduce的运行框架为yarn
mapreduce.jobhistory.webapp.address = hadoop0:19888 #配置mapreduce历史服务web UI端口
mapreduce.jobhistory.address = hadoop0:10020 #配置mapreduce历史服务IPC地址
6将安装好的hadoop复制到从节点
scp -r /usr/local/software/hadoop-2.5.0-cdh5.3.3/ hadoop1:/usr/local/software/
scp -r /usr/local/software/hadoop-2.5.0-cdh5.3.3/ hadoop2:/usr/local/software/
6.hadoop namenode -format #格式化NameNode,只可以运行一次
验证: (1)执行命令jps 如果看到5个新的java进程,分别是NameNode、SecondaryNameNode、DataNode、ResourceManager、DataManager
(2)在浏览器查看,http://hadoop0:50070
7.动态的增加一个hadoop节点
7.1 配置新节点的环境
7.2 把新节点的hostname配置到主节点的slaves文件中
7.3 在新节点,启动进程
hadoop-daemon.sh start datanode
hadoop-daemon.sh start tasktracker
7.4 在主节点执行脚本 hadoop dfsadmin -refreshNodes