Hadoop集群安装与配置相关组件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Hadoop集群安装与配置相关组件一.Hadoop安装环境准备
系统环境:CentOS6.5 64位
1.配置静态IP
(本次实验是在两台虚拟机上进行的最小化安装)
master:192.168.23.10
slave1 :192.168.23.11
编辑/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=08:00:27:8F:FE:50
TYPE=Ethernet
UUID=2f33b0aa-b320-4767-990f-e4634373c5ce
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
BROADCAST=192.168.23.255
GATEWAY=192.168.23.1
NETWORK=192.168.23.0
NETMASK=255.255.255.0
DNS1=8.8.8.8
IPADDR=192.168.23.10
2.创建Hadoop用户
创建hadoop用户组
groupadd hadoop
创建hadoop用户
useradd -m hadoop -g hadoop -s /bin/bash
passwd hadoop
给hadoop用户添加sudo权限
visudo // 应该在98行,在root下面添加一行
# User privilege specification
root ALL=(ALL:ALL) ALL
hadoop ALL=(ALL:ALL)
3.配置hosts及ssh免密码登录
3.1配置主机名
vi /etc/hosts 主节点和从节点都要配置
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.23.10 master
192.168.23.11 slave1
配置完成后重启,通过hostname命令查看主机名
3.2配置ssh免密码登录
注意:因为我之后的操作都是使用hadoop用户完成的,所以这里配置的免密码登
录的用户就是hadoop
建议先使用ssh 主机名登录一下,一是判断机器是否安装了ssh,当然也可以通过命令rpm -qa | grep ssh来查看(没有安装的话可以通过yum install
openssh-clients ;yum install openssh-serve两条命令来完成安装);二可以自己在
hadoop家目录创建.ssh目录。

执行
$ ssh-keygen -t rsa
#一直按回车就可以了
让Master节点需能无密码的SSH本机,在Master节点上执行
$cat ./id_rsa.pub>>./authorized_keys
chmod 600 authorized_keys
完成后可执行ssh master验证一下,接着需要把master节点的公钥上传输到slave1
节点上
sudo scp hadoop@master:/home/hadoop/.ssh/ id_rsa.pub /home/hadoop/.ssh/
#在目的节点上执行
接着在Slave1节点上,将ssh公钥加入授权
$mkdir ~/.ssh
$cat ~/id_rsa.pub>>~/.ssh/authorized_keys
chmod 600 authorized_keys
$rm ~/id_rsa.pub
如果有其他的Slave节点,也要执行将master公钥传输到slave节点,在slave节点加
入授权这两步.这样,在master节点就可以无密码SSH到各个slave节点了.
4.安装JDK
4.1方法一使用脚本(适用于无包,网速好)
之前写过一个自动安装jdk的脚本,具体内容如下:
#!/bin/bash
#自动安装配置jdk
mkdir /usr/local/java
path=/usr/local/java
cd $path
#下载jdk 1.8.0_77
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"
/otn-pub/java/jdk/8u77-b03/jdk-8u77-linux-x64.tar.gz
#解压
mv jdk-8u77-linux-x64.tar.gz* ./jdk-8u77-linux-x64.tar.gz
tar -zxvf jdk-8u77-linux-x64.tar.gz
#配置环境变量
export JAVA_HOME="${path}/jdk1.8.0_77"
if ! grep "JAVA_HOME=${path}/jdk1.8.0_77" /etc/profile
then
echo "JAVA_HOME=${path}/jdk1.8.0_77" >> /etc/profile
echo "export JAVA_HOME" >> /etc/profile
echo 'PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
echo "export PATH" >> /etc/profile
echo 'CLASSPATH=.:$JAVA_HOME/lib' >> /etc/profile
echo "export CLASSPATH" >> /etc/profile
fi
#更新配置文件
source /etc/profile
echo `java -version`
echo "jdk is installed !"
执行完脚本后记得再source一下。

4.2方法二自己解压配置
Sudo tar jdk-8u77-linux-x64.tar.gz
sudo cp -r jdk1.8.0_77/ /usr/local/java/
sudo vim /etc/profile
#修改内容如下,注意大小写
#在环境变量中的配置中,有一点需要指出就是如果只是编辑~/.bashrc的话这个变
量的生效只是针对当前用户的.
#如果想要其在全局生效的话,建议更新/etc/profile,这是一个全局的.
export JAVA_HOME=/usr/local/java/ jdk1.8.0_77
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
执行source /etc/profile使配置生效,如果你机器上自带的有jdk的话,可以使用
Sudo rpm -qa | grep jdk#查看相关信息
sudo yum -y remove java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.i686#卸载相应jdk
5.安装hadoop
下载hadoop ,地址:
/apache/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz sudo tar -xvfz hadoop-2.7.2.tar.gz
sudo cp -r hadoop-2.7.2 /usr/local/hadoop
sudo chmod -R 775 /usr/local/hadoop/
sudo chown -R hadoop:hadoop /usr/local/Hadoop
配置环境变量:
#HADOOP VARIABLES START
export JAVA_HOME=/usr/lib/jvm/
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$JAVA_HOME/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
#HADOOP VARIABLES END
还有一个问题就是,如果在启动hadoop的时候经常会出现,找不到JAVA_HOME的问题,这个问题可以通过修改hadoop环境变量来解决,直接写死变量就可以了.
vi /usr/local/hadoop/ect/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/local/java/ jdk1.8.0_77
6.配置集群环境192.168.23.10 NameNode
集群/分布式模式需要修改/usr/local/hadoop/etc/hadoop 中的5个配置文件,更多设置项可点
击查看官方说明,这里仅设置了正常启动所必须的设置项:slaves、core-site.xml、hdfssite.xml、mapred-site.xml、yarn-site.xml 。

7.文件slaves
文件slaves,将作为DataNode 的主机名写入该文件,每行一个,默认为localhost,所以在
伪分布式配置时,节点即作为NameNode 也作为DataNode。

分布式配置可以保留
localhost,也可以删掉,让Master 节点仅作为NameNode 使用。

本实验让master 节点仅作为NameNode 使用,因此将文件中原来的localhost 删除,只添加一行内容:slave1。

cd /usr/local/hadoop/etc/hadoop/
vislaves
slave1
8.文件core-site.xml 改为下面的配置:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
</configuration>
9.文件hdfs-site.xml,dfs.replication 一般设为3,但我们只有一个Slave 节
点,所以dfs.replication 的值还是设为1:
<configuration>
<property>
<name>node.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
10.文件mapred-site.xml (可能需要先重命名,默认文件名为
mapred-site.xml.template),然后配置修改如下:
<configuration>
<property>
<name></name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
11.文件yarn-site.xml:
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>Master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
在其他slave节点需要做的
首先通过scp把master配置好的hadoop打包,之后转输到Slave节点上,配置好环境
变量JDKPATH SSH 基本上与master是一样的.
配置好后,将master 上的/usr/local/Hadoop 文件夹复制到各个节点上(可以通过sudo -r scp hadoop@master:/usr/local/hadoop /usr/local/)。

因为之前有跑过伪分布式模式,建议在切换到集群模式前先删除之前的临时文件。

12.开始启动集群(使用hadoop用户)
hdfs namenode -format # 首次运行需要执行初始化,之后不需要
在master上执行:
$start-dfs.sh
$start-yarn.sh
#可以直接使用start-all.sh启动服务
$mr-jobhistory-daemon.sh start historyserver
Centos6.X需要关闭防火墙
sudo service iptables stop # 关闭防火墙服务
sudo chkconfig iptables off # 禁止防火墙开机自启,就不用手动关闭了
Cent7
systemctl stop firewalld.service # 关闭firewall
systemctl disable firewalld.service # 禁止firewall开机启动
之后分别在master与slave上执行jps,会看到不同的结果.缺少任一进程都表示出错。

另外还需
要在master 节点上通过命令hdfs dfsadmin -report 查看DataNode 是否正常启动,如果Live
datanodes 不为0 ,则说明集群启动成功。

例如我这边一共有1 个Datanodes:$jps
16193 NameNode
16515 ResourceManager
16356 SecondaryNameNode
3333 JobHistoryServer
17949 Jps
$hdfs dfsadmin –report
可以访问http://192.168.23.10:50070/ 查看结果
二.Hbase安装
参考文档:/nexiyi/p/hbase_intro_94.html
/zc741520/blog/388718
1.下载hbase
可以从官方下载地址下载HBase 最新版本,推荐stable目录下的二进制版本。

我下载的是hbase-1.2.1-bin.tar.gz 。

确保你下载的版本与你现存的Hadoop 版本兼
容(兼容列表)以及支持的JDK版本(从HBase 1.0.x 已经不支持JDK 6 了),下载
地址:/apache/hbase/1.2.1/hbase-1.2.1-bin.tar.gz
2.解压
tar -zxvf hbase-1.2.1-bin.tar.gz
sudo mv hbase-1.2.1 /usr/local/hbase
cd /usr/local/
sudo chmod -R 775 hbase
sudo chown -R hadoop:hadoop: hbase
3.修改环境变量
cd /usr/local/hbase
vi conf/hbase-env.sh
export JAVA_HOME=/usr/local/java/jdk1.8.0_77
export HBASE_CLASSPATH=/usr/local/hadoop/etc/hadoop
export HBASE_MANAGES_ZK=true
第一个参数指定了JDK路径;第二个参数指定了hadoop 的配置文件路径;第三个参数设置使用hbase 默认自带的Zookeeper。

vim conf/hbase-site.xml
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1</value>
</property>
<property>
<name>hbase.rest.port</name>
<value>60050</value>
</property>
<property>
<name>hbase.master.port</name>
<value>60000</value>
<description>The host and port that the HBase master runs at.</description>
</property>
<property>
<name>hbase.regionserver.port</name>
<value>60020</value>
<description>The host and port that the HBase master runs at.</description>
</property>
vim conf/regionservers
master
slave1
vi ~/.bashrc
export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin
source ~/.bashrc
4.分发hbase 到其它机器,并在其上设置环境变量,启动hbase测试。

在master节点上运行
start-hbase.sh
通过jps查看hbase进程是否存在或者进入hbase shell ,还可以打开浏览器通过16030端口查看相关信息
5.注意:防火墙一定要关闭,不然会服务起不来
三.hive安装配置
参考文档:/thread-525071-1-2.html
/linjiqin/archive/2013/03/04/2943025.html
3.1安装mysql数据库(使用mysql作为元数据库)
注意:考虑到负载均衡我把mysql装在slave1上了,还有如果你安装是使用root 用户安装的话这样和hive关联可能会出现一些权限问题,我是最后把
mysql文件夹的用户和属组都改成hadoop了。

1.下载安装包,MySQL5.7.11安装包
链接:/get/Downloads/MySQL-5.7/mysql-5.7.11-linux-glibc2.5-x86_64.ta r.gz
2.解压
cd /usr/local
tar zxvf /usr/local/mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.7.11-linux-glibc2.5-x86_64 mysql
3.创建MySQL用户和组
添加用户组
groupadd mysql
添加mysql用户
useradd -r -g mysql -s /bin/false mysql
进入到解压的目录下面
cd mysql
创建此文件夹
mkdir mysql-files
改文件夹的权限
chmod 750 mysql-files
. 此时代表的文件夹是/usr/local/mysql,改当前文件夹及子目录的所有者
chown -R mysql:mysql .
执行完后,它会给你一个root的初始密码,由大写字母、小写字母、数字、
符号组成,保留下来为以后登录做准备,登录后可以修改。

如果在登录时输入
不正确,后面有方法可以补救。

还会自动生成一个data文件夹,可以执行ls
命令查看是否生成。

bin/mysqld --initialize --user=mysql
开启SSL
bin/mysql_ssl_rsa_setup
把当前目录的属主改回root
chown -R root .
修改data、mysql-files文件夹的属主(注意最后改属组时,这个地方还是mysql
的)
chown -R mysql data mysql-files
服务加到启动项的
cp support-files/mysql.server /etc/init.d/mysql.server
4.配置配置文件
修改mysql/support-files/my-default.conf
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
将修改后的文件拷贝至/etc下面,且重命名为f
cp support-files/f /etc/f
在/etc/profile文档最后配置MySQL环境变量
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
使配置文件生效
source /etc/profile
5.启动MySQL
5.1将启动脚本拷贝到/etc/init.d路径下
cp support-files/mysql.server /etc/init.d/mysql
使用下面命令开启、重启、关闭MySQL
/etc/init.d/mysql start (restart|stop)
5.2在MySQL安装路径中
support-files/mysql.server start (restart|stop)
5.3开机自启动
在/etc/rc.local文档中添加代码:
sudo /etc/init.d/mysql start
或:sudo /usr/local/mysql/support-files/mysql.server start
你执行任何命令,MySQL都会提示你以下信息:
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
这是因为上面生成的密码是临时的,刚进去MySQL需要先设置root的密码才
能进行其他的操作。

解决方法:
SET PASSWORD = PASSWORD('123456');
6.忘记root临时密码
之前在安装的时候不是有一步会给个初始密码你么,这在以前的mysql的时候
是没有初始密码的,直接回车就到数据库里面去了。

执行bin/mysql -uroot -p,
系统提示:ERROR 1045 (28000) : Access denied for user 'root'@'localhost' (using
password : No)
修改MySQL的配置文件(默认为/etc/f),在[mysqld]下添加一行:
skip-grant-tables
service mysqld restart后,即可直接使用mysql 进入。

CentOS设置root密码:
mysql> update er set authentication_string=password('123456') where
user='root' and Host = 'localhost';
Ubuntu设置root密码:
mysql> update user set password=PASSWORD('123456') where user='root';
刷新权限
mysql>flush privileges;
mysql>quit;
将/etc/f文件还原(删除skip-grant-tables),重新启动
support-files/mysql.server restart,这个时候可以使用mysql -u root –p '123456'
进入了
7.为Hive建立相应的MySQL账户,并赋予足够的权限,执行命令如下:
mysql -uroot –p123456
mysql> CREATE USER 'hive' IDENTIFIED BY '123456';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;
mysql> flush privileges;
默认情况下Mysql只允许本地登录,所以需要修改配置文件将地址绑定给注释掉:sudo vi /etc/f
找到如下内容:
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1 <---注释掉这一行就可以远程登录了
重启mysql服务:
sudo service mysql restart
建立Hive 专用的元数据库,记得创建时用刚才创建的“hive”账号登陆。

mysql> exit;
hadoop@ubuntu:~$ mysql -uhive –p123456
mysql> create database hive;
3.2安装hive
1.下载hive apache-hive-1.1.0-bin.tar.gz
地址:/apache/hive/hive-1.1.1/apache-hive-1.1.1-bin.tar.gz
安装
sudo tar –zxvf -apache-hive-1.1.1-bin.tar.gz
sudo mv apache-hive-1.1.1hive
sudo chown –R Hadoop:Hadoop hive
配置vi /etc/profile
#hive environment
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:/usr/local/hive/lib
export HIVE_CONF_DIR=$HIVE_HOME/conf
备注:最后要使用命令:source /etc/profile 使环境变量立即生效。

2.修改配置文件
修改$HIVE_HOME/bin的hive-config.sh,增加以下三行
export JAVA_HOME=/usr/local/java/jdk1.8.0_77
export HADOOP_HOME=/usr/local/hadoop
export HIVE_HOME=/usr/local/hive
创建修改hive-env.sh、hive-site.xml文件
cd /usr/local/hive/conf
cp hive-env.sh.template hive-env.sh
vim hive-env.sh
# Set HADOOP_HOME to point to a specific hadoop install directory
# HADOOP_HOME=${bin}/../../hadoop
HADOOP_HOME=/usr/local/hadoop
# Hive Configuration Directory can be controlled by:
# export HIVE_CONF_DIR
在Hive的conf目录下的文件“hive-site.xml”中增加如下配置:
<!-- Hive Execution Parameters -->
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.23.11:3306/hive?characterEncoding=UTF-8</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>system:java.io.tmpdir</name>
<value>/usr/local/hive/iotmp</value>
</property>
<property>
<name>system:</name>
<value>hive</value>
</property>
从前面我们知道我们的“hive-site.xml”是一个“hive-default.xml.template”的一个拷贝,里面的配置参数非常之多,但是并不是我们都需要的,我们知道,Hive 系统会加载两个配置文件一个默认配置文件“hive-default.xml”,另一个就是用户自定义文件“hive-site.xml”。

当“hive-site.xml”中的配置参数的值与“hive-default.xml”
文件中不一致时,以用户自定义的为准。

所以我们就把我们不需要的参数都删除掉,只留下上面所示的内容(vim 里非编辑状态下使用dG删除光标到文本末)。

3.下载MySQL的JDBC驱动包复制到Hive的lib目录下,地址:
/downloads/connector/j/
sudo mv mysql-connector-java-5.1.32-bin.jar /usr/local/hive/lib
#普通用户记得改jar包所属人
4.在hdfs上创建hive目录创建文件夹:
hadoop fs -mkdir /tmp/hive
hadoop fs -chmod 733 /tmp/hive
hadoop fs -mkdir /user/hive
hadoop fs -chmod 733 /user/hive
6.启动hive
先启动hadoop,mysql,再启动hive
start-all.sh
sudo /etc/init.d/mysql start
hive
创建数据库和表
在mysql数据库中查看信息:
四.安装spark
参考文档:/thread-8160-1-1.html
/archives/1113.html
/lib/view/open1435217148153.html
4.1安装scala
下载/scala/2.11.8/scala-2.11.8.tgz
安装配置环境变量:
tar -zxvf scala-2.11.8.tgz
sudo mv scala-2.11.8.tgz scala
sudo chown -R Hadoop:Hadoop scala
sudo vim ~/.bashrc
#scala environment
export SCALA_HOME=/usr/local/scala
export PATH=.:$SCALA_HOME/bin:$PATH
#使配置生效
source ~/.bashrc
配置完成后可以通过scala -version命令测试一下
其他节点也要配置scala,同样的步骤。

4.2.安装spark
1.下载spark,地址:
/downloads.html
下载时注意选择跟你Hadoop版本对应的spark版本,我装的Hadoop2.7.2,所以选他最高支持的spark-1.6.2-bin-hadoop2.6.tgz版本。

2.解压配置环境变量
sudo tar -zxvf spark-1.6.2-bin-hadoop2.6.tgz
sudo mv spark-1.6.2-bin-hadoop2.6.tgzspark
sudo chown -R Hadoop:Hadoop spark
sudo vim ~/.bashrc
#spark environment
export SCALA_HOME=/usr/local/spark
export PATH=.:$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH
export SPARK_CLASSPAT=H:/usr/local/spark/lib/mysql-connector-java-5.1.32.jar
export SPARK_EXAMPLES_JAR=/hadoop/spark/lib/spark-examples-1.6.2-hadoop2.6.0.jar #使配置生效
source ~/.bashrc
3.修改Spark配置文件
#复制slaves.template和spark-env.sh.template各一份
cp spark-env.sh.template spark-env.sh
cp slaves.template slaves
#slaves,此文件是指定子节点的主机,直接添加子节点主机名即可
vim slaves
slave1
在spark-env.sh末端添加如下几行:
#JDK安装路径
export SCALA_HOME=/usr/local/scala
#SCALA安装路径
export JAVA_HOME=/usr/local/java/jdk1.8.0_77
#指定hadoop安装目录
export HADOOP_HOME=/usr/local/Hadoop
#指定hadoop的配置文件目录
export HADOOP_CONF_DIR=$HADOOP_home/etc/Hadoop
#主节点的IP地址
export SPARK_MASTER_IP=master
#spark工作目录(做shuffle的目录)
export SPARK_LOCAL_DIRS=/usr/local/spark
#分配的内存大小
export SPARK_DRIVER_MEMORY=512M
export SPARK_JAR=/hadoop/spark/lib/spark-assembly-1.3.0-hadoop2.4.0.jar
4.将Hive的配置文件拷贝到Spark安装目录下的conf目录下面,执行如下命令:
sudo scp hadoop@slave1:/usr/local/hive/conf/hive-site.xml /usr/local/spark/conf/
最后分发Spark安装文件到Spark Worker节点上
5.启动spar
在master节点
cd /usr/local/spark
sbin/start-all.sh
可以查看Spark各个节点的服务启动情况,也可以通过Spark UI链接进入页面查看http://192.168.23.10:8080/,默认是8080端口,如果8080端口已经被占用,Spark会自动选择端口号数字加1,如http://192.168.23.10:8081/。

通过jps查看进程:
Master节点
Worker节点:
从HDFS读取文件并运行WordCount:
val file = sc.textFile("hdfs://master:9000/user/gdx1/fds.txt")
val count = file.flatMap(line => line.split(",")).map(word => (word, 1)).reduceByKey(_+_) count.collect()
通过页面查看任务:。

相关文档
最新文档