hadoop+zookeeper+hbase

一、linux

JDK 1.8.0
hadoop-2.8.5 hbase-2.1.5(自带的zookeeper)
  1. hadoop安装

    1. 修改hostname 为小明

       hostname xiaoming 修改
       hostname 查看
      
    2. 修改hosts 本机ip(192.1.1.245)映射到xiaoming

       vim /etc/hosts
       192.1.1.245 xiaoming
      
    3. 安装jdk到本用户的local目录下

       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
      
    4. Hadoop

       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
      
    5. 进入${HADOOP_HOME}/etc/hadoop目录,修改一下几个文件

       hadoop-env.sh
       core-site.xml
       hdfs-site.xml
       yarn-site.xml
       mapred-site.xml(mapred-site.xml.template重命名)
       slaves
      
      1. hadoop-env.sh文件

         如果有这个配置一般就不需要配置了,
         export JAVA_HOME=${JAVA_HOME}
         如果不行就配置绝对路径
         export JAVA_HOME=~/local/jdk1.8.0_191(
        
      2. core-site.xml文件

         在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是默认端口号
        
      3. hdfs-site.xml文件

         在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则允许每个人都可以存取文件。
        
      4. 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 指定主机名称
        
      5. mapred-site.xml文件

         这个文件本身是不存在,需要把目录中的mapred-site.xml.template重命名,在其中的configuration节点加入以下代码:
        
         <property>
         	<name>mapreduce.framework.name</name>
         	<value>yarn</value>
         </property>
        
      6. 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"
        
  2. hbase安装

    1. 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
      
    2. 设置HBase配置文件

       HBase配置稍微简单一些,只需要配置3个文件
      
       hbase-env.sh
       hbase-site.xml
       regionservers
      
      1. hbase-env.sh文件

         修改两个地方
        
         export JAVA_HOME=~/local/jdk1.8.0_191
         export HBASE_MANAGES_ZK=true
         第一行是关联JDK路径,第二个是指定使用HBase自带的ZK。
        
      2. 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标识分布式模式
        
      3. 修改regionservers文件

         把内容修改成主机名称,如:xiaoming
        
         这样基本配置完成,接下来启动服务
        
      4. 启动 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 文件夹 下修改可读写可操作权限

转载于:https://my.oschina.net/u/3730149/blog/3080913

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值