您好,登錄后才能下訂單哦!
Cloudera manage(離線)安裝手冊
(按步驟操作)
硬件設備:vm虛擬機
網絡組成:
192.168.210.131master
192.168.210.132slave1
192.168.210.134slave2
192.168.210.133slave3
操作系統:Linux version 2.6.32-220.el6.x86_64
從官方網站上下載rpm包,本次使用版本1.7.0_79(CDH5可能支持1.7之前的版本,具體情況未經測試),執行命令:
rpm -ivh jdk-7u79-linux-x64.rpm
由于是rpm包并不需要我們來配置環境變量,我們只需要配置一個全局的JAVA_HOME變量即可,執行命令:
echo"JAVA_HOME=/usr/java/latest/" >> /etc/profile.d/java.sh
執行命令,查看Jdk是否安裝正確
java -version
javac -version
修改/etc/sysconfig/network文件:
NETWORKING=yes
HOSTNAME=master
NETWORKING_IPV6=no
其中HOSTNAME與主機名一致。
主機名如果跟系統安裝時不一致請執行hostname命令讓其立即生效,否則會影響各節點互相訪問,命令如下:
hostnamemaster
修改/etc/hosts文件,添加:
192.168.1.101master
192.168.1.102slave1
192.168.1.103slave2
192.168.1.104slave3
重新啟動網絡服務,執行命令:
servicenetwork restart
防火墻會引起hadoop相關組件通訊的各種異常。防火墻:
serviceiptables stop (臨時關閉)
chkconfigiptables off (重啟后生效)
設置SELINUX:
setenforce0 (臨時生效)
修改/etc/selinux/config 下的 SELINUX=disabled (重啟后生效)
查看防火墻狀態:service iptables status
臨時生效:
sudo sysctl vm.swappiness=0
修改配置文件/etc/sysctl.conf重啟后仍然生效:
echo"vm.swappiness=0">>/etc/sysctl.conf
所有節點均執行如下命令,遇到提示一路回車即可:
ssh-keygen-t rsa
cat~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys_$hostname
scp各數據節點文件authorized_keys到主節點:
scp ~/.ssh/authorized_keyshadoop@master:~/.ssh/
合并各節點文件authorized_keys_$hostname到文件authorized_keys:
cat~/.ssh/authorized_keys_$hostname >>authorized_keys
master主機分發合并后的authorized_keys所有節點主機:
scp ~/.ssh/authorized_keyshadoop@slave1:~/.ssh/
然后輸入密碼即可,以后再到其他機器就不需要密碼額。
如果ssh登陸時,等待輸入密碼時間較長,可以通過修改以下配置文件:
修改 /etc/ssh/sshd_config配置項UseDNS,設置為no,重啟sshd服務:servicesshd restart
修改 /etc/ssh/ssh_conf配置項GSSAPIAuthentication ,設置為no;
在多臺主機做ssh互信時,可以使用sshpass工具提高效率,具體操作如下:
1、 安裝sshpass工具
2、 在所有主機執行命令:sshpass-p 123456 ssh root@bigdata-2 "ssh-keygen -t rsa"
3、 合并所有主機的公鑰:
sshpass -p 123456 ssh root@bigdata-2 "cat/root/.ssh/id_rsa.pub"
>>/root/.ssh/authorized_keys
4、分發公鑰文件至各個主機;
查看當前時區:date -R
修改時區為上海:ln -sf /usr/share/zoneinfo/posix/Asia/Shanghai /etc/localtime
執行命令:echo never > /sys/kernel/mm/transparent_hugepage/defrag”以禁用此設置,然后將同一命令添加到 /etc/rc.local 等初始腳本中,以便在系統重啟時予以設置,
vi /etc/rc.local 增加配置
echo never > /sys/kernel/mm/transparent_hugepage/defrag
修改文件:/etc/rc.local ,新增如下配置內容:
ulimit -SHn 65535
客戶端修改ntp配置文件:/etc/ntp.conf,新增ntp服務器配置:
server 192.168.10.188
啟動本機ntp服務:service ntpd start
手工同步ntp:ntpdate -u 192.168.10.188
查看ntp同步狀態:watch ntpq -p
查找以前是否裝有mysql,命令:
rpm -qa|grep -i mysql
可以看到mysql的兩個包:
mysql-4.1.12-3.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1
刪除mysql
刪除命令:rpm -e --nodeps 包名
( rpm -ev mysql-4.1.12-3.RHEL4.1 )
刪除老版本mysql的開發頭文件和庫
rm -fr /usr/lib/mysql
rm -fr /usr/include/mysql
注意:卸載后/var/lib/mysql中的數據及/etc/my.cnf不會刪除,如果確定沒用后就手工刪除
rm -f /etc/my.cnf
rm -fr /var/lib/mysql
下載mysql安裝包,并執行安裝命令:
rpm-ivh MySQL-server-5.6.24-1.el6.x86_64.rpm(安裝包名稱)
root用戶初始密碼存儲位置為:
ARANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER !
Youwill find that password in '/root/.mysql_secret'.
可以使用以上密碼登陸,然后修改為所需要的密碼。
下載mysql客戶端,執行命令安裝:
rpm-ivh MySQL-client-5.6.24-1.el6.x86_64.rpm
啟動mysql數據庫
servicemysql start
修改初始密碼:
修改MySQL數據庫root用戶的初始密碼,先查下初始密碼
cat/root/.mysql_secret
使用初始密碼登陸mysql數據庫,登陸命令為:
mysql -uroot –p
執行如下命令修改數據庫root用戶密碼:
setpassword=password('123456');
刷新權限表:
flushprivileges;
測試使用新密碼進行登陸。。。。。。。。。。。。。
1.
2.
下載地址http://archive-primary.cloudera.com/cm5/cm/5/,根據自己的系統選擇相應的版本,本次安裝選用的是cloudera-manager-el6-cm5.7.1_x86_64.tar.gz。下載完成后只上傳到master節點即可。然后解壓到/opt目錄下,不能解壓到其他地方,因為cdh6的源會默認在/opt/cloudera/parcel-repo尋找,怎么制作cdh6的本地源文件會在之后介紹。
給所有節點添加cloudera-scm用戶:
useradd--system --home=/opt/cm-5.7.1/run/cloudera-scm-server/ --no-create-home--shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
修改/opt/cm-5.7.1/etc/cloudera-scm-agent/config.ini下面的server_host
#Hostname of the CM server.
server_host=master
上傳mysql驅動包mysql-connector-java-5.1.26-bin.jar到/opt/cm-5.7.1/share/cmf/lib/目錄:
cp/root/data/mysql-connector-java-5.1.26-bin.jar /opt/cm-5.7.1/share/cmf/lib/
為Cloudera Manager 5建立數據庫:
/opt/cm-5.7.1/share/cmf/schema/scm_prepare_database.shmysql cm -hlocalhost -uroot -p123456 --scm-host localhost scm scm scm
格式是:scm_prepare_database.sh數據庫類型 數據庫服務器用戶名密碼 –scm-host Cloudera_Manager_Server所在的機器,后面那三個不知道代表什么,直接照抄官網的了。
開啟ClouderaManager 5 Server端:
/opt/cm-5.7.1/etc/init.d/cloudera-scm-serverrestart
注意server首次啟動不要立即關閉或重啟,因為首次啟動會自動創建相關表以及數據,如果因為特殊原因中途退出,請先刪除所有表以及數據之后再次啟動,否則將會出現啟動不成功的情況。
開啟ClouderaManager 5 Agents端:
先scp/opt/cm-5.7.1到所有datanode節點上,然后在每臺機器上開啟Agents端:
scp-r /opt/cm-5.7.1 root@slave1:/opt/cm-5.7.1
等待拷貝成功,在所有datanode節點上啟動:(注意必須以管理員權限啟動)
/opt/cm-5.7.1/etc/init.d/cloudera-scm-agentrestart
瀏覽器啟動ClouderaManager 5 控制臺(默認端口號是7180),啟動成功就會看到登陸頁面。
直接在cm管理頁面添加service組件即可;
3.
下載CDH版本到本地http://archive-primary.cloudera.com/cdh6/parcels/5.0.0/,需要下載兩樣東西:
1、與操作系統版本相對應的parcel包
2、 manifest.json文件。
下載完成后將這兩個文件放到master節點的/opt/cloudera/parcel-repo下(目錄在安裝Cloudera Manager 5時已經生成);打開manifest.json文件,里面是json格式的配置,找到與我們系統版本相對應的hash碼,因為我們用的是redhat6.4,所以找到如下位置:
在這個大括號的最下面找到“hash”所對應的值。
將“hash”的值復制下來,然后創建一個文件,文件名與你的parel包名一致,并加上.sha后綴:
此時安裝目錄下有3個文件,將“hash”的值復制到新建的sha文件中,并保存,然后重啟cm server;
打開http://192.168.1.101:7180,登陸控制臺,默認賬戶和密碼都是admin,安裝時選擇免費版,之后由于cm5對中文的支持很強大,按照提示安裝即可,如果系統配置有什么問題在安裝過程中會有提示,根據提示給系統安裝組件就可以了。
如果在安裝時選擇了安裝Hive,可能會遇到安裝失敗的問題,查看一下日志發現時安裝Hive時需要安裝JDBC驅動,所以同樣我們將Mysql的驅動包拷貝到/opt/cloudera/parcels/CDH-5.7.1-1.cdh6.7.1.p0.6/lib/hive/lib目錄下,之后再繼續安裝就不會遇到問題了。
分別進入HDFS、YARN服務管理頁面,選擇ACTION(操作),點擊啟用HA,按照步驟操作即可;
1、 安裝hive、Impala等組件時,需要mysql源數據支持,需要新建數據庫并進行賦權操作,詳細操作如下:
--創建數據庫
createdatabase cm DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
createdatabase hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
createdatabase amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
createdatabase smon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
createdatabase hmon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
createdatabase hiverep DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
--數據庫授權
grantall on *.* to root@"%" Identified by "123456";
2、 Hive或者impala表注釋中文亂碼解決方法:
alter table COLUMNS_V2 modify column COMMENT varchar(256) characterset utf8;
alter table TABLE_PARAMSmodify column PARAM_VALUE varchar(4000) character set utf8;
組件 | 端口號 | 端口用途 | 是否會被外部訪問 |
CM | 7180 | CM管理端口 | 是 |
Cloudera Management Service | 8087 | Activity Monitor Web UI 端口 | 否 |
9999 | Activity Monitor 偵聽端口 | 否 | |
9998 | Activity Monitor 噴嘴端口 | 否 | |
10101 | 警報:偵聽端口 | 否 | |
7184 | 事件發布端口 | 否 | |
7185 | 事件查詢端口 | 否 | |
8084 | Event Server Web UI 端口 | 否 | |
8091 | Host Monitor Web UI 端口 | 否 | |
9995 | Host Monitor 偵聽端口 | 否 | |
9994 | Host Monitor 噴嘴端口 | 否 | |
7186 | Navigator 審核服務器端口 | 否 | |
8089 | Navigator Audit Server Web UI 端 | 否 | |
7187 | Navigator Metadata Server 端口 | 否 | |
5678 | Reports Manager 服務器端口 | 否 | |
8083 | Reports Manager Web UI 端口 | 否 | |
8086 | Service Monitor Web UI 端口 | 否 | |
9997 | Service Monitor 偵聽端口 | 否 | |
9996 | Service Monitor 噴嘴端口 | 否 | |
zookeeper | 2181 | 客戶端端口 | 是 |
3181 | 仲裁端口 | 否 | |
4181 | 選舉端口 | 否 | |
9010 | JMX 遠程端口 | 是 | |
yarn | 10020 | MapReduce JobHistory Server 端口 | 否 |
19888 | MapReduce JobHistory Web 應用程序 HTTP 端口 | 是 | |
19890 | MapReduce JobHistory Web 應用程序 HTTPS 端口 (TLS/SSL) | 否 | |
10033 | MapReduce JobHistory Server 管理接口端口 | 否 | |
8042 | NodeManager Web 應用程序 HTTP 端口 | 否 | |
8044 | NodeManager Web 應用程序 HTTPS 端口 (TLS/SSL) | 否 | |
8041 | NodeManager IPC 地址 | 否 | |
8040 | Localizer 端口 | 否 | |
8032 | ResourceManager 地址 | 否 | |
8030 | 調度程序地址 | 否 | |
8031 | 資源追蹤器地址 | 否 | |
8033 | 管理地址 | 否 | |
8088 | ResourceManager Web 應用程序 HTTP 端口 | 是 | |
8090 | ResourceManager Web 應用程序 HTTPS 端口 (TLS/SSL) | 否 | |
Kafka | 9092 | TCP Port | 是 |
9393 | JMX Port | 是 | |
9394 | 是 | ||
9093 | TLS/SSL Port | 否 | |
24042 | HTTP Metric Report Port | 否 | |
Hive | 9083 | Hive Metastore 服務器端口 | 否 |
10000 | HiveServer2 端口 | 否 | |
10002 | HiveServer2 WebUI Port | 是 | |
50111 | WebHCat Server 端口 | 否 | |
HDFS | 50020 | DataNode 協議端口 | 否 |
50010 | DataNode 收發器端口 | 否 | |
50075 | DataNode HTTP Web UI 端口 | 是 | |
50475 | 安全 DataNode Web UI 端口 (TLS/SSL) | 否 | |
14000 | REST 端口 | 否 | |
14001 | 管理端口 | 否 | |
8485 | JournalNode RPC 端口 | 否 | |
8480 | JournalNode HTTP 端口 | 否 | |
8481 | 安全 JournalNode Web UI 端口 (TLS/SSL) | 是 | |
2049 | NFS Gateway 服務器端口 | 否 | |
4242 | NFS Gateway MountD 端口 | 否 | |
111 | 端口映射(或 Rpcbind)端口 | 否 | |
8020 | NameNode 端口 | 否 | |
8022 | NameNode 服務 RPC 端口 | 否 | |
50070 | NameNode Web UI 端口 | 是 | |
50470 | 安全 NameNode Web UI 端口 (TLS/SSL) | 是 | |
50090 | SecondaryNameNode Web UI 端口 | 是 | |
50495 | 安全 SecondaryNameNode Web UI 端口 (TLS/SSL) | 是 | |
Hbase | 20550 | HBase REST 服務器端口 | 否 |
8085 | HBase REST Server Web UI 端口 | 否 | |
9090 | HBase Thrift 服務器端口 | 否 | |
9095 | HBase Thrift 服務器 Web UI 端口 | 否 | |
60000 | HBase Master 端口 | 否 | |
60010 | HBase Master Web UI 端口 | 是 | |
60020 | HBase Region Server 端口 | 是 | |
60030 | HBase Region Server Web UI 端口 | 是 | |
spark | 7337 | Spark Shuffle Service Port | 否 |
18088 | History Server WebUI Port | 是 | |
oozie | 11000 | Oozie HTTP 端口 | 否 |
11001 | Oozie 管理端口 | 是 | |
25 | Oozie 電子郵件操作 SMTP 端口 | 否 | |
Solr | 8983 | Solr HTTP 端口 | 是 |
8984 | Solr 管理端口 | 是 |
整體方案:
集群內部安全采用白名單方式,集群內機器可以自由訪問彼此;針對接入外網的機器,使用端口過濾,主機默認拒絕所有外面的訪問,針對特點端口進行開放。具體操作如下:
修改防火墻配置文件:/etc/sysconfig/iptables
添加防火墻策略如下:
# Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT DROP [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0]
#白名單配置 -N whitelist -A whitelist -s 172.16.0.250 -j ACCEPT -A whitelist -s 172.16.0.78 -j ACCEPT -A whitelist -s 172.16.0.5 -j ACCEPT -A whitelist -s 172.16.0.168 -j ACCEPT -A whitelist -s 172.16.0.113 -j ACCEPT -A whitelist -s 172.16.0.133 -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT
#開放ssh端口 -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
#開放應用服務端口 #cm -A INPUT -m state --state NEW -m tcp -p tcp --dport 7180 -j ACCEPT
#zookeeper -A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 9010 -j ACCEPT
#yarn -A INPUT -m state --state NEW -m tcp -p tcp --dport 19888 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 8088 -j ACCEPT
#Kafka -A INPUT -m state --state NEW -m tcp -p tcp --dport 9092 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 9393 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 9394 -j ACCEPT
#hive -A INPUT -m state --state NEW -m tcp -p tcp --dport 10002 -j ACCEPT
#hdfs -A INPUT -m state --state NEW -m tcp -p tcp --dport 50075 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 8481 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 50070 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 50470 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 50090 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 50495 -j ACCEPT
#hbase -A INPUT -m state --state NEW -m tcp -p tcp --dport 60010 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 60020 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 60030 -j ACCEPT
#spark -A INPUT -m state --state NEW -m tcp -p tcp --dport 18088 -j ACCEPT
#oozie -A INPUT -m state --state NEW -m tcp -p tcp --dport 11001 -j ACCEPT
#Solr -A INPUT -m state --state NEW -m tcp -p tcp --dport 8983 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 8984 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp -j whitelist -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT |
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。