HBASE單機安裝教程(centOS6.5)
注意Hadoop與HBASE對應支援支援版本
1基本配置
1.1關閉防火牆
Chkconfig –list | grep iptables
確定全部為off
否則執行chkconfig iptables off
Service iptables stop
1.2新增 主機IP 和對應的主機名稱,做對映。主機名可用hostname檢視(注:在配置檔案中使用主機名的話,這個對映必須做!)
1.3檢視sestatus
如果沒有顯示disabled則 vi /etc/selinux/config將SELINUX=disabled
1.4修改主機名
Vi /home/hadoop3.1.0/etc/hadoop/slave
修改成自己的主機名
2 jdk安裝
2.1將jdk-8u144-linux-x64.rpm放入根目錄下
上傳完後的檔案如下,檔案只有讀寫許可權,沒有執行許可權
-》執行chmod 755 jdk-8u144-linux-x64.rpm授權
-》執行rpm -ivh jdk-8u144-linux-x64.rpm進行安裝
如果在安裝時出現如下錯誤
warning:waiting for transaction lock on /var/lib/rpm/.rpm.lock
使用如下命令來進行安裝
sudo rpm -ivh jdk-8u144-linux-x64.rpm
如果仍然不可以,使用如下命令強制解鎖後再次安裝即可
sudo rm /var/lib/rpm/.rpm.lock
-
- jdk安裝成功後,預設存放在/usr/java檔案目錄中
2.3、配置環境變數
vi /etc/profile
在檔案尾部新增如下內容,儲存退出
export JAVA_HOME=/usr/java/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar
再使用source /etc/profile使環境變數生效
輸入如下命令驗證環境變數是否生效
echo $PATH
輸入如下命令檢視jdk版本
java –version
3 hadoop安裝
3.1、解壓hadoop-2.7.6.tar.gz
Tar –zvxfhadoop-2.7.6.tar.gz可將檔案移至home下
3.2、profile 檔案更改
export HADOOP_HOME=/home/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:$PATH
輸入source /etc/profile
3.3、修改配置檔案
3.3.1 在修改配置檔案之前,先在root目錄下建立一些資料夾。
mkdir /root/hadoop
mkdir /root/hadoop/tmp
mkdir /root/hadoop/var
mkdir /root/hadoop/dfs
mkdir /root/hadoop/dfs/name
mkdir /root/hadoop/dfs/data
3.3.2 修改core-site.xml
在<configuration>新增:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://wll:9000</value>
</property>
</configuration>
3.3.3修改 hadoop-env.sh
export JAVA_HOME=/usr/java/ jdk1.8.0_144
3.3.3修改 hdfs-site.xml
在<configuration>新增:
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/root/hadoop/dfs/name</value>
<description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/root/hadoop/dfs/data</value>
<description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
3.3.4 修改mapred-site.xml
<property>
<name>mapred.local.dir</name>
<value>/root/hadoop/var</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
到此 Hadoop 的單機模式的配置就完成了。
4 免密登入
先測試是否能免密登入,輸入試試localhost,出現以下則不能免密登入
去掉 /etc/ssh/sshd_config中的兩行註釋,如沒有則新增
生成祕鑰,輸入命令 ssh-keygen -t rsa 然後一路回車
複製到公共金鑰中
cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
測試是否成功
5 hadoop啟動
第一次啟動Hadoop需要初始化,切換到 /home/hadoop/bin目錄下輸入
hadoop namenode -format
初始化成功後,可以在/root/hadoop/dfs/name 目錄下看見新增了一個current 目錄以及一些檔案。
切換到/home/hadoop/hadoop3.1.0/sbin目錄,啟動HDFS
輸入:
start-dfs.sh
start-yarn.sh
輸入jps:出現以下資訊,配置完成
錯誤一:
輸入: start-dfs.sh
如果出現以下錯誤,則輸入source ~/.bash_profile
錯誤二:
如果執行start-dfs.sh指令碼報如下錯誤
(缺少使用者定義而造成的)因此編輯啟動和關閉
vi sbin/start-dfs.sh
vi sbin/stop-dfs.sh
頂部加入
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
錯誤三:
執行start-yarn.sh報錯
是因為缺少使用者定義造成的,所以分別編輯開始和關閉指令碼
vi sbin/start-yarn.sh
vi sbin/stop-yarn.sh
頂部新增
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
6 hbase安裝
6.1、解壓hbase-2.0.1-bin.tar.gz
tar –zvxf hbase-2.0.1-bin.tar.gz
然後移動到 /home/hbase
mv hbase-2.0.1 /home/hbase
6.2 、編輯 /etc/profile 檔案
注意修改在前基礎上修改PATH路徑
export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HBASE_HOME}/bin:$PATH
export HBASE_HOME=/home/hbase
輸入source /etc/profile使修改生效
檢視hbase版本hbase version
6.3、修改配置檔案
在 root目錄下新建資料夾
mkdir /root/hbase
mkdir /root/hbase/tmp
mkdir /root/hbase/pids
編輯hbase-site.xml 檔案,在新增如下配置
<!-- 儲存目錄 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://wll:9000/hbase</value>
</property>
<!-- zookeeper 叢集配置。如果是叢集,則新增其它的主機地址 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>wll</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/root/hbase/tmp</value>
</property>
</configuration>
7 HBASE啟動
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/hbase/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/hadoop3.1.0/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
發現這兩個jar重複,刪除其中一個即可
啟動後:
進入操作語句執行介面HBASE shell