1 Hadoop集群搭建
-
- 环境
Ubuntu 64位作为系统环境,Hadoop为2.6稳定版,主机有三台,分别是Master(192.168.104.87),Slave1(192.168.104.84),Slave2(192.168.104.85)。
-
- 流程步骤
- 在Master节点上配置Hadoop用户,Java环境。
- 在Master节点上部署Hadoop。
- 在Slave1、Slave2节点上重复1步骤。
- 三个节点互相免密登陆。
- 将Master节点上的Hadoop目录复制到其它节点。
-
- 创建Hadoop用户
-
sudo useradd -m hadoop -s /bin/bash #创建Hadoop用户,使用/bin/bash作为shell
sudo passwd hadoop #设置Hadoop账号密码为hadoop
sudo adduser hadoop sudo #赐予Hadoop用户管理员权限,可以不赐予
-
-
- 安装Java环境
-
- 下载jdk(jdk-8u162-linux-x64.tar.gz,百度可以搜)到本地;
- 把jdk通过宝塔ssh终端上传到下载目录(/data/zjm/Download)
- 解压缩文件
cd /usr/lib
sudo mkdir jvm
cd /data/zjm/Download #上传到哪就进入哪个文件目录
sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm
- 设置环境变量
cd ~
vim /home/hadoop/.bashrc
#在 ./bashrc 上面添加以下几行代码:
# export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
source ~/.bashrc #使 ./bashrc 生效
-
-
- 安装Hadoop
-
- 下载Hadoop到本地
- 把hadoop-2.6.0.tar.gz通过宝塔ssh终端上传到下载目录(/data/zjm/Download)
- 解压缩文件
sudo tar -zxf /data/zjm/Download/hadoop-2.6.0.tar.gz -C /usr/local
cd /usr/local/
sudo mv ./hadoop-2.6.0/ ./hadoop
sudo chown -R hadoop ./hadoop
-
-
- 配置主机名和IP映射
-
- 修改三台主机名
sudo vim /etc/hostname #分别登陆三台主机,运行此命令,Master主机修改为#Master,以此类推。
- 修改三台主机IP映射
sudo vim /etc/hosts #修改为如下映射
192.168.104.87 Master
192.168.104.84 Slave1
192.168.104.85 Slave2
测试是否ping通。
1.2.5 在Slave1和Slave2节点上重复步骤1.2.1到1.2.2
1.2.6 节点间相互免密
集群能够启动的关键是节点间的相互免密,为了便于记忆和避免出错,免密的过程定义为如下流程:
- Master节点免密登陆Slave1,Slave2。
- Slave1节点免密登陆Master,Slave2。
- Slave2 节点免密登陆Master,Slave1。
1.1在Master上生成免密密钥并上传到Slave1,Slave2
cd ~/.ssh # 如果没有该目录,先执行一次ssh localhost
rm ./id_rsa* # 删除之前生成的公匙(如果有)
ssh-keygen -t rsa # 一直按回车就可以
cat ./id_rsa.pub >> ./authorized_keys
scp ~/.ssh/id_rsa.pub hadoop@Slave1:/home/hadoop/
scp ~/.ssh/id_rsa.pub hadoop@Slave2:/home/hadoop/
1.2在Slave1 上给Master发来的ssh授权
mkdir ~/.ssh # 如果不存在该文件夹需先创建,若已存在则忽略
cat /home/hadoop/id_rsa.pub >> ~/.ssh/authorized_keys
rm /home/hadoop/id_rsa.pub # 用完就可以删掉了
在两个从节点上重复1.1,1.2步骤,注意修改文件传输节点。
1.2.7 Hadoop配置文件参数
需要修改/usr/local/hadoop/etc/hadoop中的5个配置文件,进入这个文件目录,然后通过vim对这几个配置文件进行修改。
1.2.7.1修改slaves文件
#Master
Slave1 #如果要把Master也作为数据节点,就把第一行的注释去掉。
Slave2
1.2.7.2 修改core-site.xml
1.2.7.3 修改hdfs-site.xml
1.2.7.4 修改mapred-site.xml
1.2.7.5 修改 yarn-site.xml
1.2.8 把Hadoop文件复制给从节点
1. 压缩文件
cd /usr/local
sudo rm -r ./hadoop/tmp # 删除 Hadoop 临时文件
sudo rm -r ./hadoop/logs/* # 删除日志文件
tar -zcf /home/hadoop/hadoop.master.tar.gz ./hadoop # 先压缩再复制
cd ~
scp ./hadoop.master.tar.gz Slave1:/home/hadoop
scp ./hadoop.master.tar.gz Slave2:/home/hadoop
- 在从节点(切换进入Slave1和Slave2)上解压文件并授权
sudo rm -r /usr/local/hadoop # 删掉旧的(如果存在)
sudo tar -zxf /home/hadoop/hadoop.master.tar.gz -C /usr/local
sudo chown -R hadoop /usr/local/hadoop
1.2.9 格式化NameNode并启动Hadoop集群
hdfs namenode -format # 首次运行需要执行初始化,之后不需要
start-dfs.sh
start-yarn.sh
mr-jobhistory-daemon.sh start historyserver
2 Spark集群搭建
2.1 配置
一台主机作为Master节点,两台主机作为Slave节点,主机名分别为Slave1,Slave2。在Spark官网上下载安装包。
2.2 解压缩
sudo tar -zxf /data/zjm/Download/spark-2.0.2-bin-without-hadoop.tgz -C /usr/local/
cd /usr/local
sudo mv ./spark-2.0.2-bin-without-hadoop/ ./spark
sudo chown -R hadoop ./spark
2.3 配置环境变量
vim ~/.bashrc #在./bashrc 文件中添加如下字段
export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
2.4 配置Spark
配置slaves和spark-env.sh文件
2.4.1配置slaves文件
cd /usr/local/spark/ #初始只有slaves.template,把slaves.template复制到slaves
cp ./conf/slaves.template ./conf/slaves
#用vim修改slaves文件内容,即添加以下句段
Slave1
Slave2
2.4.2 配置spark-env.sh文件
cp ./conf/spark-env.sh.template ./conf/spark-env.sh #把spark-env.sh.tempalte复制到#spark-env.sh
#用vim给spark-env.sh添加如下句段:
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export SPARK_MASTER_IP=192.168.104.87 #Master节点IP地址
2.5把/usr/local/spark 压缩复制到从节点
cd /usr/local/
tar -zcf ~/spark.master.tar.gz ./spark
cd ~
scp ./spark.master.tar.gz slave01:/home/hadoop
scp ./spark.master.tar.gz slave02:/home/hadoop
2.6 在从节点上解压缩并授权
sudo rm -rf /usr/local/spark/
sudo tar -zxf /home/hadoop/spark.master.tar.gz -C /usr/local
sudo chown -R hadoop /usr/local/spark
2.7启动Spark集群
2.7.1 启动Hadoop集群
cd /usr/local/hadoop/
sbin/start-all.sh、
2.7.2 启动Spark 集群
cd /usr/local/spark/
sbin/start-master.sh
sbin/start-slaves.sh
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)