CDH安裝配置
Cloudera5.14配置
- 準備工作
- 軟體下載
- 軟體安裝
- JDK安裝
所有節點
- 安裝
- 環境變數配置
sudo vim /etc/profile
export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH
使用root使用者
echo "JAVA_HOME=/usr/java/default" >> /etc/environment
-
-
- Mysql安裝
-
https://blog.csdn.net/u014646662/article/details/75195739
-
-
- Httpd安裝
-
service httpd start
chkconfig httpd on
-
-
- Mod_ssl安裝
-
yum install mod_ssl
-
- Linux環境配置
- 環境變數配置
- 主機配置
- Linux環境配置
每一臺都要配,以Manager節點為例,其他節點配置方法相同
表1-1 主機配置
IP |
HostName |
Node |
192.168.160.128 |
cloudera.manager |
Manager |
192.168.160.135 |
cloudera.agent1 |
Agent |
192.168.160.n… |
cloudera.agent… |
Agent |
- 修改主機名:
sudo vim /etc/sysconfig/network
使用root使用者(vim 編輯也可)
echo "cloudera.manager" > /etc/hostname
修改hosts檔案
sudo vim /etc/hosts
重啟網絡卡
sudo service network restart
如果啟動失敗
啟動失敗如果是沒有發現網絡卡驅動,請檢查網絡卡的名字(ifconfig),是否與配置的一致
配置:
sudo vim /etc/udev/rules.d/70-persistent-net.rules
配置的網絡卡name
sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0 (編輯你使用的網絡卡)
DEVICE="eth0" BOOTPROTO="dhcp" HWADDR="00:0C:29:C0:68:D6" IPV6INIT="yes" NM_CONTROLLED="yes" ONBOOT="yes" TYPE="Ethernet" UUID="66563504-826a-4fff-9088-8cf8159a1e37" |
這些操作之後應該網絡卡就可以正常啟動了,順便提示一下,如果你的虛擬機器是複製的,那你要更改UUID,使每一臺機器UUID都是唯一的
重啟linux
reboot
系統重啟後,檢查是否配置成功
hostname
- 關閉防火牆
關閉 sudo service iptables stop sudo chkconfig iptables off 檢視狀態 sudo service iptables status |
- 關閉SELinux
sudo vim /etc/selinux/config
修改:
SELINUX=disabled
- Ntp 配置
如果你沒有裝,請先安裝(redhat 系統自帶)
yum install ntp
該配置除Manager節點外都要配,即只配Agent
sudo vim /etc/ntp.conf
修改內容
server cloudera.manager
啟動ntp
service ntpd start chkconfig ntpd on 檢視啟動狀態 sudo service ntpd status 命令檢視同狀態 ntpstat |
-
-
- MySQL初始化
-
主節點 create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci; create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci; create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci; create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci; create database reports DEFAULT CHARSET utf8 COLLATE utf8_general_ci; create database activity DEFAULT CHARSET utf8 COLLATE utf8_general_ci; grant all privileges on *.* to 'root'@'localhost' identified by 'ztx' with grant option; grant all privileges on *.* to 'root'@'cloudera.manager' identified by 'ztx' with grant option; flush privileges; |
-
-
- SSH配置
-
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys [email protected]:~/.ssh/
scp ~/.ssh/authorized_keys [email protected]:~/.ssh/
- Cloudera安裝
- Cloudera 解壓
每臺機器操作相同 進入安裝包的路徑 cd /opt/ mkdir /opt/cloudera-manager /opt/cloudera 解壓cloudera-manager tar -xzvf cloudera-manager-el6-cm5.14.3_x86_64.tar.gz -C /opt/cloudera-manager mv /opt/cloudera-manager/cloudera/* /opt/cloudera/ |
-
- 建立cloudera-scm使用者
每臺機器 sudo useradd --system --home=/opt/cloudera-manager/cm-5.14.3/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM" cloudera-scm |
由於Cloudera Manager和Managed Services預設使用clouderascm,所以需要建立此使用者
-
- Cloudera配置
- 主節點配置
- Cloudera配置
sudo mkdir /var/lib/cloudera-scm-server sudo chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server |
-
-
- Agent配置
-
配置所有節點的Agent,
vim /opt/cloudera-manager/cm-5.14.3/etc/cloudera-scm-agent/config.ini
-
-
- MySQL配置
-
注意去除了版本號 所有節點 mv mysql-connector-java-5.1.38.jar /opt/cloudera-manager/cm-5.14.3/share/cmf/lib/mysql-connector-java.jar 主節點 /opt/cloudera-manager/cm-5.14.3/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -pztx --force --scm-host localhost scm scm scm --force 是忽略錯誤, |
-
-
- 安裝CDH5
-
將CHD5相關的Parcel包放到主節點的/opt/cloudera/parcel-repo目錄
最後將CDH-5.14.2-1.cdh5.14.2.p0.3-el6.parcel.sha1,重新命名為CDH-5.14.2-1.cdh5.14.2.p0.3-el6.parcel.sha,這點必須注意,否則,系統會重新下載CDH-5.14.2-1.cdh5.14.2.p0.3-el6.parcel檔案
-
- 後續資訊
sudo mkdir /var/run/cloudera-scm-agent
sudo chown cloudera-scm:cloudera-scm /var/run/cloudera-scm-agent
sudo mkdir /opt/cloudera-manager/cm-5.14.3/run/cloudera-scm-server
sudo chown cloudera-scm:cloudera-scm /opt/cloudera-manager/cm-5.14.3/run/cloudera-scm-server
echo 0 > /proc/sys/vm/swappiness
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
-
- 安裝元件時
Hive安裝失敗(找不到mysql 驅動)
cp /opt/cloudera-manager/cm-5.14.3/share/cmf/lib/mysql-connector-java.jar /opt/cloudera/parcels/CDH-5.14.2-1.cdh5.14.2.p0.3/lib/hive/lib/
oozie安裝失敗(找不到mysql 驅動)
cp /opt/cloudera-manager/cm-5.14.3/share/cmf/lib/mysql-connector-java.jar /opt/cloudera/parcels/CDH-5.14.2-1.cdh5.14.2.p0.3/lib/oozie/lib
cp /opt/cloudera-manager/cm-5.14.3/share/cmf/lib/mysql-connector-java.jar /opt/cloudera/parcels/CDH-5.14.2-1.cdh5.14.2.p0.3/lib/oozie/libext/
- 整合環境配置
- 啟動
cd /opt/cloudera-manager/cm-5.14.3/etc/init.d/
Manager:./cloudera-scm-server start
Agent: ./cloudera-scm-agent start
-
- 登入
- 問題
- 啟動Hadoop生態圈中的元件出錯(缺少服務)
啟動出錯原因:部分軟體沒有安裝
例如:hue啟動時角色啟動失敗
請檢查httpd和mod_ssl是否安裝了,在錯誤日誌中可以看到
如果這兩個軟體沒有裝,在啟動時也會報沒有許可權,手動更改許可權後再重啟,hue又重新生成檔案,又說沒有許可權,再繼續向下看錯誤日誌,會發現這兩個軟體沒有裝,如果已經裝過,那就是沒有啟動服務。
在啟動服務時一定要用root使用者,前面加sudo是不行的
yum install httpd
service httpd start
chkconfig httpd on
yum install mod_ssl
service mod_ssl
chkconfig mod_ssl on
-
- 執行命令出錯(許可權管理)
錯誤多為許可權問題
在控制權限的時候不要都給*777許可權,儘量不要給所有使用者賦予可寫許可權,在cdh中Hadoop生態圈中所有的元件的超級管理員預設是hdfs,屬於hdfs組,也屬於超級管理員組。
在linux中預設的超級管理員是root,root在Hadoop生態圈元件中卻屬於普通使用者,不是管理員使用者。
預設情況下,hive、spark、hue等元件執行命令時,如果不是hdfs使用者,都會出現許可權問題,丟擲異常。要指定的使用者有許可權執行命令可以這麼做:
Ⅰ 在linux下使用hdfs登入,登入方式:
- su hdfs 回車後輸入hdfs密碼;
- 登入root後只輸入su hdfs回車,不需要hdfs密碼
- 具有sudo 的使用者可以輸入sudo su hdfs
Ⅱ 更改hdfs的/user目錄的許可權,賦予775
hdfs dfs chmod 775 /user
Ⅲ 為指定的使用者新增許可權,即將指定的使用者新增到hdfs組中,不改變之前的所屬組
usermod -a -G hdfs username
username 是待指定的使用者的名字
Hue的web頁面登入的使用者要屬於hdfs組
-
- SERVICE_MONITORING is not running