hadoop+zookeeper+hbase

1、linuxnode

JDK 1.8.0
hadoop-2.8.5 hbase-2.1.5(自帶的zookeeper)
  1. hadoop安裝linux

    1. 修改hostname 爲小明git

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

      vim /etc/hosts
       192.1.1.245 xiaoming
    3. 安裝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
    4. 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
    5. 進入${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
      1. hadoop-env.sh文件apache

        若是有這個配置通常就不須要配置了,
         export JAVA_HOME=${JAVA_HOME}
         若是不行就配置絕對路徑
         export JAVA_HOME=~/local/jdk1.8.0_191(
      2. 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是默認端口號
      3. 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則容許每一個人均可以存取文件。
      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 文件夾 下修改可讀寫可操做權限

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息