大数据云计算现在比较热门,未来的一个发展方向,在此分享下技术,有不对的地方欢迎指出
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
2.2.3 格式化hdfs (在你的主节点机器上运行)pc-02
2.2.4 安装zookeeper( zookeeper-3.4.5.tar.gz 下载后解压到指定目录) ,配置二个地方执行命令:hadf namenoade -format
配置 一:/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:3888server.2=lz201:2888:3888server.3=lz202:2888:3888注意:以上server后面的数字和你主从节点的myid是一样的,意思是机器lz200的/usr/local/cloud/zookeeper/zookeeper-3.4.5/dataDir目录里面有一个文件叫myid,内容只有“1” 和server后面的数字是一样的
配置二:安照配置一增加myid文件
2.2.5 格式化zk(在你的主节点机器上运行)
2.3 测试hdfs、zk执行命令:hadf zkfc -formatZK
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文件