天天看点

hadoop spark 大数据集群环境搭建(一)

大数据云计算现在比较热门,未来的一个发展方向,在此分享下技术,有不对的地方欢迎指出

1、软件环境(会分享到网盘)

centos6.5

jdk1.7

hadoop2.4.1(这里只用到hdfs,namenode不走ha)

zookeeper3.4.5

spark1.3.0(直接从官网下载已经编译好的32bit)

scala 2.10.4

2、软件安装

软件分配
主机名称 安装软件 备注
pc-01 jdk、hadoop、zookeeper、scala、spark 主节点
pc-02 jdk、hadoop、zookeeper、scala、spark 从节点
pc-03 jdk、hadoop、zookeeper、scala、spark 从节点
2.1 JDK ( jdk-7u79-linux-i586.tar.gz 下载后解压到指定目录,然后修改 /etc/profile环境变量,之后的环境变量配置参考这里)
/etc/profile 增加 
export JAVA_HOME=/usr/local/cloud/java/jdk1.7.0_79 
export PATH=$JAVA_HOME/bin
刷新配置 source /etc/profile 
验证安装成功 java -version (显示正确版本号既是成功)
2.2 hadoop、zookeeper 安装
2.2.1 配置SSH免登录(这部有必要配置,可以省去中间要输入密码的痛苦)
2.2.2 下载安装hadoop(hadoop-2.4.1.tar.gz 下载后解压到指定目录,然后修改 /etc/profile环境变量),然后修改以下几个配置文件
第一个文件:/hadoop-2.4.1/etc/hadoop/hadoop-env.sh
修改:export JAVA_HOME=/usr/local/cloud/java/jdk1.7.0_79 #这里是你的JAVA_HOME目录(which java 命令可以查看)
第二个文件:/hadoop-2.4.1/etc/hadoop/core-site.xml
增加:(备注:lz200,lz201.这些是主机名称)
<configuration>

		<!-- 制定HDFS的老大(NameNode)的地址 -->
		<property>
			<name>fs.defaultFS</name>
			<value>hdfs://lz200:9000</value>
		</property>
		<!-- 指定hadoop运行时产生文件的存储目录 -->
		<property>
			<name>hadoop.tmp.dir</name>
			<value>/usr/local/cloud/hadoop/hadoop-2.4.1/tmpDir</value>
        </property>
		<!-- 指定zookeeper地址 -->
		<property>
			<name>ha.zookeeper.quorum</name>
			<value>lz200:2181,lz201:2181,lz202:2181</value>
		</property>
</configuration>
           

第三个文件:/hadoop-2.4.1/etc/hadoop/hdfs-site.xml

增加:

<configuration>
	<!-- 指定HDFS副本的数量 -->
	<property>
		<name>dfs.replication</name>
		<value>1</value>
        </property>
</configuration>
           

第四个文件:/hadoop-2.4.1/etc/hadoop/yarn-site.xml

增加:

<configuration>

	<!-- 指定YARN的老大(ResourceManager)的地址 -->
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>lz200</value>
        </property>
	<!-- reducer获取数据的方式 -->
        <property>
		<name>yarn.nodemanager.aux-services</name>
		<value>mapreduce_shuffle</value>
        </property>

</configuration>
           

第五个文件:/hadoop-2.4.1/etc/hadoop/mapred-site.xml (mapred-site.xml.template 把这个文件去掉template即可)

增加

<configuration>
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
        </property>
</configuration>
           

第六个文件:/hadoop-2.4.1/etc/hadoop/slaves(把localhost去掉)

增加你集群其它的主机名(每个主机要换行)

pc-01
pc-02
2.2.3 格式化hdfs (在你的主节点机器上运行)
执行命令:hadf namenoade -format
2.2.4 安装zookeeper( zookeeper-3.4.5.tar.gz 下载后解压到指定目录) ,配置二个地方
配置 一:/zookeeper-3.4.5/conf/zoo.cfg(zoo_sample.cfg 把这个文件_sample去掉即可)两个地方
第一个地方:修改dataDir=/usr/local/cloud/zookeeper/zookeeper-3.4.5/dataDir #值是你自定义的目录,里面要放一个myid的文件
第二个地方:增加以下内容(lz200是你的主从节点的名称)
server.1=lz200:2888:3888
server.2=lz201:2888:3888
server.3=lz202:2888:3888
注意:以上server后面的数字和你主从节点的myid是一样的,意思是机器lz200的/usr/local/cloud/zookeeper/zookeeper-3.4.5/dataDir目录里面有一个文件叫myid,内容只有“1” 和server后面的数字是一样的
配置二:安照配置一增加myid文件
2.2.5  格式化zk(在你的主节点机器上运行)
执行命令:hadf  zkfc -formatZK
2.3 测试hdfs、zk
2.3.1启动zk,主从机器分别执行命令:/zookeeper-3.4.5/bin/zkServer.sh start
jps查看会有进程:QuorumPeerMain
2.3.2 启动hdfs,主节点机器执行命令:/hadoop-2.4.1/sbin/start-dfs.sh 
jps查看,主节点机器会有进程:NameNode SecondaryNameNode
从节点机器会有进程:DataNode
2.3.3 测试上传文件到hdfs 执行命令:hadoop fs -put 本地文件路径 hdfs文件路径 
比如:hadoop fs -put /usr/local/aaa.txt /test 意思把aaa文件上传到hdfs的test目录下
验证是否成功:通过浏览器查看:http://主节点IP:50070/explorer.html#hdfs文件路径 
比如http://lz200:50070/explorer.html#/test 可以看到上传的aaa.txt文件