1、linuxnode
JDK 1.8.0 hadoop-2.8.5 hbase-2.1.5(自带的zookeeper)
hadoop安装linux
修改hostname 为小明git
hostname xiaoming 修改 hostname 查看
修改hosts 本机ip(192.1.1.245)映射到xiaominggithub
vim /etc/hosts 192.1.1.245 xiaoming
安装jdk到本用户的local目录下web
tar -zxvf jdk-8u191-linux-x64.tar.gz -C ~/local 配置环境jdk变量 修改/etc/profile文件 export JAVA_HOME=~/local/jdk1.8.0_191 export CLASSPAT=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
Hadoopspring
tar -zxvf hadoop-2.8.5.tar.gz -C ~/local export HADOOP_HOME=~/local/hadoop export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
进入${HADOOP_HOME}/etc/hadoop目录,修改一下几个文件shell
hadoop-env.sh core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml(mapred-site.xml.template重命名) slaves
hadoop-env.sh文件apache
若是有这个配置通常就不须要配置了, export JAVA_HOME=${JAVA_HOME} 若是不行就配置绝对路径 export JAVA_HOME=~/local/jdk1.8.0_191(
core-site.xml文件vim
在configuration节点中加入如下代码: <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/local/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://xiaoming:9000</value> </property> hadoop.tmp.dir是HDFS与本地磁盘的临时文件,是文件系统依赖的基本配置,不少配置路径都依赖它,它的默认位置在/tmp/{$user}下面。须要指定一个持久化路径,不然系统tmp被自动清掉之后会出fs.defaultFS是默认文件系统的名称,一般是NameNode的hostname:port,其中xiaoming是主机名称,9000是默认端口号
hdfs-site.xml文件springboot
在configuration节点中加入如下代码: <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/home/hadoop/local/hadoop/dfsdata/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/home/hadoop/local/hadoop/dfsdata/data</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> dfs.replication 是指在文件被下入的时候,每一块将要被复制多少份,默认是3,单主机设置1就能够了 dfs.namenode.name.dir 是NameNode元数据存放位置,默认存放在${hadoop.tmp.dir}/dfs/name目录。 dfs.datanode.data.dir 是DataNode在本地磁盘存放block的位置,可使用逗号分隔的目录列表,默认存放在${hadoop.tmp.dir}/dfs/data目录。 dfs.permissions 标识是否要检查权限,默认是true,设置false则容许每一个人均可以存取文件。
yarn-site.xml文件
在configuration节点中加入如下代码: <property> <name>yarn.resourcemanager.hostname</name> <value>xiaoming</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> yarn.resourcemaneger.hostname 指定主机名称
mapred-site.xml文件
这个文件自己是不存在,须要把目录中的mapred-site.xml.template重命名,在其中的configuration节点加入如下代码: <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
slaves文件
把文件内容改为主机名称,如:xiaoming
这样配置基本就完成了,接下来启动hadoop
第一次启动以前须要格式化HDFS(只须要执行一次,后面启动Hadoop服务器不须要执行格式化命令)
bin/hdfs namenode -format 启动服务 sbin/start-dfs.sh sbin/start-yarn.sh
启动成功 若是启动失败通常是本地ip端口映射和ssh端口的问题 我 hadoop-env.sh 中 新加了由于个人ssh端口不是22若是你没改ssh端口是不用加这个的 export HADOOP_SSH_OPTS="-p 36000"
hbase安装
tar -zxvf hbase-2.1.5-bin.tar.gz -C ~/local
配置环境变量 修改/etc/profile文件 从新整理JDK、Hadoop和HBase的环境变量后以下 export JAVA_HOME=~/local/jdk1.8.0_191 export CLASSPAT=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib export HADOOP_HOME=~/local/hadoop export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop export HBASE_HOME=~/local/hbase export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin:$PATH
设置HBase配置文件
HBase配置稍微简单一些,只须要配置3个文件 hbase-env.sh hbase-site.xml regionservers
hbase-env.sh文件
修改两个地方 export JAVA_HOME=~/local/jdk1.8.0_191 export HBASE_MANAGES_ZK=true 第一行是关联JDK路径,第二个是指定使用HBase自带的ZK。
hbase-site.xml文件
在configuration节点中增长如下代码: <property> <name>hbase.zookeeper.quorum</name> <value>xiaoming</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/hadoop/local/hbase/zkdata</value> </property> <property> <name>hbase.tmp.dir</name> <value>/home/hadoop/local/hbase/tmp</value> </property> <property> <name>hbase.rootdir</name> <value>hdfs://xiaoming:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> hbase.zookeeper.quorum是集群的地址列表,使用逗号分割开,因为咱们使用的是伪分布式,只有一台主机,设置成主机名称就能够。 hbase.zookeeper.property.dataDir是快照的存储位置 hbase.tmp.dir是本地文件系统的临时文件夹 hbase.rootdir是regionserver的共享目录,用来持久化HBase hbase.cluster.distributed指运行模式,false表示单机模式,true标识分布式模式
修改regionservers文件
把内容修改为主机名称,如:xiaoming 这样基本配置完成,接下来启动服务
启动 hbase
bin/start-hbase.sh 须要手动去maven仓库下载 [htrace-core-3.1.0-incubating.jar](https://repo1.maven.org/maven2/org/apache/htrace/htrace-core/3.1.0-incubating/htrace-core-3.1.0-incubating.jar "htrace-core-3.1.0-incubating.jar")放到hbase的lib目录下 我hbase也修改了ssh的22端口若是你没改就不用修改 export HBASE_SSH_OPTS="-p 36000 -o ConnectTimeout=1 -o SendEnv=HBASE_CONF_DIR" 显示这个基本就是正常的
最后再hbase 的bin下 HBase shell 打开hbase客户端 list下看看安装是否成功
最后给你们个springboot的连接 https://github.com/chenxingxing6/disk 他的打jar包有问题
我在他的pom.xml build中加入了这段能够打jar包运行了。
<build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/**</include> </includes> <!-- 开启过滤,用指定的参数替换directory下的文件中的参数 --> <filtering>true</filtering> </resource> <resource> <directory>src/main/webapp</directory> <targetPath>META-INF/resources</targetPath> <includes> <include>**/**</include> </includes> </resource> </resources> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>1.4.2.RELEASE</version> <!--这里写上main方法所在类的路径--> <configuration> <mainClass>com.netpan.DiskApplication</mainClass> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
总结:
采坑要点: host必定得配置 端口映射hostname也得配置,若是端口有修改得配置好,jar包别忘了改,记得初始化表,项目中的ip记得改为你的ip,127.0.0.1断网能够用,不断网就是192.xxx之类的这个是坑,若是联网你写127.xxx可能会挨坑。不可心急一个配置完了配置一个,zookeeper也能够从hbase中拎出来单独配置,这些都是能够配置集群的,我没有配置,这个很吃内存注意看本身服务器是否内存满了,致使自动中断服务。个人安上一下用了20G。若是是局域网,须要也在本身本地配置host映射 好比hosts下配置:192.xxx(是服务器ip)xiaoming 若是hadoop和hbase的文件夹没权限须要登陆root用户chmod -R 777 文件夹 下修改可读写可操做权限