Hadoop&Spark安装手记
一. 前置准备
- 配置oracle-jdk:
先去下载jdk,然后解压
sudo tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local
然后sudo vim /etc/profile末尾加上以下几行修改环境变量
export JAVA_HOME=/usr/local/jdk1.8.0_171
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile使之立即生效
使用update-alternatives 命令维护系统的软连接
sudo update-alternatives --install /usr/bin/java java $JAVA_HOME/bin/java 2
sudo update-alternatives --install /usr/bin/javac javac $JAVA_HOME/bin/javac 2
使用update-alternatives 命令选择默认的java和javac命令目录
sudo update-alternatives --config java
sudo update-alternatives --config javac
两条都选择刚才配置好的两个目录即可
- 安装ssh
sudo apt install openssh-server
利用 ssh-keygen 生成密钥,并将密钥加入到授权中,实现免密码登录
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
二. 安装与配置Hadoop、HBase
- 下载hadoop binary (建议2.7.x) 和hbase binary (建议1.2.x) 解压
sudo tar -zxvf hadoop-2.7.6.tar.gz -C /usr/local
sudo tar -zxvf hbase-1.2.6-bin.tar.gz -C /usr/local
cd /usr/local
sudo chown -R {你的用户名} ./hadoop-2.7.6 # 修改文件权限
sudo chown -R {你的用户名} ./hbase-1.2.6
然后sudo vim /etc/profile末尾加上以下几行修改环境变量
export HADOOP_HOME=/usr/local/hadoop-2.7.6
export HBASE_HOME=/usr/local/hbase-1.2.6
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin
source /etc/profile使之立即生效
若重启后发现$HADOOP_HOME等环境变量失效可以sudo vim ~/.bashrc末尾添加source /etc/profile使之每次开机自动执行
- 配置hdfs伪分布式
cd $HADOOP_HOME/etc/hadoop
vim hadoop-env.sh添加以下信息
export JAVA_HOME=/usr/local/jdk1.8.0_171
vim core-site.xml编辑以下信息
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop-2.7.6/tmp</value>
</property>
</configuration>
vim hdfs-site.xml编辑以下信息
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop-2.7.6/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop-2.7.6/dfs/data</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>localhost:9001</value>
</property>
</configuration>
执行格式化命令,以初始化HDFS
hdfs namenode -format
开启NameNode和DataNode的守护进程
$HADOOP_HOME/sbin/start-dfs.sh #stop-dfs.sh可关闭进程
若出现如下SSH提示,输入yes即可。
启动完成后,输入命令 jps 来查看相关进程情况,若NameNode,DataNode,SecondaryNameNode三项都有显示则配置成功,若有错误请自查前面的操作
同时,Web 界面 http://localhost:50070 可以查看Node相关信息及HDFS 中文件
- 配置hbase伪分布式:
cd $HBASE_HOME/conf
vim hbase-env.sh添加以下信息
export JAVA_HOME=/usr/local/jdk1.8.0_171
vim hbase-site.xml编辑以下信息,value里的端口号按需修改
<configuration>
<!--HBase 数据存放到 hdfs上-->
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>
</property>
<!--开启集群分布式模式-->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<!--hbase web ui端口配置-->
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
</configuration>
执行start-hbase.sh运行
可通过
stop-hbase.sh结束
同理启动完成后,输入命令 jps 来查看相关进程情况,若HMaster,HQuorumPeer,HRegionServer三项都有显示则配置成功,若有错误请自查前面的操作
同时,Web 界面 http://localhost:60010 可以查看Hbase相关信息
三. 安装与配置Scala、Spark
- 下载并解压scala
sudo tar -zxvf scala-2.11.12.tgz -C /usr/local
然后sudo vim /etc/profile末尾加上以下几行修改环境变量
export SCALA_HOME=/usr/local/scala-2.11.12
export PATH=$PATH:$JAVA_HOME/bin:$SCALA_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin
source /etc/profile使之立即生效
- 下载spark binary (建议1.6.x) 解压
sudo tar -zxvf spark-1.6.3-bin-without-hadoop.tgz -C /usr/local
cd /usr/local
sudo mv spark-1.6.3-bin-without-hadoop spark-1.6.3
sudo chown -R {你的用户名} ./spark-1.6.3 # 修改文件权限
然后sudo vim /etc/profile末尾加上以下几行修改环境变量
export SPARK_HOME=/usr/local/spark-1.6.3
export PATH=$PATH:$JAVA_HOME/bin:$SCALA_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin:$SPARK_HOME/bin
source /etc/profile使之立即生效
cd $SPARK_HOME/conf切换到spark配置目录并vim spark-env.sh编辑配置文件如下
export JAVA_HOME=/usr/local/jdk1.8.0_171
export SCALA_HOME=/usr/local/scala-2.11.12
export HADOOP_HOME=/usr/local/hadoop-2.7.6
export HADOOP_CONF_DIR=/usr/local/hadoop-2.7.6/etc/hadoop
export SPARK_MASTER_IP=localhost
export SPARK_LOCAL_IP=localhost
export SPAPK_LOCAL_DIRS=/usr/local/spark-1.6.3
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop-2.7.6/bin/hadoop classpath)
vim slaves接着编辑以下内容
localhost
cp log4j.properties.template log4j.properties然后vim log4j.properties修改日志输出级别以免运行时输出太多不重要日志,将该行
log4j.rootCategory=INFO, console
修改为
log4j.rootCategory=WARN, console
最后执行$SPARK_HOME/sbin/start-all.sh运行
可通过
$SPARK_HOME/sbin/stop-all.sh结束
同理启动完成后,输入命令 jps 来查看相关进程情况,若Master,Worker两项都有显示则配置成功,若有错误请自查前面的操作
同时,Web 界面 http://localhost:8080 可以查看Spark相关信息
四. 其它
- 编辑一键运行及一键结束shell脚本
vim start-all.sh输入以下内容:
#!/bin/bash
#
$HADOOP_HOME/sbin/start-dfs.sh
start-hbase.sh
$SPARK_HOME/sbin/start-all.sh
echo -e "The list of your jps should include:\nNameNode,DataNode,SecondaryNameNode\tfor HDFS\nHMaster,HRegionServer,HQuorumPeer\tfor HBase\nMaster,Worker\tfor Spark"
jps
vim stop-all.sh输入以下内容:
#!/bin/bash
#
$SPARK_HOME/sbin/stop-all.sh
stop-hbase.sh
$HADOOP_HOME/sbin/stop-dfs.sh
jps
将文件放在你喜欢的地方,以后在该目录下执行sh start-all.sh或sh stop-all.sh就能一键启动或关闭所有服务了