1. 程式人生 > >CDH安裝配置

CDH安裝配置

Cloudera5.14配置

  • 準備工作
    1. 軟體下載
    2. 軟體安裝
      1. JDK安裝

所有節點

  1. 安裝
  2. 環境變數配置

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

      1. Mysql安裝

https://blog.csdn.net/u014646662/article/details/75195739

      1. Httpd安裝

service httpd start

chkconfig httpd on

      1. Mod_ssl安裝

yum install mod_ssl

    1. Linux環境配置
      1. 環境變數配置
      2. 主機配置

每一臺都要配,以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

  1. 修改主機名:

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

  1. 關閉防火牆

關閉

sudo service iptables stop

sudo chkconfig iptables off

檢視狀態

sudo service iptables status

  1. 關閉SELinux

sudo vim /etc/selinux/config

修改:

SELINUX=disabled

  1. 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

      1. 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;

      1. 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安裝
    1. 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/

    1. 建立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預設使用cloudera­scm,所以需要建立此使用者

    1. Cloudera配置
      1. 主節點配置

sudo mkdir /var/lib/cloudera-scm-server

sudo chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server

      1. Agent配置

配置所有節點的Agent,

vim /opt/cloudera-manager/cm-5.14.3/etc/cloudera-scm-agent/config.ini

      1. 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 是忽略錯誤,

      1. 安裝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檔案

    1. 後續資訊

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

    1. 安裝元件時

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/

  • 整合環境配置
    1. 啟動

cd /opt/cloudera-manager/cm-5.14.3/etc/init.d/

Manager:./cloudera-scm-server start

Agent: ./cloudera-scm-agent start

    1. 登入
  • 問題
    1. 啟動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

    1. 執行命令出錯(許可權管理)

錯誤多為許可權問題

在控制權限的時候不要都給*777許可權,儘量不要給所有使用者賦予可寫許可權,在cdh中Hadoop生態圈中所有的元件的超級管理員預設是hdfs,屬於hdfs組,也屬於超級管理員組。

在linux中預設的超級管理員是root,root在Hadoop生態圈元件中卻屬於普通使用者,不是管理員使用者。

預設情況下,hive、spark、hue等元件執行命令時,如果不是hdfs使用者,都會出現許可權問題,丟擲異常。要指定的使用者有許可權執行命令可以這麼做:

Ⅰ 在linux下使用hdfs登入,登入方式:

  1. su hdfs 回車後輸入hdfs密碼;
  2. 登入root後只輸入su hdfs回車,不需要hdfs密碼
  3. 具有sudo 的使用者可以輸入sudo su hdfs

Ⅱ 更改hdfs的/user目錄的許可權,賦予775

hdfs dfs chmod 775 /user

Ⅲ 為指定的使用者新增許可權,即將指定的使用者新增到hdfs組中,不改變之前的所屬組

usermod -a -G hdfs username

username 是待指定的使用者的名字

Hue的web頁面登入的使用者要屬於hdfs組

    1. SERVICE_MONITORING is not running