Hbase安裝kerberos及遠端登入配置
1. 安裝ZK, 單機多例項配置及啟動
· 建立data目錄, 建立datalog目錄
· 1040 mkdir data
1041 cd data/
1043 mkdir slave1
1044 mkdir slave2
1045 mkdir slave3
1046 cd ..
1047 mkdir datalog
1048 cd datalog/
1049 mkdir slave1
1051 mkdir slave2
1052 mkdir slave3
· 配置zoo.cfg,拷貝配置檔案,生成三個配置檔案:zoo-slave1.cfg:
· Zoo-slave1.cfg:
· tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper-3.4.8/data/slave1
clientPort=2181
dataLogDir=/opt/zookeeper-3.4.8/datalog/slave1
server.1=mj1:2889:3889
server.2= mj1:2890:3890
server.3= mj1:2891:3891
zoo-slave2.cfg:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper-3.4.8/data/slave2
clientPort=2182
dataLogDir=/opt/zookeeper-3.4.8/datalog/slave2
server.1= mj1:2889:3889
server.2= mj1:2890:3890
server.3= mj1:2891:3891
zoo-slave3.cfg:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper-3.4.8/data/slave3
clientPort=2183
dataLogDir=/opt/zookeeper-3.4.8/datalog/slave3
server.1= mj1:2889:3889
server.2= mj1:2890:3890
server.3= mj1:2891:3891
· 如何區分到底是第幾個例項呢,就要有個id檔案,名字必須是myid
[[email protected] data]# echo "1" > slave1/myid
[[email protected] data]# echo "2" > slave2/myid
[[email protected] data]# echo "3" > slave3/myid
· 啟動
bin/zkServer.sh start zoo-slave1.cfg
bin/zkServer.sh start zoo-slave2.cfg
bin/zkServer.sh start zoo-slave3.cfg
bin/zkServer.sh status zoo-slave1.cfg
bin/zkCli.sh
2. ZK + kerberos
· KDC:
kadmin.local: addprinc -randkey zookeeper/
kadmin.local: addprinc -randkey [email protected]
kadmin.local: xst -k zookeeper.keytab zookeeper/
kadmin.local: xst -norandkey -k zkcli.keytab [email protected]
· zoo-slave1.cfg,zoo-slave2.cfg,zoo-slave3.cfg:
authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider
jaasLoginRenew=3600000
· /opt/zookeeper-3.4.8/conf/jaas.conf
Server {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="/opt/zookeeper-3.4.8/conf/zookeeper.keytab"
storeKey=true
useTicketCache=false
principal="zookeeper/[email protected]YOUR.DOMAIN_NAME";
};
Client {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="/opt/zookeeper-3.4.8/conf/zkcli.keytab"
storeKey=true
useTicketCache=false
};
· /opt/zookeeper-3.4.8/conf/java.env
export JVMFLAGS="-Djava.security.auth.login.config=/opt/zookeeper-3.4.8/conf/jaas.conf"
3. HBASE
· Hbase-site.xml:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://mj1:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/opt/hbase-1.2.1/tmp</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>mj1</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<!--<value>/opt/hbase-1.2.1/zookeeper</value>-->
<value>/opt/zookeeper-3.4.6</value>
</property>
<property>
<name>hbase.security.authorization</name>
<value>true</value>
</property>
<!--<property>
<name>hbase.coprocessor.master.classes</name>
<value>org.apache.ranger.authorization.hbase.RangerAuthorizationCoprocessor</value>
</property>
<property>
<name>hbase.coprocessor.region.classes</name>
<value>org.apache.ranger.authorization.hbase.RangerAuthorizationCoprocessor</value>
</property>-->
<property>
<name>hbase.security.authentication</name>
<value>kerberos</value>
</property>
<property>
<name>hbase.regionserver.kerberos.principal</name>
<value>hbase/[email protected]YOUR.DOMAIN_NAME</value>
</property>
<property>
<name>hbase.regionserver.keytab.file</name>
<value>/opt/hbase-1.2.1/conf/hbase.keytab</value>
</property>
<property>
<name>hbase.master.kerberos.principal</name>
<value>hbase/[email protected]YOUR.DOMAIN_NAME</value>
</property>
<property>
<name>hbase.master.keytab.file</name>
<value>/opt/hbase-1.2.1/conf/hbase.keytab</value>
</property>
</configuration>
· hbase conf目錄建立jaas.conf,檔案內容和zk配置一致
Client {
com.sun.security.auth.module.Krb5LoginModule required
useKeyTab=true
keyTab="/opt/zookeeper-3.4.8/conf/zkcli.keytab"
storeKey=true
useTicketCache=false
};
· hbase-env.sh新增
export HBASE_OPTS="$HBASE_OPTS -Djava.security.auth.login.config=/opt/hbase-1.2.1/conf/jaas.conf"
export HBASE_MANAGES_ZK=false
· zoo.cfg新增下兩行
kerberos.removeHostFromPrincipal=true
kerberos.removeRealmFromPrincipal=true
· 重啟zk和Hbase
若要在client端登入遠端的Hbase,則還需要修改如下配置:
/opt/hadoop-2.7.2/etc/hadoop/core-site.xml:
新增如下配置:
<property>
<name>hadoop.proxyuser.hbase.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hbase.groups</name>
<value>*</value>
</property>
其中,name中的hbase為client端登入遠端hbase時所用的kerberos的principal。
Client端需要的配置檔案內容如下:
<configuration>
<property>
<name>hbase.zookeeper.quorum</name>
<value>mj1</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.security.authorization</name>
<value>true</value>
</property>
<property>
<name>hbase.security.authentication</name>
<value>kerberos</value>
</property>
<!--<property>
<name>hbase.zookeeper.client.kerberos.principal</name>
<value>client/[email protected]YOUR.DOMAIN_NAME</value>
</property>
<property>
<name>hbase.zookeeper.client.keytab.file</name>
<value>/opt/hbase-1.2.1/back_conf/client.keytab</value>
</property>-->
<property>
<name>hbase.regionserver.kerberos.principal</name>
<value>hbase/[email protected]YOUR.DOMAIN_NAME</value>
</property>
<property>
<name>hbase.master.kerberos.principal</name>
<value>hbase/[email protected]YOUR.DOMAIN_NAME</value>
</property>
</configuration>
在client端,kinit –kt hbase.keytab hbase/[email protected]YOUR.DOMAIN_NAME,使得client以hbase使用者的身份去和zookeeper連線,以hbase使用者的身份去和master和regionserver互動。
配置錯誤集結:
Org.apache.hadoop.ipc.RemoteException:User:rootis not allowed to impersonate root;
解決方法:參照上述對hadoop中core-site.xml的新增配置項。
注意:在hbase安裝了kerberos之後,若以[email protected]YOUR.DOMAIN_NAME的身份登入hbase,在zookeeper上的/hbase目錄下建立znode節點的時候,所建立的節點的許可權會變為
'world,'anyone
: r
'sasl,'zkcli
: cdrwa
所以,要是繼續在/hbase目錄下建立節點,則訪問節點的時候會報錯:Authentication is not valid
若是使用zkcli命令列建立節點,則用如下命令create / znode1 sasl:[email protected]YOUR.DOMAIN_NAME
相關推薦
Hbase安裝kerberos及遠端登入配置
1. 安裝ZK, 單機多例項配置及啟動 · 建立data目錄, 建立datalog目錄 · 1040 mkdir data 1041 cd data/ 1043 mkdir slave1 1044 mkdir slave2 10
ubuntu下MySQL的安裝及遠端連線配置
1.命令視窗中輸入sudo apt-get install mysql-server mysql-client 即可(配置檔案位置:/etc/mysql/my.cnf 啟動檔案位置:/etc/init.d/mysql) 2.安裝期間會提示你輸入ROOT賬號的密碼。 3.安裝完成後,就可以利用命令mysq
hyper-v 安裝Centos及網絡配置
圖片 tle 項目 AR 位置 正常 add get IT 新安裝的Centos系統默認情況下是不能上網的,需要經過相應的配置;選擇對應的虛擬機,點擊“虛擬交換機管理器”; 設置hyper-v上的網絡及分配cpu、內存、磁盤等資源。 安裝CentOS7 過程中,先設置網關
Mac 安裝jdk及環境變數配置
一、訪問jdk官網下載 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 注意勾選下圖紅色方框區域,選擇需要系統版本下載 二、安裝jdk
SSH遠端登入配置檔案sshd_config詳解
SSH由客戶端和服務端的軟體組成,在客戶端可以使用的軟體有SecureCRT、putty、Xshell等, 而在伺服器端執行的是一個sshd的服務,通過使用SSH,可以把所有傳輸的資料進行加密,而且也能夠 防止dns和IP欺騙,此外,SSH傳輸的資料是經過壓縮的,可以加快傳輸速度 其伺服器端的配
安裝JDK及環境變數配置(Linux,Windows)
一、Linux作業系統 1、到oracle官網下載JDK安裝包(Linux) 2、解壓安裝包 tar -zxvf jdk-8u172-linux-x64.tar.gz 3、配置環境變數 開啟 vi /etc/profile 檔案,將以下內容拷貝到profile檔案末尾
WIN10下,Jdk的安裝方法及環境變數配置
JDK的安裝 首先下載JDK:link. 1、選擇接受協議,不然無法下載; 2、點選x64後面的藍色連結獲取下載地址。 下載完成後雙圖示進入安裝介面,點選下一步 選擇安裝路徑並點選下一步: 然後會出現如下介面: 這步實際上是安裝JRE,JDK中也包
安裝JDK及環境變數配置(MAC版本)
1、訪問Oracle官網 http://www.oracle.com,瀏覽到首頁的底部選單 ,然後按下圖提示操作: 2.點選“JDK DOWNLOAD”按鈕: 3.選擇“Accept Lisence Agreement”同意協議: 4.點
Gitlab安裝使用及漢化配置
一、GitLab簡介 GitHub是2008年由Ruby on Rails編寫而成,與業界聞名的Github類似;但要將程式碼上傳到GitHub上面,而且將專案設為私有還要收費。GitLab 是一個用於倉庫管理系統的開源專案,使用Git作為程式碼管理工具,可通過Web介面
Ubuntu中安裝zookeeper及kafka並配置環境變數
首先安裝zookeeper zookeeper需要jdk環境,請在jdk安裝完成的情況下安裝zookeeper 1.從官網下載zookeeper http://mirror.bit.edu.cn/apache/zookeeper/,版本可以根據自己需要選擇使用,
Jenkins環境搭建——安裝外掛及全域性安全配置(二)
一、安裝外掛 上篇安裝jenkins時,我們已經安裝了推薦的外掛,這裡我們再安裝兩個子認為不錯的外掛。 1、在jenkins頁面上點選“系統管理” 2、再點選“外掛管理” 3、選擇“可選外掛”,在搜尋框中輸入rebuilder。此外掛用於重新構建。 4、第二個需要安
MyEclipse 8.6的SVN外掛安裝方法及部分內容配置!
1.開啟HELP->MyEclipse Configuration Center,切換到SoftWare標籤頁。 3.在左邊欄中找到Personal Site中找到SVN展開。將Core SVNKit Library和Optional JNA Library新增
【4】配置錄---MAC安裝JDK及環境變數配置
一、安裝 請參照 二、配置JDK環境變數 1.檢視是否存在.bash_profile的隱藏配置檔案 ls -lah 2.建立一個.bash_profile的隱藏配置檔案(如果你是為編輯已存在的配置檔案,省略此步驟) touch .bash_profile 3.
HBase安裝以及多個HMaster配置步驟
1.解壓縮hbase-0.94.6.tar.gz tar zxvf hbase-0.94.6.tar.gz 2.配置hbase環境變數/etc/profile export HBASE_HOME=/home/hadoop/hbase export PATH=$PATH:$H
Raspberry Pi 遠端登入配置
1. 設定支援SSH遠端登入: 使能SSH登入選項: 檢視樹莓派的IP地址,這裡使用Wifif連線的方式,因此, IP是192.168.31.50: 2. 在電腦使用SSH登入工具登入: 使用者
Linux學習之CentOS(二)----centos連線網路的三種方式及 遠端登入管理工具SecureCRT的使用
【宣告】 歡迎轉載,但請保留文章原始出處→_→ 【正文】 虛擬機器版本:VMware Workstation_10.0.3 Linux系統版本:CentOS_6.5(64位) 一、前言: 前幾天做了一回小白,安裝了上個月釋出的最新版CentOS 7 ,發
Ubuntu系統安裝X11VNC實現遠端登入
X11VNC只能實現單使用者登入. 1. 安裝 apt-get install x11vnc -y 2. 設定VNC密碼 x11vnc -storepasswd 3. 啟動VNC Service x11vnc -forever -shared -rfbauth ~/.
Linux更改ssh服務遠端登入配置
為什麼要更改ssh服務遠端登入配置?因為黑客都知道Linux遠端連線預設埠為22,管理員使用者預設為root,採取預設配置會增大我們系統被黑客入侵成功的概率。 ssh服務端的配置檔案是 /ect/ssh/ 路徑下的 sshd_config 檔案。 [[e
linux安裝redis及phpredis環境配置(超詳細)
下載安裝包 cd /home/redis/tar wget http://redis.googlecode.com/files/redis-2.4.17.tar.gz tar zxvf redis-2.4.17.tar.gz cd redis-2.4.17 make cd
win10安裝scala及環境變數配置
win10安裝scala步驟: 下載JDK並安裝安裝 1.首先安裝Java,必須1.7版本以上才支援Scala,http://www.oracle.com/下載對應版本 2. 設定系統環境變數: