项目测试需要,服务器有限只能安装单机版的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