大数据环境单点安装(hadoop,hbase,zookeeper,phoenix,spark)

大数据环境单点安装

ps:使用hadoop用户解压需要的文件避免权限问题
ps:可以不用给hadoop用户开root权限

1. 版本

版本
jdk-8u211-linux-x64
apache-phoenix-5.0.0-HBase-2.0-bin
apache-zookeeper-3.5.5-bin
hadoop-3.1.2
hbase-2.0.5
spark-2.3.3-bin-hadoop2.7

2. 准备

2.1 修改主机名(可以不改)和host为master

vim /etc/hostname
vim /etc/hosts

2.2 关闭防火墙

sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service

2.3 关闭selinux(修改完重启)

vim /etc/selinux/config
将SELinux status参数设定为关闭状态
SELinux status: disabled

2.4 安装JAVA

解压后放至:/usr/local/java/jdk1.8.0_211
vim /etc/profile
将java目录添加进环境

#java 1.8
JAVA_HOME=/usr/local/java/jdk1.8.0_211
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

2.5 添加hadoop用户

useradd -m hadoop
passwd hadoop  #123456(忽略警告)
usermod -a -G hadoop hadoop   # 将hadoop用户移进hadoop用户组
cat  /etc/group    #查看用户组

2.6 修改用户权限(可以不用)

vi /etc/sudoers

##在行 root ALL=(ALL) ALL下添加
%hadoop ALL=(ALL) ALL
hadoop ALL=(ALL) ALL

2.7 切换用户

su hadoop

2.8 设置免密通信

生成rsa密钥

ssh-keygen -t rsa

将生成的rsa追加写入授权文件

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

给授权文件权限

chmod 600 ~/.ssh/authorized_keys

对本机ssh测试(第一次需要密码)

ssh master

2.9 将上述下载的文件全解压至/home/hadoop目录下

3. 安装hadoop

在目录/home/hadoop/hadoop-3.1.2/etc/hadoop下:

3.1 修改 core-site.xml


    
    
        fs.defaultFS
        hdfs://master:9000/
    

    
    
        hadoop.tmp.dir
        /home/hadoop/hadoop-3.1.2/tmp
    

        
    
    
        ha.zookeeper.quorum
        master:2181
    

3.2 修改 hadoop-env.sh

添加pid文件生成路径
export HADOOP_PID_DIR=/home/hadoop/hadoop-3.1.2/tmp/pid

3.3 修改hdfs-site.xml

<configuration>
    
    <property>
        <name>dfs.namenode.name.dirname>
        <value>/home/hadoop/hadoop-3.1.2/namenodevalue>
    property>

      
    <property>
        <name>dfs.datanode.data.dirname>
        <value>/home/hadoop/hadoop-3.1.2/datanodevalue>
    property>

    
    <property>
        <name>dfs.replicationname>
        <value>1value>
    property>

configuration>

3.4 修改 mapred-site.xml



    
    
        mapreduce.framework.name
        yarn
    

    
        yarn.app.mapreduce.am.env
        HADOOP_MAPRED_HOME=/home/hadoop/hadoop-3.1.2
    

    
        mapreduce.map.env
        HADOOP_MAPRED_HOME=/home/hadoop/hadoop-3.1.2
    

    
        mapreduce.reduce.env
        HADOOP_MAPRED_HOME=/home/hadoop/hadoop-3.1.2
    


3.5 修改yarn-site.xml

<configuration>

    
    <property>
        <name>yarn.resourcemanager.hostnamename>
        <value>mastervalue>
    property>
      
    <property>
        <name>yarn.nodemanager.aux-servicesname>
        <value>mapreduce_shufflevalue>
    property>	
	 
	 
    <property> 
        <name>yarn.resourcemanager.zk-addressname> 
        <value>master:2181value> 
    property>
configuration>

3.6 修改workers

修改为:

master

3.7 修改start-dfs.sh和 stop-dfs.sh文件

这两个文件在hadoop-3.1.2/sbin/中,分别在 start-dfs.sh 和 stop-dfs.sh中添加如下内容

HDFS_JOURNALNODE_USER=root
HDFS_ZKFC_USER=hadoop

HDFS_DATANODE_USER=hadoop
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=hadoop
HDFS_SECONDARYNAMENODE_USER=hadoop

3.8 start-yarn.sh文件和 stop-yarn.sh文件

这两个文件在 hadoop-3.1.2/sbin/ 中,分别在 start-yarn.sh 和 stop-yarn.sh 中添加如下内容

YARN_RESOURCEMANAGER_USER=hadoop
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=hadoop

3.9 配hadoop的环境变量

$ vim ~/.bashrc

#java 1.8
JAVA_HOME=/usr/local/java/jdk1.8.0_211
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

export HADOOP_HOME=/home/hadoop/hadoop-3.1.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

更新环境变量:source ~/.bashrc

4.0 安装zookeeper

4.1 添加环境变量

编辑环境变量:vi ~/.bashrc,添加下面的内容

#zookeeper
export ZOOKEEPER_HOME=/home/hadoop/apache-zookeeper-3.5.5-bin
export PATH=.:$HADOOP_HOME/bin:$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin:$PATH

更新环境变量:source ~/.bashrc

4.2 配置zoo.cfg

需要将 $ZOOKEEPER_HOME/conf目录下的zoo_sample.cfg重命名为 zoo.cfg

cp $ZOOKEEPER_HOME/conf/zoo_sample.cfg $ZOOKEEPER_HOME/conf/zoo.cfg

在zoo.cf里注释dataDir并添加:

dataDir=/home/hadoop/apache-zookeeper-3.5.5-bin/data 
dataLogDir=/home/hadoop/apache-zookeeper-3.5.5-bin/logs 
master.1=master:2888:3888

4.3 创建myid

zookeeper目录下创建data文件夹,并生成myid在data文件夹中

mkdir data
cd data
echo “1” > myid

5. HBase安装

5.1 修改环境变量

vi ~/.bashrc
添加

export HBASE_HOME=/home/hadoop/hbase-2.0.5
export PATH=$HBASE_HOME/bin:$PATH

更新变量
source ~/.bashrc

5.2 修改配置hbase-env.sh

修改 hbase-2.0.5conf目录下的hbase-env.sh文件

export JAVA_HOME=/usr/local/java/jdk1.8.0_211
export HBASE_MANAGES_ZK=false

其中HBASE_MANAGES_ZK=false表示我们使用自己安装zookeeper集群而不是hbase自带的zookeeper集群

5.3 修改hbase-site.xml

修改hbase-2.0.5/conf目录下的hbase-site.xml文件


    
        hbase.rootdir
        hdfs://master:9000/hbase
    
    
        hbase.cluster.distributed
        true
    
    
        hbase.zookeeper.quorum
        master
    
    
        hbase.zookeeper.property.dataDir
        /home/hadoop/apache-zookeeper-3.5.5-bin/data
    
    
		hbase.unsafe.stream.capability.enforce
		false
	

5.4 修改regionservers

修改hbase-2.0.5/conf目录下的regionservers
vim regionservers
将localhost删除,修改为附节点(注意一个节点占一行)

master

6. 安装Phoenix、

6.1 复制phoenix的jar包到hbase的lib目录

jar包就在phoenix目录下

cp phoenix-core-5.0.0-HBase-2.0.jar phoenix-5.0.0-HBase-2.0-server.jar /home/hadoop/hbase-2.0.5/lib/

6.2 复制hbase安装目录下的conf目录下hbase-site.xml到phoenix安装目录下的bin中:

cp hbase-site.xml /home/hadoop/apache-phoenix-5.0.0-HBase-2.0-bin/bin/

6.3 复制 hadoop安装目录即/home/hadoop/hadoop-3.1.2/etc/hadoop目录下的core-site.xml hdfs-site.xml到phoenix安装目录下的bin中:

cp core-site.xml hdfs-site.xml /home/hadoop/apache-phoenix-5.0.0-HBase-2.0-bin/bin/

6.4 编辑环境变量

vim ~/.bashrc
添加

#phoenix
export PHOENIX_HOME=/home/hadoop/apache-phoenix-5.0.0-HBase-2.0-bin
export PHOENIX_CLASSPATH=$PHOENIX_HOME
export PATH=$PATH:$PHOENIX_HOME/bin

6.5 修改权限

在/home/hadoop/apache-phoenix-5.0.0-HBase-2.0-bin/bin目录下:

chmod 777 psql.py
chmod 777 sqlline.py

7. Spark 安装

7.1 编辑环境变量并添加

#spark
export SPARK_HOME=/home/hadoop/spark-2.3.3-bin-hadoop2.7
export SPARK_CLASSPATH=$SPARK_HOME
export PATH=$PATH:$SPARK_HOME/bin

7.2 修改配置文件

在安装目录下的conf文件夹中

将spark-env.sh.template修改为spark-env.sh,并编辑
cp spark-env.sh.template spark-env.sh
vim spark-env.sh
在spark-env.sh中添加(不同的slave中SPARK_LOCAL_IP需要对应的修改):

SPARK_LOCAL_IP=master                                 #本机ip或hostname
SPARK_MASTER_IP=master                                #master节点ip或hostname
export HADOOP_CONF_DIR=/home/hadoop/hadoop-3.1.2   #hadoop的配置路径
export YARN_CONF_DIR=/home/hadoop/hadoop-3.1.2     #yarn路径配置

将slaves.template修改为slaves,并编辑

cp slaves.template slaves
vim slaves
删除原有的localhost,添加:

master

8. 测试

8.1 启动 hadoop 之前在 master 上 format 名称节点(namenode节点,只需要第一次启动时进行)

cd /hadoop-3.1.2/bin
hdfs namenode -format

8.2 启动hadoop

start-all.sh

8.3 启动zookeeper

(只有一个节点)
zkServer.sh start

8.4 启动hbase

start-hbase.sh

8.5 启动spark

cd /home/hadoop/spark-2.3.3-bin-hadoop2.7/sbin
start-all.sh

8.6 启动phoenix

sqlline.py master:2181

8.7 若是权限错误

将home/hadoop目录的权限设为hadoop用户
chown -R hadoop:hadoop hadoop

8.8 网站

http://IP:9870/
http://IP:16010
http://IP:8080/

8.9 最终环境变量

#java 1.8
JAVA_HOME=/usr/local/java/jdk1.8.0_211
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

#hadoop
export HADOOP_HOME=/home/hadoop/hadoop-3.1.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

#hbase
export HBASE_HOME=/home/hadoop/hbase-2.0.5
export PATH=$HBASE_HOME/bin:$PATH

#zookeeper
export ZOOKEEPER_HOME=/home/hadoop/apache-zookeeper-3.5.5-bin
export PATH=.:$HADOOP_HOME/bin:$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin:$PATH

#phoenix
export PHOENIX_HOME=/home/hadoop/apache-phoenix-5.0.0-HBase-2.0-bin
export PHOENIX_CLASSPATH=$PHOENIX_HOME
export PATH=$PATH:$PHOENIX_HOME/bin

#spark
export SPARK_HOME=/home/hadoop/spark-2.3.3-bin-hadoop2.7
export SPARK_CLASSPATH=$SPARK_HOME
export PATH=$PATH:$SPARK_HOME/bin

你可能感兴趣的:(大数据)