手工命令行 搭建 hadoop 和 spark 环境
环境准备:3台CentOS7,64位,Hadoop2.7需要64位Linux
192.168.20.161 192.168.20.162 192.168.20.163 三台机器分别叫host01.xyy host02.xyy host03.xyy
/etc/hosts
追加
192.168.20.161 host01.xyy
192.168.20.162 host02.xyy
192.168.20.163 host03.xyy
三台机器都是 用户名root 密码root 用户名hadoop 密码1
三台机器上都配置免密登录
sudo vim /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
集群中的每台主机上使用hadoop用户执行下面命令,一路回车,可生成本机的rsa类型的密钥。
ssh-keygen -t rsa
在主机host01上hadoop用户下执行如下操作
cat id_rsa.pub>> authorized_keys
ssh hadoop@host02 cat ~/.ssh/id_rsa.pub>> authorized_keys
ssh hadoop@host03 cat
~/.ssh/id_rsa.pub>> authorized_keys
把Master服务器的authorized_keys、hosts复制到Slave服务器上对应位置
常见免密码登录失败分析
配置问题
- 检查配置文件/etc/ssh/sshd_config是否开启了AuthorizedKeysFile选项
- 检查AuthorizedKeysFile选项指定的文件是否存在并内容正常
目录权限问题
- ~权限设置为700
- ~/.ssh权限设置为700
- ~/.ssh/authorized_keys的权限设置为600
sudo chmod 700 ~
sudo chmod 700 ~/.ssh
sudo chmod 600 ~/.ssh/authorized_keys
设置完了记得重启ssh服务
完成免密和基础环境准备以后开始安装
3、安装JDK,Hadoop2.7需要JDK7,由于我的CentOS是最小化安装,所以没有OpenJDK,直接解压下载的JDK并配置变量即可
(1)下载“jdk-7u79-linux-x64.gz”,放到/home/java目录下
(2)解压,输入命令,tar
-zxvf jdk-7u79-linux-x64.gz
(3)编辑/etc/profile
export JAVA_HOME=/home/java/jdk1.7.0_79
export
CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
(4)使配置生效,输入命令,source
/etc/profile
(5)输入命令,java
-version,完成
4、安装Hadoop2.7,只在Master服务器解压,再复制到Slave服务器
(1)下载“hadoop-2.7.0.tar.gz”,放到/home/hadoop目录下
(2)解压,输入命令,tar
-xzvf hadoop-2.7.0.tar.gz
(3)在/home/hadoop目录下创建数据存放的文件夹,tmp、hdfs、hdfs/data、hdfs/name
5、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下的core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.20.161:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/tmp</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131702</value>
</property>
</configuration>
6、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下的hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>192.168.20.161:9001</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
7、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下的mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.20.161:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>192.168.20.161:19888</value>
</property>
</configuration>
8、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下的yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>192.168.20.161:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.20.161:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.20.161:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>192.168.20.161:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>192.168.20.161:8088</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>768</value>
</property>
</configuration>
9、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下hadoop-env.sh、yarn-env.sh的JAVA_HOME,不设置的话,启动不了,
export JAVA_HOME=/home/java/jdk1.7.0_79
10、配置/home/hadoop/hadoop-2.7.0/etc/hadoop目录下的slaves,删除默认的localhost,增加2个从节点,
192.168.20.162
192.168.20.163
11、将配置好的Hadoop复制到各个节点对应位置上,通过scp传送,
scp -r /home/hadoop 192.168.20.162:/home/
scp -r /home/hadoop 192.168.20.163:/home/
12、在Master服务器启动hadoop,从节点会自动启动,进入/home/hadoop/hadoop-2.7.0目录
(1)初始化,输入命令,bin/hdfs
namenode -format
(2)全部启动sbin/start-all.sh,也可以分开sbin/start-dfs.sh、sbin/start-yarn.sh
(3)停止的话,输入命令,sbin/stop-all.sh
(4)输入命令,jps,可以看到相关信息
13、Web访问,要先开放端口或者直接关闭防火墙
(1)输入命令,systemctl
stop firewalld.service
(2)浏览器打开http://
192.168.20.161:8088/
(3)浏览器打开http://
192.168.20.161:50070/
14、安装完成。这只是大数据应用的开始,之后的工作就是,结合自己的情况,编写程序调用Hadoop的接口,发挥hdfs、mapreduce的作用。
完成以后安装spark环境
安装Zookeeper
复制zookeeper的gz文件到 host01 机器
1. 解压
tar zxf zookeeper-3.4.11.tar.gz
2. 配置
cd conf
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
3. 设置serverid
进入data文件夹
cd /home/hadoop/zookeeper-3.4.11/data
机host01器
echo "1">myid
4. Copy至其他机器
scp -r /home/hadoop/zookeeper-3.4.11 hadoop@host01.xyy: /home/hadoop/zookeeper-3.4.11
5. 修改另外台机器的serverid
重复第3步,分别将id设置为配置文件中对应的id
cd /home/hadoop/zookeeper-3.4.11/data
host02
echo "2">myid
host03
echo "3">myid
安装Spark
Host01机器
1. 拷贝安装文件并解压
scala-2.11.7.tgz
spark-1.6.0-bin-hadoop2.6.tgz
hadoop-2.6.0.tar.gz
分别解压
2. 设置环境变量
vim ~/.bash_profile
export
JAVA_HOME=/home/peter/App/jdk1.8.0_66
export
PATH=$JAVA_HOME/bin:$PATH
export
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export
SCALA_HOME=/home/peter/App/Spark/scala-2.11.7
export
SPARK_HOME=/home/peter/App/Spark/spark-1.6.0-bin-hadoop2.6
export
HADOOP_HOME=/home/peter/App/Spark/hadoop-2.6.0
export HADOOP_CONF_DIR=/home/peter/App/Spark/hadoop-2.6.0/etc/hadoop
export
PATH=$PATH:$SCALA_HOME/bin:$SPARK_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source ~/.bash_profile
3. 设置Spark
cd /home/peter/App/Spark/spark-1.6.0-bin-hadoop2.6/conf
cp spark-env.sh.template spark-env.sh
export
SCALA_HOME=/home/peter/App/Spark/scala-2.11.7
export
SPARK_WORKER_MEMORY=1G
export
JAVA_HOME=/home/peter/App/jdk1.8.0_66
export
SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER
-Dspark.deploy.zookeeper.url=sm:2181,sd1:2181,sd2:2181
-Dspark.deploy.zookeeper.dir=/spark"
配置slaves
cp slaves.template slaves
vim slaves
4. 拷贝安装文件以及配置文件至其他机器
Java安装文件及配置文件
Hadoop
Spark
Scala
5. 启动Spark集群
每台机器启动ZK
/home/peter/App/Spark/zookeeper-3.4.7/bin/zkServer.sh
start
在SM机器启动Spark集群
cd
/home/peter/App/Spark/spark-1.6.0-bin-hadoop2.6
./sbin/start-all.sh
选中一台机器作为Standby Master,启动Master进程
./sbin/start-master.sh
启动后,可访问Spark Alive
Master的管理页面以及Standby Master的管理页面
http://192.168.20.161:4040
最新文章
- [译] Paxos算法详解
- QTableWidget行选中/删除/添加行
- jQuery uploadify 文件上传
- svg转化成canvas以便生成base64位的图片
- mpu
- libevent (一) socket属性设置与初始化操作
- [转] Redis系统性介绍
- 搭建mongodb集群(副本集+分片)
- Dynamic Method Resolution
- javascript学习代码
- Android--图片的三级缓存策略
- spring-qualifier解释
- 网页UI视觉设计规范
- css使用技巧
- CSS移动
- 洛谷mNOIP模拟赛Day2-星空
- JQuery系统梳理
- 【转】C++ 11 并发指南一(C++ 11 多线程初探)
- OAuth:Access to shared resources via web applications
- python MQTT 出现TypeError: payload must be a string, bytearray, int, float or None.