Linux上搭建Hadoop集群
本文将为初学者的搭建简单的伪分布式集群,将搭建一台虚拟机,用于学习Hadoop
工具:vm虚拟机,centOS7,jdk-8,Hadoop2.7,xftp,xshell
用户:在虚拟机中创建一个hadoop用户并加入到root组中useradd -m hadoop -G root -s /bin/bash
准备好这些工具,用户,我们将开始搭建hadoop
1.让虚拟机链接同主机:(建议使用nat模式)
因为虚拟机默认就是nat链接,所以我们一路配置虚拟机便可。然后我们使用root用户登陆Linux(我的Linux叫bigdatas)
查看主角ip (ip a)比如我的IP是192.168.1.11.然后我们打开主机(真机不是虚拟机)打开网路编辑
将里面的IP,网口全部改成和bigdatas里面相同的便可,如果在主机联网的情况下,进入bigdatas中 ping www.baidu.com
有返回值,便可修改hosts vi /etc/
hosts添加如下:
192.168.1.111 bigdatas
2.配置ssh免密码登陆:
ssh-keygen -t rsa 生成公钥和私钥一路回车道yes,完成后便可登陆自己,要想登陆其他机器要
将生产的公钥拷贝给需要登录的目标主机 ssh-copy-id bigdatas
然后便可看道.ssh文件
cd ~
ll .ssh
这时我们便可测试ssh登陆了ssh bigdatas(1.先使用hadoop用户连接 2.连接成功后再次ssh free97zl 无需输入密码登录即测试成功!)
3配置环境
这时我拿xftp把下载好的jdk,hadoop传到bigdatas下hadoop文件夹下,并解压(tar -zxvf 。。。)
切换到hadoop用户,vi ~/.bashrc后
添加如下环境变量
export JAVA_HOME=/home/hadoop/opt/jdk-9.0.1
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/home/hadoop/opt/hadoop-2.9.0
export HADOOP_CONF_DIR=/home/hadoop/opt/hadoop-2.9.0/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
然后按下shift zz进行保存
然后输入source .bashrc让环境变量立刻生效
4配置Hadoop,想进入如下目录下
/home/hadoop/opt/hadoop-2.9.0/etc/hadoop 在/home/hadoop/opt/hadoop-2.9.0下建一个临时目录tmp
输入ll -a后修改如下几个配置文件:
core-site.xml <property> <name>fs.defaultFS</name> <value>hdfs://bigdatas:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/home/hadoop/opt/hadoop-2.9.0/tmp</value> </property> fs:指定hadoop文件系统hdfs dir:指定hadoop数据存放位置 hdfs-site.xml <property> <name>dfs.namenode.secondary.http-address</name> <value>bigdatas:50090</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/home/hadoop/opt/hadoop-2.9.0/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/hadoop/opt/hadoop-2.9.0/tmp/dfs/data</value> </property> host:port dfs.replication 默认备份3 mapred-site.xml cp mapred-site.xml.template mapred-site.xml <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>free97zl:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>free97zl:19888</value> </property> slaves(不需要vi slaves) yarn-site.xml <property> <name>yarn.resourcemanager.hostname</name> <value>free97zl</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>
5启动hadoop集群
hadoop用户下:
hdfs namenode -format #第一次启动要执行格式化,之后启动不用执行这个
start-dfs.sh
6.
在free97zl 执行 jps
看到如下算成功
[root@bigdatas hadoop]# jps
2880 JobHistoryServer
2457 ResourceManager
2746 NodeManager
2922 Jps
2107 DataNode
2012 NameNode
2300 SecondaryNameNode