关于hadoop在linux系统中的搭建问题
本人有点linux基础,但是没有在linux系统中搭建过大数据平台,所以也算是0起点吧,也是边学边搭建。期初真的不知道该如何是好,但是经过多次的不断练习,终于把hadoop成功的在本地服务器和本地的虚拟机上搭建成功,现在我把我的搭建步骤分享给大家,如果有疑问的,可以发我邮箱[email protected]
首先准备好linux和基本的软件还有主机IP地址,名字可以随意起
1、环境:redhat 6.5、JDK 1.6、hadoop 1.2.1(这时候我推荐大家使用一个工具直接是windows和linux直接传输文件的工具winscp可以直接传文件,大家可以下载一个方便使用)
192.168.0.218 bd2 / IP 地址 +主机名称
192.168.0.219 bd1
192.168.0.217 bd1
没有特殊说明,每台机器都需要以下步骤
2、创建用户和组
groupadd hadoop
useradd -d /home/hadoop -g hadoop -s/bin/bash hadoop
passwd hadoop
3.hadoop及其他的环境变量配置 (vi .bashrc)
export JAVA_HOME=/home/hadoop/jdk1.8.0_111
export HADOOP_HOME=/home/hadoop/hadoop
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HBASE_HOME=/home/hadoop/hbase
export SCALA_HOME=/home/hadoop/scala
export SPARK_HOME=/home/hadoop/spark
export MONGODB_HOME=/home/hadoop/mongodb
export PATH=$MONGODB_HOME/bin:$SPARK_HOME/bin:$SCALA_HOME/bin:$HBASE_HOME/bin:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$HADOOP_HOME/bin:$PATH
export HADOOP_HOME_WARN_SUPPRESS=1
4、关闭防火墙
1.service iptables stop
2.chkconfig --list iptables
3.chkconfig off
5、每个节点的hosts文件(vi /etc/hosts)(和hostname不一样,hostname的配置文件是/etc/sysconfig/network.)
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.13.100 node1.uplooking.com node1 主机IP地址 主机
192.168.13.101 node2.uplooking.com node2
192.168.13.102 node3.uplooking.com node3
6、hadoop用户下配置以下文件,以下文件路径在/home/hadoop/hadoop/etc/hadoop
(1)hadoop-env.sh(什么都不要加,就加java的目录,注意注释的部分不要动它!!)
export JAVA_HOME=/home/hadoop/jdk1.8.0_111
(2)yarn-env.sh
#some Java parameters
export JAVA_HOME=/home/hadoop/jdk1.8.0_111
(3)slaves(主从关系)
node2
node3
在hadoop/etc/hadoop 目录下,对core-site.xml进行编辑
(4)core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/hadoop-2.6.3/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>hadoop.proxyuser.hduser.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hduser.groups</name>
<value>*</value>
</property>
</configuration>
(5)hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node1:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/hadoop-2.6.3/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/hadoop-2.6.3/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
(6)mapred-site.xml,该文件没有,可以copy下面的mapred-site.xml.template
(cp mapred-site.xml.template mapred-site.xml)( 里面的node1是主机的名称)
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>bd1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>bd1:19888</value>
</property>
</configuration>
(7)yarn-site.xml
<configuration>
<!-- Site specific YARNconfiguration properties-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>bd1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>bd1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>bd1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>bd1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>bd1:8088</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>100000</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>10000</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>3000</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>2000</value>
</property>
</configuration>
7、将jdk及配置好的hadoop copy到node2、node3上如:
scp -r /home/hadoop/hadoop node2:/home/hadoop
当然也可以用scripts里面的3scp.sh进行传输
sh xxx.sh hostnames /home/hadoop/hadoop /home /hadoop
以下操作是在Node1上
8、格式化namenode(/home/hadoop/hadoop-2.6.3/bin)
./hdfs namenode -format
9、启动(/home/hadoop/hadoop-2.6.3/sbin)
./start-all.sh
10、用JPS查看进程
主机上是:
从机上是:
如果达到以上步骤都是成功的,那么恭喜你已经把hadoop成功的部署在你linux系统当中了。