centos 7 搭建单机版的hdfs,hive,hbase,spark

项目测试需要,服务器有限只能安装单机版的hdfs,hive,hbase,spark

设置hostname  

hostnamectl set-hostname "xxx"

 首先做免秘钥登录,后面安装会有很多要输入密码的操作,手动输入太麻烦

方法1. 

 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
简单解释  生产ssh 秘钥 密码为‘’   到 用户目录下的 .ssh中

root  目录下有个.ssh 目录

ssh 目录下有
id_dsa 为 私钥
id_dsa.pub 为公钥

执行以下命令
 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
把自己的公钥  追加到authorized_keys 文件中

authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥
验证 ssh localhost

方法2

ssh-keygen -t rsa

一路回车键 生成.ssh文件夹

ssh-copy-id-i ~/id_rsa.pub localhost

生成一个know_hosts : 已知的主机公钥清单

验证 ssh localhost

参照官网相关依赖关系

hbase官网地址:http://hbase.apache.org/book.html#java

hbase-jdk

hbase-hadoop

安装jdk1.8

cp jdk-8u161-linux-x64.tar.gz /opt/jdk/

解压tar -xzvf jdk-8u161-linux-x64.tar.gz 

重命名

mv jdk1.8.0_161 1.8

配置环境变量

vi /etc/profile

shift+G,跳到文件结尾添加

export JAVA_HOME=/opt/jdk/1.8
export JRE_HOME=/opt/jdk/1.8/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
 

配置完成后立即生效

source /etc/profile

安装hadoop

下载hadoop安装包

下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.7/

解压

tar -xzvf hadoop-2.7.7.tar.gz

配置环境变量

 vi /etc/profile

export HADOOP_HOME=/opt/hadoop-2.7.7
export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:$PATH

配置立即生效

source /etc/profile

验证

hadoop version

修改配置

cd  /opt/hadoop-2.7.7/etc/hadoop

vi core-site.xml

增加配置信息

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>

#自己指定临时存储目录
        <value>file:/home/hadoopdata</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>

#hdfs的连接地址(csb-master主机名)
        <name>fs.defaultFS</name>
        <value>hdfs://csb-master:9000</value>
    </property>
   <property>

//没有创建用户
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
</property>
<property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
</property>
</configuration>

设置hdfs-site.xml 

<configuration>
    <property>

#指定DataNode存储block的副本数量,不大于DataNode的个数就行,默认为3
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>

#namenode节点数据存储目录
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/hadoopdata/dfs/name</value>
    </property>
    <property>

#datanode数据存储目录
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/hadoopdata/dfs/data</value>
    </property>
    <property>
         <name>dfs.http.address</name>
        <value>0.0.0.0:50070</value>
    </property>
</configuration>

设置hadoop-env.sh

vi hadoop-env.sh

添加

export JAVA_HOME=/opt/jdk/1.8

修改slaves

vi slaves

修改localhost为主机名

csb-master

cd /opt/hadoop-2.7.7/bin

格式化

/hdfs namenode -format

注意:重复格式的时候先清理datanode(dfs.datanode.data.dir)和namenode(dfs.namenode.name.dir)目录的数据,防止启动报错

cd /opt/hadoop-2.7.7/sbin

启动

./start-dfs.sh

检查

jps

有NameNode和DataNode,SecondaryNameNode

安装hive

解压

tar-xzvf apache-hive-2.3.6-bin.tar.gz

cd  /opt/apache-hive-2.3.6-bin/conf

修改配置文件

mv hive-default.xml.template hive-site.xml

vi hive-site.xml

把以${}字样的换成本机的实际目录,太多了就不一一写出来了,结尾添加

 <property>
                 <name>hive.server2.thrift.port</name>
                 <value>10000</value>
        </property>

        <property>
                <name>hive.server2.thrift.bind.host</name>
                <value>csb-master</value>
        </property>
用于hiveserver2的配置,提供远程连接用的

采用Hive自带的derby来存储元数据不用做其他配置

 用mysql做元数据的在hive-site.xml中增加如下配置

<property>
        <name>javax.jdo.option.ConnectionUserName</name>用户名(这4是新添加的,记住删除配置文件原有的哦!)
        <value>test</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>密码
        <value>123456</value>
    </property>
   <property>
        <name>javax.jdo.option.ConnectionURL</name>mysql
        <value>jdbc:mysql://10.68.23.82:3306/hive201?createDatabaseIfNotExist=true</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>mysql驱动程序
        <value>com.mysql.jdbc.Driver</value>
    </property>

执行初始化表操作

schematool -dbType mysql -initSchema

 

   

创建表验证mysql和hive是否关联

进入hive后台命令行窗口

hive

在hdfs上创建lw_test目录

创建外部表

create external table lw_test(id string, name string,sex string,dz string)

row format delimited

stored as textfile

location '/tmp/hive/lw_test';

创建本地文件导入测试数据

touch test.txt

1|lw|男|hz

.......

load data local inpath '/home/test.txt' into table lw_test;

登录mysql查看

 

启动命令:

 hive --service metastore 

 hive --service hiveserver2 

后台访问命令:

./hive

后台访问beeline命令:

./beeline

然后输入

!connect jdbc:hive2://10.68.23.222:10000

提示Enter username for jdbc:hive2://10.68.23.222:10000:输入用户名

提示Enter password for jdbc:hive2://10.68.23.222:10000:输入密码

安装hbase

解压省略

添加环境变量

vi /etc/profile

export HBASE_HOME=/opt/hbase-2.0.0
export PATH=$HBASE_HOME/bin:$PATH
生效

source /etc/profile

验证

hbase version

vi /opt/hbase-2.0.0/conf/hbase-env.sh

export JAVA_HOME=/opt/jdk/1.8
export HADOOP_HOME=/opt/hadoop-2.7.7
export HBASE_HOME=/opt/hbase-2.0.0
export HBASE_MANAGES_ZK=true(单机版为true集群为false)

补充:使用自己的zk上面需要设置成false,

如果报错:Could not start ZK at requested port of 2181.  ZK was started at port: 2182.  Aborting as clients (e.g. shell) will not be able to find this ZK quorum.

因为把hbase.cluster.distributed设置为false,也就是让hbase以standalone模式运行时,依然会去启动自带的zookeeper。

需要修改:

hbase-site.xml

<property>
                <name>hbase.cluster.distributed</name>
               <value>true</value> 
</property>

 

设置hbase-site.xml

 <property>
#      <name>hbase.rootdir</name>
#      <value>file:///home/hadoopdata/hbase</value>
#  </property>
  <!--Hadoop namenode地址-->
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://csb-master:9000/hbase</value>
  </property>
  <!--是否分布式,设置为true会启动regionserver-->
  <property>
     <name>hbase.cluster.distributed</name>
     <value>true</value>
  </property>
  <!--HBase master地址-->
  <property>
      <name>hbase.master</name>
      <value>csb-master:16010</value>
  </property>
  <!--Zookeeper地址-->
   <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/Zookeeper/temp</value>
  </property>
<!--Zookeeper集群URL配置-->
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>10.68.23.222</value>
  </property>
  <!--Zookeeper 客户端端口-->
  <property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
  </property>
单机的zookeeper可以使用自带的,也可以安装单机版的

 

配置regionservers

设置为主机名

启动

cd  /opt/hbase-2.0.0

启动命令: ./bin/start-hbase.sh

访问web端查看

安装spark

解压配置环境变量

export SPARK_HOME=/opt/spark-2.2.0-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
立即生效

source /etc/profile

配置spark-env.sh

cd /opt/spark-2.2.0-bin-hadoop2.7/conf

cp spark-env.sh.template spark-env.sh

vi spark-env.sh

export JAVA_HOME=/opt/jdk/1.8
#export SCALA_HOME=/home/ycl/scala/scala-2.11.7 (可选)
export SPARK_MASTER_IP=csb-master
export SPARK_WORKER_MEMORY=2g
export SPARK_WORKER_CORES=2
export SPARK_WORKER_INSTANCES=1

配置 主机名写进slaves

csb-master

启动命令

./start-master.sh

验证

./run-example SparkPi

查看Web页面

参考博客:

https://blog.csdn.net/xiaodujava/article/details/81090390
https://blog.csdn.net/liubenlong007/article/details/95340332

https://www.jianshu.com/p/a4a0e7e4e4b7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值