1. 程式人生 > >本地主機操作虛擬機器中的hadoop+hbase+自帶zookeeper

本地主機操作虛擬機器中的hadoop+hbase+自帶zookeeper

1 安裝虛擬機器及hadoop環境.

          專案中需要使用hbase來儲存資料,所以在電腦上安裝了一個虛擬機器來搭建一個hadoop環境研究hbase.這裡記錄一下從零到有的一個過程.

1.1 虛擬機器的安裝和hadoop+hbase的搭建

          下載安裝好虛擬機器,這裡我使用的是VMware Workstation虛擬機器和centos7系統.

這裡就不贅述虛擬機器的安裝和系統的安裝了,網上一搜一大把.沒有必要這裡來說這個東西.

1.2 安裝hadoop+hbase(使用自帶的zookeeper)

          安裝的話可以參考這篇文章點選開啟連結 我安裝的是hadoop2.6.5.

          安裝hbase,我這裡使用的是1.2.6版本的hbase.下載複製到虛擬機器中,然後解壓就可以配置系統檔案了.

需要配置的有hadoop_home和hbase_home  這個配置和配置java_home一樣.在虛擬機器控制檯輸入

gedit ~/.bashrc   如果許可權不都的,可以使用sudo gedit ~/.bashrc 

在檔案中加入如下配置(ps:當然裡面的路徑需要根據自己的實際情況更改)

# User specific aliases and functions

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_152
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

# Hadoop Environment Variables
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

# flume
export FLUME_HOME=/usr/local/flume
export PATH=$PATH:$FLUME_HOME/bin

# hbase
export HBASE_HOME=/usr/local/hbase
export PATH=$HBASE_HOME/bin:$PATH

#  maven
export MAVEN_HOME=/usr/local/apache-maven-3.5.2
export PATH=${PATH}:${MAVEN_HOME}/bin

然後修改hadoop配置檔案.到 hadoop/etc/hadoop下.修改core-site.xml檔案和hdfs-site.xml檔案

修改core-site.xml檔案 將<configuration>標籤中內容新增如下  hadoop.tmp.dir這個引數是表示檔案儲存位置.

fs.default.name是暴露出的埠,及訪問hdfs檔案系統的url就是這個  hafs://myhadoop:9000 這裡的myhadoop是機器名,後面會講到,這裡可以先使用localhost暫替.下面的配置檔案也需要用localhost替換.

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property> 
        <name>fs.default.name</name>
        <value>hdfs://myhadoop:9000</value>
    </property>
</configuration>

修改hdfs-site.xml檔案

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/data</value>
    </property>
    <property>  
        <name>dfs.support.append</name>  
        <value>true</value>
    </property>  
    <property>
	  <name>dfs.permissions</name>
	  <value>false</value>
    </property>
</configuration>

然後配置hbase配置檔案.  到hbase/conf/路徑下,修改hbase-site.xml檔案和hbase-env.sh檔案

hbase-site.xml檔案修改如下

<configuration>
   <property>
      <name>hbase.tmp.dir</name>
      <value>/usr/local/hbase/hbaseData</value>
   </property>//hbase臨時檔案目錄
   <property>
      <name>hbase.rootdir</name>
      <value>hdfs://myhadoop:9000/hbase</value>
   </property>//在hdfs訪問路徑
   <property> 
   <name>hbase.zookeeper.quorum</name> <!-- list of  zookooper -->
   <value>myhadoop</value> 
  </property> 
</configuration>

hbase-env.sh檔案修改如下

#JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_152
#Hbase日誌目錄

export HBASE_LOG_DIR=/usr/local/hbase/logs                      
#如果使用HBase自帶的Zookeeper值設成true 如果使用自己安裝的Zookeeper需要將該值設為false關閉HBase自帶的Zookeeper,使用Zookeeper叢集:

export HBASE_MANAGES_ZK=true
然後就可以啟動hadoop然後啟動hbase來訪問了.檢視hadoopweb控制頁面訪問  localhost:50070  訪問hbase    localhost:16010

2 eclipse操作hbase上面的表格

     通過上面的配置,虛擬機器已經有一個簡單的hadoop環境和hbase資料庫了.現在可以使用eclipse來操作了.(主要是主機上的eclipse來訪問虛擬機器中的hbase)

要想主機訪問虛擬機器,需要關閉虛擬機器的防火牆,因為系統的不同,所以關閉虛擬機器的防火前的方法也不同,網上有幾種方法,  

方法1: 

12[[email protected] ~]#servcie iptables stop                    --臨時關閉防火牆[[email protected] ~]#chkconfig iptables off                    --永久關閉防火牆

方法2:

sudo systemctl stop firewalld.service && sudo systemctl disable firewalld.service    關閉虛擬機器(centos7)中防火牆
如果還是沒有關閉的話,那只有自己百度了.......

然後可以在主機和虛擬機器中ping對方的ip,看是否能ping同,能ping同,就可以進行下一步了.

能ping同,但還不夠,我當時也是以為能ping同就能再主機中的eclipse中訪問虛擬機器上的hbase,但一直拒絕連線.後來網上搜索了很久,才弄明白,網上有人說,zookeeper對ip地址訪問支援不好,所以要機器名的方法來訪問...

配置虛擬機器的hosts檔案和hostname檔案

控制檯輸入    gedit /etc/hosts  修改為

192.168.32.128 myhadoop

如果有127.0.0.1對映到localhost..需要刪除掉,好像是會影響.(沒有印證過.......漢....)

然後修改hostname檔案  輸入   gedit /etc/hostname   將裡面的所以刪除   新增機器名   myhadoop   這裡就是上面說到的,如果不在主機中來訪問虛擬機器,所有的配置都可以是localhost,但如果需要主機來訪問,就需要配置機器名,響應的配置檔案路徑也需要修改.

配置後還需要配置主機的對映,即需要修改主機的host檔案..把

myhadoop  192.168.0.1

新增進去..這裡的192.168.0.1是我亂寫的,需要修改為實際情況中虛擬機器中的地址.

這樣就可以使用eclipse來操作虛擬機器上的hbase了.....

這裡可能還有一些問題,可能配置後會出問題,因為實際需要的一些問題我這裡沒有提(主要我也忘記如何解決了...呵呵....)

   有可能啟動時,會報log4j的問題,這是hbase的jar包中有log4j的jar包,java環境變數裡面也有,就衝突了.需要刪除.

其他的就記不起來還會遇到哪些問題了......歡迎讀者指出,我會新增進博文的..

相關推薦

本地主機操作虛擬機器hadoop+hbase+zookeeper

1 安裝虛擬機器及hadoop環境.          專案中需要使用hbase來儲存資料,所以在電腦上安裝了一個虛擬機器來搭建一個hadoop環境研究hbase.這裡記錄一下從零到有的一個過程.1.1 虛擬機器的安裝和hadoop+hbase的搭建          下載安

win10操作虛擬機器hadoop IntelliJ IDEA直接執行程式碼(不需要打jar包)

IntelliJ IDEA 2018.2.3 (Ultimate Edition)+Maven VMware中CentOS6.5 Hadoop2.7.1 上課的時候老師使用的是Eclipse編譯器,使用了 eclipse-hadoop的外掛。可以直接在eclipse

IDEA編譯器連結虛擬機器HaDoop使用Maven

IDEA:2018.2.3 VMware:14 HaDoop:2.7.1 juit:4.12 新建一個Maven專案(不需要選擇型別) 填寫GroupId和 ArtifactId(這個根據大家習慣來寫,如果有好的建議歡迎在下面留言) 然

windows java訪問虛擬機器hbase

為了演示hbase的相關操作,我在windows7中安裝了虛擬機器vmware,在虛擬中安裝了hadoop和hbase 環境 具體環境如下 windows 7 vmware 12 使用 centos 6.5 hbase 1.2.4 和

(增加虛擬機器)安裝lite的benchmark和使用方法

開發tensorflow lite,這裡使用的是android studio。   一、安裝JAVA JDK 在安裝android studio前,需要安裝JAVA JDK,因為android是JAVA語言。 1、安裝java jdk,只需要下面3條命令: &nb

windows之自動化在虛擬機器部署作業系統並python環境

(1)使用詳情:   **************************** *    操作說明     * **************************** 1、修改Config資料夾中的Setting.json

HbaseZookeeper啟動後,hmaster退出

啟動Hbase:start-hbase.sh starting master, logging to /root/training/hbase-1.3.1/logs/hbase-root-master-bigdata111.out Java HotSpot(TM) 64-B

hadoop:在vmare配置的多個虛擬機器CentOS配置靜態ip,並能ping通windows主機,使得主機虛擬機器之間的網路互通

第2步:然後確保虛擬機器centos的網路配置是NAT,如下圖: 第3步:最後按照以下方法設定靜態ip:          啟動並進入centos系統,在終端中輸入“vim /etc/sysconfig/network-scripts/ifcfg-eth0 ”來修改ip配置,然後輸入如下圖的配

windows遠端桌面 (windows 虛擬機器) 複製操作 (ctrl+c) 造成 本地機器 cpu狂增

最近我廠推廣使用堡壘機 ,通過堡壘機 連線 遠端的 windows虛擬機器。 使用幾天之後一切正常。今天卻發生一件怪事,在虛擬機器(windwos xp)中 一執行 複製操作,則 本地膝上型電腦(windows 7) 的cpu狂增,直接宕機。 而同時 虛擬機器本身的cpu未

windows10下 eclipse連線虛擬機器Hadoop偽分散式叢集

在windows用eclipse連線hadoop之後,可以便於進行mapreduce開發,非常方便,如果在虛擬機器裡面用eclipse的話  ,emmmmmm,你會卡到懷疑人生。     首先需要去下載eclipse,這個直接官網就ok  link

在vsphere本地PC和虛擬機器可以進行復制貼上

問題描述:在實際操作中,需要進虛擬機器中的某項軟體進行啟用,然而啟用碼儲存在本機PC上,怎樣將本機PC上的資訊複製並貼上到虛擬機器上 ? 在預設情況下,VMware vSphere已禁用針對ESXESXi的複製和貼上操作,以防止公開已複製到剪貼簿中的敏感資料。 解決方

Window下無法訪問VMware 虛擬機器Hadoop管理頁面

在VMware中的Linux上配置好了Hadoop,但是在windows下一直訪問不了管理頁面。而且VMware中的其他Linux也無法訪問。但是相互間都可以ping通。經過排查,發現是被Linux的防火牆擋住了。解決方法就是:

VMware虛擬機器搭建Hadoop叢集

1、下載的軟體: VMware Workstation  Ubuntu  SUN-JDK  Hadoop,可到官網下載   2、安裝 VMwareWorkstation 虛擬機器,並建立 Master 虛擬主機(記住,先是建立一個虛擬機器,然後在這個基礎上進行clone,

VMware虛擬機器如何安裝VMware Tools增強工具,以解決VMware虛擬機器本地系統之間複製貼上問題

1.操作環境: window10(本機系統) VMware虛擬機器 2.遇到問題         在windows系統上安裝VMware虛擬機器,然後就可以在虛擬機器上面模擬一些我們想要的執行環境,但是在使用的過程中會發現,windows系統上的文字不能夠複製貼上到V

SecureCRT連線本地虛擬機器linux

1,安裝vm,redhat 2,網路配置 (1)本機windows設定:  檢視ip地址: 網路介面卡中,vmnet8設定如下:(虛擬機器中和本地windows在同一網段) (2)虛擬機器VM及linux系統設定: 虛擬機器:點選編輯,選擇虛擬網路編輯器,選擇NAT模式

虛擬機器搭建偽分散式Hadoop,步驟詳解

本人安裝的版本試Hadoop2.4.1版本。首先上傳hadoop的安裝包到伺服器上去/home/hadoop/1.解壓Hadoop到指定的檔案下,我解壓的目錄在主目錄下新建的app檔案內$ tar -zxvf hadoop2.4.1.tar.gz -C app/2、配置Had

用secureCRT連線虛擬機器的Ubuntu系統,出現“遠端主機拒絕連線”錯誤

因為我的Ubuntu中未安裝ssh服務,終端下執行命令: sudo apt-get install openssh-server 之後重啟一下sshd服務: sudo service  sshd  r

本地Eclipse訪問虛擬機器Hadoop需要注意的幾點

1. 本地Eclipse連線到虛擬機器Hadoop的配置: 偽分散式時,core-site.xml中的配置不要使用localhost, 使用虛擬機器的IP地址;同時在eclipse程式中,在configuration中設定fs.defaultFS的值是core-site.x

在VMware vSphere Client客戶端新建主機虛擬機器(詳細)

接上一篇,現在我們已經上傳了linux映象檔案到主機上,接下來是建立虛擬機器並安裝系統了。 首先,在主機上新建虛擬機器 選擇典型 為虛擬機器命名 選擇預設儲存器,點選下一步 作

Xshell 5連線本地虛擬機器的 Linux系統

        我們知道在用Xshell 連線Linux系統是時,關鍵就是要知道Linux系統的ip,而連線虛擬機器中Linux系統也一樣。下面以Xshell連線本地虛擬機器中的CentOS6.5為例,詳細介紹每一步的具體操作。 第一步:進入Linux系統,用ifconfi