共計 4642 個字符,預計需要花費 12 分鐘才能閱讀完成。
這篇文章主要介紹了 Linux 如何安裝 Hadoop 和 Hbase,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。
三臺 CentOS7 主機
192.168.122.101 hdfs1
192.168.122.102 hdfs2
192.168.122.103 hdfs3
其中 hdfs1
為主節點,其他為從節點。
安裝配置三臺都是一樣的,做 ssh 免密碼驗證,如果只要在主節點 hdfs1
操作,只做 hdfs1
到其他節點信任即可。
如果三臺都互相信任,這樣子在哪臺都可以操作是一樣的。
修改內核參數
vim /etc/sysctl.conf
net.ipv4.tcp_syn_retries = 1 net.ipv4.tcp_synack_retries = 1 net.ipv4.tcp_keepalive_time = 600 net.ipv4.tcp_keepalive_probes = 3 net.ipv4.tcp_keepalive_intvl =15 net.ipv4.tcp_retries2 = 5 net.ipv4.tcp_fin_timeout = 2 net.ipv4.tcp_max_tw_buckets = 65536 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_max_orphans = 32768 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_syn_backlog = 16384 net.ipv4.tcp_wmem = 8192 131072 16777216 net.ipv4.tcp_rmem = 32768 131072 16777216 net.ipv4.tcp_mem = 786432 1048576 1572864 net.ipv4.ip_local_port_range = 1024 65000 net.ipv4.ip_conntrack_max = 65536 net.ipv4.netfilter.ip_conntrack_max=65536 net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=180 net.core.somaxconn = 16384 net.core.netdev_max_backlog = 16384 vm.max_map_count = 262144
修改句柄限制
vim /etc/security/limits.conf
* soft noproc 655360 * hard noproc 655360 * soft nofile 655360 * hard nofile 655360
設置主機名解析
在不同的節點,設置對應的主機名
hostnamectl set-hostname hdfs1
添加 hosts 記錄,也可以使用 dns 進行解析,比較靈活。
vim /etc/hosts
192.168.122.101 hdfs1
192.168.122.102 hdfs2 192.168.122.103 hdfs3
創建用戶和目錄
useradd hadoop passwd hadoop mkdir -p /apps/ mkdir -pv /data/hdfs/hadoop mkdir -pv /data/hdfs/hbase chown hadoop.hadoop /data/hadoop /data/hbase
設置 ssh 免密碼
su - hadoop ssh-keygen ssh-copy-id hadoop@hdfs1
ssh-copy-id hadoop@hdfs1
ssh-copy-id hadoop@hdfs1
ssh-keygen 產生密鑰的時候一直回車就可以完成創建
ssh-copy-id 的時候需要輸入 hadoop 的密碼
下載 jdk
下載地址:
www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
需要登陸之后才能下載
tar zxvf jdk-8u271-linux-x64.tar.gz mv jdk-8u271-linux-x64 /apps/ cd /apps/ ln -s jdk1.8.0_271 jdk cd - if grep # modify by script /etc/profile /dev/null 2 then echo alread set JAVA_HOME else cp /etc/profile /etc/profile_bak$(date +%Y%m%d%H%M%S) cat /etc/profile EOF # modify by script export JAVA_HOME=/apps/jdk
export PATH=\${JAVA_HOME}/bin:/apps/hadoop/bin:/apps/hbase/bin:\$PATH EOF fi
下載 hadoop 和 hbase
mirrors.aliyun.com/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz
archive.apache.org/dist/hbase/1.3.5/hbase-1.3.5-bin.tar.gz
tar zxvf hadoop-2.7.7.tar.gz tar zxvf hbase-1.3.5-bin.tar.gz mv hadoop-2.7.7 hbase-1.3.5 /apps/ cd /apps ln -s hadoop-2.7.7 hadoop ln -s hbase-1.3.5 hbase cd -
配置 hadoop
1. 配置 namenod
vim /apps/hadoop/etc/hadoop/core-site.xml
添加內容
configuration property !-- 指定 namenode 通信地址 -- name fs.defaultFS /name value hdfs://hdfs1
:9000 /value /property !-- 指定 hadoop 運行時產生文件的存儲路徑 -- property name hadoop.tmp.dir /name value /data/hdfs/hadoop/tmp /value /property /configuration
2. 配置 namenode 和 datanode
vim /apps/hadoop/etc/hadoop/hdfs-site.xml
在文件后面添加內容
configuration !-- 設置 namenode 的 http 通訊地址 -- property name dfs.namenode.http-address /name value hdfs1
:50070 /value /property !-- 設置 secondarynamenode 的 http 通訊地址 -- property name dfs.namenode.secondary.http-address /name value hdfs2:50070 /value /property !-- 設置 namenode 存放的路徑 -- property name dfs.namenode.name.dir /name value /data/hdfs/hadoop/name /value /property !-- 設置 hdfs 副本數量 -- property name dfs.replication /name value 2 /value /property !-- 設置 datanode 存放的路徑 -- property name dfs.datanode.data.dir /name value /data/hdfs/hadoop/datanode /value /property property name dfs.permissions /name value false /value /property /configuration
3. 配置環境變量
vim /apps/hadoop/etc/hadoop/hadoo-env.sh
修改 JAVA_HOME
export JAVA_HOME=/apps/jdk
也可以根據具體的需求設置堆棧之類的參數
4. 設置主節點
vim /apps/hadoop/etc/hadoop/master
添加主節點,一般使用主機名
hdfs1
5. 設置從節點
vim /apps/hadoop/etc/hadoop/slave
添加從節點,一般使用主機名
hdfs1
hdfs2 hdfs3
配置 hbase
1. 配置環境變量
vim /apps/hbase/conf/hbase-env.sh
修改 JAVA_HOME 變量即可
export JAVA_HOME=/apps/jdk
也可以根據具體的需求設置堆棧之類的參數
2. 設置 hadoop 和 zookeeper 等信息
vim /apps/hbase/conf/hbase-site.xml
添加內容
configuration property name hbase.rootdir /name !-- hbase 存放數據目錄 -- value hdfs://hdfs1
:9000/hbase/hbase_db /value !-- 端口要和 Hadoop 的 fs.defaultFS 端口一致 -- /property property name hbase.cluster.distributed /name !-- 是否分布式部署 -- value true /value /property property name hbase.zookeeper.quorum /name !-- zookooper 服務啟動的節點,只能為奇數個 -- valuehdfs1
,hdfs2,hdfs3 /value /property property !--zookooper 配置、日志等的存儲位置,必須為以存在 -- name hbase.zookeeper.property.dataDir /name value /data/hdfs/hbase/zookeeper /value /property property !--hbase web 端口 -- name hbase.master.info.port /name value 16610 /value /property /configuration
vim /apps/hbase/conf/regionservers
hdfs1
hdfs2 hdfs3
啟動測試
su - hadoop /apps/hadoop/sbin/start-all.sh /apps/hbase/bin/start-hbase.sh
感謝你能夠認真閱讀完這篇文章,希望丸趣 TV 小編分享的“Linux 如何安裝 Hadoop 和 Hbase”這篇文章對大家有幫助,同時也希望大家多多支持丸趣 TV,關注丸趣 TV 行業資訊頻道,更多相關知識等著你來學習!