centos6.8安裝cdh6.0.0

https://blog.csdn.net/qq_22946601/article/details/82382931html

1.虛擬機準備,網絡配置,host配置,無祕配置,防禦牆關閉,ntp服務java

cdh-node1 192.168.128.221node

cdh-node2 192.168.128.222mysql

cdh-node3 192.168.128.223linux

 

  1. 安裝配置httpd(主節點)

yum install httpdsql

或者你能夠直接輸入命令數據庫

yum install -y httpdubuntu

設置Apache開機啓動vim

chkconfig httpd oncentos

啓動httpd服務

service httpd start

 

3.Linux swappiness參數(全部節點)

爲了不服務器使用swap功能而影響服務器性能,通常都會把vm.swappiness修改成0cloudera建議10如下)

echo 0 > /proc/sys/vm/swappiness

這樣操做重啓機器仍是還原

修改配置文件,開機自動設置參數

編輯vi /etc/sysctl.conf

在最後添加vm.swappiness=0

 

4.禁用透明頁(全部節點)

設置方法

echo never > /sys/kernel/mm/transparent_hugepage/defrag

echo never > /sys/kernel/mm/transparent_hugepage/enabled

永久生效

vi /etc/rc.local 添加上面命令

給與可執行權限:

chmod +x /etc/rc.d/rc.local

 

  1. 安裝配置jdk

JDK安裝(全部節點)

卸載原有java

rpm -qa | grep java # 查詢已安裝的java

yum remove java* # 卸載

安裝JDK以及配置環境變量

rpm -ivh /opt/JDK/jdk-8u144-linux-x64.rpm

vi /etc/profile

# 末尾添加

 

export JAVA_HOME=/usr/java/jdk1.8.0_144

export CLASSPATH=.:$CLASSPTAH:$JAVA_HOME/lib

export PATH=$PATH:$JAVA_HOME/bin

 

source /etc/profile

 

  1. MYSQL安裝(主節點)

1卸載mariadb

[root@cdh001 opt]# rpm -qa|grep mariadb

mariadb-libs-5.5.44-2.el7.x86_64

[root@cdh001 opt]# rpm -e mariadb-libs-5.5.44-2.el7.x86_64

error: Failed dependencies:

libmysqlclient.so.18()(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64

libmysqlclient.so.18(libmysqlclient_18)(64bit) is needed by (installed) postfix-2:2.10.1-6.el7.x86_64

[root@cdh001 opt]# rpm -e postfix-2:2.10.1-6.el7.x86_64

[root@cdh001 opt]# rpm -e mariadb-libs-5.5.44-2.el7.x86_64

 

2 MYSQL安裝

 

cd /opt/mysql/

tar -xvf ./mysql-5.7.19-1.el7.x86_64.rpm-bundle.tar

 

rpm -ivh mysql-community-common-5.7.19-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-5.7.19-1.el7.x86_64.rpm

報錯

error: Failed dependencies:

    libc.so.6(GLIBC_2.14)(64bit) is needed by MySQL-client-advanced-5.6.22-1.el7.x86_64

    libc.so.6(GLIBC_2.17)(64bit) is needed by MySQL-client-advanced-5.6.22-1.el7.x86_6

解決方法

下載響應安裝包:http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gz

解壓: tar xvf glibc-2.14.tar.gz

進入glibc-2.14目錄:cd glibc-2.14

建立build文件夾:mkdir build

進入build目錄:cd build

執行:../configure --prefix=/opt/glibc-2.14

執行:make

執行:make instal

 

rpm -ivh mysql-community-client-5.7.19-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.19-1.el7.x86_64.rpm

rpm -ivh mysql-community-libs-compat-5.7.19-1.el7.x86_64.rpm

 

3 MYSQL配置

mysqld --initialize --user=mysql # 初始化mysql使mysql目錄的擁有者爲mysql用戶

cat /var/log/mysqld.log # 最後一行將會有隨機生成的密碼

systemctl start mysqld.service # 設置mysql服務自啓

mysql -uroot p

# 輸入臨時密碼

ALTER USER 'root'@'localhost' IDENTIFIED BY 'root'; # 修改密碼

4 建立庫(後續安裝服務等使用)

CREATE DATABASE cmserver DEFAULT CHARACTER SET utf8;

GRANT ALL on cmserver.* TO 'cmserver'@'%' IDENTIFIED BY 'cmserver';

 

CREATE DATABASE hive DEFAULT CHARACTER SET utf8;

GRANT ALL on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';

 

CREATE DATABASE amon DEFAULT CHARACTER SET utf8;

GRANT ALL on amon.* TO 'amon'@'%' IDENTIFIED BY 'amon';

 

CREATE DATABASE rman DEFAULT CHARACTER SET utf8;

GRANT ALL on rman.* TO 'rman'@'%' IDENTIFIED BY 'rman';

 

CREATE DATABASE oozie DEFAULT CHARACTER SET utf8;

GRANT ALL on oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie';

 

CREATE DATABASE hue DEFAULT CHARACTER SET utf8;

GRANT ALL on hue.* TO 'hue'@'%' IDENTIFIED BY 'hue';

 

  1. 安裝mysql

inux下安裝mysql5.7步驟

1.解壓下載好的.tar.gz文件,並將解壓後的文件拷貝到/usr/local/目錄下,注意:-C,而不是小寫的-c

tar -xzvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz -C /usr/local/

2.進入/usr/local/目錄下,修改已經解壓的文件夾的名字,改成mysql

mv mysql-5.7.19-linux-glibc2.12-x86_64 mysql

3.檢查數據庫文件是否有,如有便刪除(linux系統自帶的)

  檢查:命令rpm -qa | grep mysql

  若是有則刪除:命令rpm -e --nodeps mysql-libs-5.1.52.x86_64

4.檢查mysql組和用戶是否存在,如無則建立

檢查:cat /etc/group | grep mysql;

     cat /etc/passwd |grep mysql;

建立:groupadd mysql;

     useradd -r -g mysql mysql

5.mysql目錄下新建data目錄

mkdir data

6.更改mysql目錄下全部的目錄及文件夾所屬組和用戶

[root@dbserver mysql]# cd /usr/local/

[root@dbserver local]# chown -R mysql mysql/

[root@dbserver local]# chgrp -R mysql mysql/

[root@dbserver local]# cd mysql/

[root@dbserver mysql]# ls -l

total 40

drwxr-xr-x.  2 mysql mysql  4096 Aug 31 16:45 bin

-rw-r--r--.  1 mysql mysql 17987 Jun 22 22:13 COPYING

drwxr-xr-x.  2 mysql mysql     6 Aug 31 16:48 data

drwxr-xr-x.  2 mysql mysql    52 Aug 31 16:45 docs

drwxr-xr-x.  3 mysql mysql  4096 Aug 31 16:44 include

drwxr-xr-x.  5 mysql mysql  4096 Aug 31 16:45 lib

drwxr-xr-x.  4 mysql mysql    28 Aug 31 16:45 man

-rw-r--r--.  1 mysql mysql  2478 Jun 22 22:13 README

drwxr-xr-x. 28 mysql mysql  4096 Aug 31 16:45 share

drwxr-xr-x.  2 mysql mysql    86 Aug 31 16:45 support-files

7.安裝和初始化數據庫

進入/usr/local/mysql/bin目錄下,執行命令

./mysqld --initialize --user=mysql --basedir=/usr/local/mysq/--datadir=/usr/local/mysql/data/

若是提示錯誤:

[ERROR] Can't find error-message file '/usr/local/mysql/--datadir=/usr/local/mysql/data/share/errmsg.sys'. Check error-message file location and 'lc-messages-dir' configuration directive.2017-08-31T08:50:24.709286Z 0 [Warning] InnoDB: New log files created, LSN=45790

解決:

./mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US

若是提示錯誤內容包含./mysqld: error while loading shared libraries: libnuma.so.1這樣的描述錯誤,這是由於缺乏numactl依賴共享庫文件:

解決方案:

你的當前系統是Centos就執行命令:yum -y install numactl

你的當前系統是ubuntu就執行命令:sudo apt-get install numactl

若是提示:./mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

缺乏libaio

執行yum install -y libaio

注意:安裝成功後,最後一行有提示

例如個人A temporary password is generated for root@localhost: bke6OmP#<y(w

請務必記住冒號後面的字符串,這個是數據庫root用戶初始登陸密碼,請務必保存下來

8.配置my.cnf

進入/usr/local/mysql/support-files/目錄下

查看是否存在my-default.cnf文件,若是存在直接copy/etc/my.cnf文件中:cp -a ./support-files/my-default.cnf /etc/my.cnf

若是不存在my-default.cnf文件,則在/etc/目錄下建立my.cnf,並寫入如下內容

[mysqld]  

basedir=/usr/local/mysql-5.7.12/

datadir=/usr/local/mysql-5.7.12/data/

[mysqld]

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,

NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,

NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

9.啓動服務

進入已安裝的mysql目錄中的bin目錄下執行命令: ./mysqld_safe --user=mysql &

注意:若是此步驟報錯,能夠忽略,不用管,繼續往下執行下一步。

配置環境變量

vi /etc/profile

export MYSQL_HOME="/software/mysql-5.6.21"

export PATH="$PATH:$MYSQL_HOME/bin"

保存退出

. /etc/profile

 

6.添加自啓動服務

chkconfig --add mysql

chkconfig mysql on

 

7.啓動mysql

service mysql start

10.mysqld服務加入開機自啓動項

將安裝的mysql安裝目錄中的support-files/mysql.server 拷貝爲/etc/init.d/mysql並設置運行權限,這樣就可使用service mysql命令啓動/中止服務,

不然就只能使用{mysql}/bin/mysqld_safe &命令來啓動服務

還須要把mysql.serverbasedir的相關路徑,改成自定義的路徑,默認路徑是/usr/local/mysql

執行命令:

拷貝:cp mysql.server /etc/init.d/mysql

給權限:chmod +x /etc/init.d/mysql

 

mysql註冊爲開機啓動的服務,命令:chkconfig --add mysql

查看是否添加成功:chkconfig --list mysql

若是提示:mysql           0:off   1:off   2:on    3:on    4:on    5:on    6:off,則表示已設置開機啓動服務項

 

11.啓動服務

service mysql start

12.登陸mysql

進入mysql安裝的bin目錄

cd /usr/local/mysql/bin

登陸mysql命令:./mysql -u root -p

回車後輸入密碼:你第7步記錄下來的密碼

 

12.修改root初始密碼

alter user 'root'@'localhost' identified by 'dawning';

回車後提示下面的內容,表示修改爲功

Query OK, 0 rows affected, 1 warning (0.00 sec)

修改密碼也可使用sql執行:

update mysql.user set authentication_string=password("你的新密碼") where User="用戶名" and Host="%";

13.設置遠程登陸權限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'dawning' WITH GRANT OPTION;

刷新

flush privileges;

mysql> quit

Bye

 

 

7.建立庫(後續安裝服務等使用)

CREATE DATABASE cmserver DEFAULT CHARACTER SET utf8;

GRANT ALL on cmserver.* TO 'cmserveruser'@'%' IDENTIFIED BY 'password';

 

CREATE DATABASE metastore DEFAULT CHARACTER SET utf8;

GRANT ALL on metastore.* TO 'hiveuser'@'%' IDENTIFIED BY 'password';

 

CREATE DATABASE amon DEFAULT CHARACTER SET utf8;

GRANT ALL on amon.* TO 'amonuser'@'%' IDENTIFIED BY 'password';

 

CREATE DATABASE rman DEFAULT CHARACTER SET utf8;

GRANT ALL on rman.* TO 'rmanuser'@'%' IDENTIFIED BY 'password';

 

CREATE DATABASE oozie DEFAULT CHARACTER SET utf8;

GRANT ALL on oozie.* TO 'oozieuser'@'%' IDENTIFIED BY 'password';

 

CREATE DATABASE hue DEFAULT CHARACTER SET utf8;

GRANT ALL on hue.* TO 'hueuser'@'%' IDENTIFIED BY 'password';

 

service cloudera-scm-server start

 

 

配置Cloudera Manageryum源(主節點)

 

mkdir -p /var/www/html/cloudera-repos

 

將下載的cm包文件移到此目錄下

 

建立repodata

 

[root@cdh001 cm6]# createrepo .

 

建立.repo

 

[root@cdh001 cm6]# vim /etc/yum.repos.d/cloudera-manager.repo

 

[cloudera-manager]

 

name = Cloudera Manager, Version

 

baseurl = http://cdh001/cloudera-repos/cm6/

 

gpgcheck = 1

 

~

 

yum clean all

 

yum makecache

 

 

 

安裝 Cloudera Manager(主節點)

 

sudo yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server --nogpgcheck

 

#安裝完CM/opt/ 下會出現cloudera目錄

 

mv /opt/parcels/* /opt/cloudera/parcel-repo # parcel包移動到指定位置

 

/opt/cloudera/parcel-repo執行如下命令:

 

sha1sum CDH-6.0.0-1.cdh6.0.0.p0.537114-el6.parcel | awk '{ print $1 }' > CDH-6.0.0-1.cdh6.0.0.p0.537114-el6.parcel.sha

 

 

 

# 執行初始化腳本

 

/opt/cloudera/cm/schema/scm_prepare_database.sh mysql cmserver cmserveruser password

 

 

 

 

 

# 打開server服務

 

service cloudera-scm-server start

 

top命令查看cpu佔用大幅升高,cpu使用率降低後說明服務已起

 

 

查看CM頁面是否已能夠打開

 

http://192.168.128.221:7180

 

集羣安裝配置

 

 

 

 

 

Option1說明配置auto-tls

 

JAVA_HOME=/usr/java/jdk1.8.0_144 /opt/cloudera/cm-agent/bin/certmanager --location /opt/cloudera/CMCA setup --configure-services

 

service cloudera-scm-server restart

 

重啓後打開7180自動跳轉至7183

 

 

這裏選擇的cdh否則是在線安裝

 

 

全部節點JDK已安裝,這裏不勾選

 

 

 

Agents安裝

 

 

parcels分發

 

 

 檢測

 

 

 

集羣安裝配置(可後續依需求單個服務安裝,此處選擇Essentials安裝)

 

 

選擇服務安裝節點(namenodesecondaryNameNode儘可能不要放在一個節點,我這裏當時比較隨意沒注意,後續能夠遷移)

 

 

填入以前建立的庫名用戶密碼,測試鏈接successcontinue

 

 

各項配置

 

 

初次運行

 

 

完成

 

 

安裝過程當中可能遇到的問題:

 

須要使用sha1sum校驗parcel包生成校驗文件,否則parcel包不識別

 

allkeys.asc 文件忘記下載,安裝Agents會報錯

 

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

官方安裝手冊

 

http://www.cloudera.com/documentation/enterprise/6/latest/topics/installation.html

 

 

Hdfs參數調優

 

  1. 提升DataNode的堆棧大小。DataNode應該至少有4 GB的堆棧大小,以容許迭代的增長和最大的流

 

 

修改後

 

 

二、設置DataNode平衡帶寬

    a、展開DataNode默認組(DataNode Default Group) > 性能(Performance)類別;

    b、根據你的磁盤和網絡性能配置DataNode平衡帶寬(DataNode Balancing Bandwidth

c、點擊保存更改(Save Changes提交更改。

 

三、提升依據迭代設置複製工做乘數器的數值(默認值是2,然而推薦值是10)

    a、展開NameNode默認組(NameNode Default Group) >高級(Advanced)類別;

    b、將配置依據迭代設置複製工做乘數器(Replication Work Multiplier Per Iteration)設置爲10

c、點擊保存更改(Save Changes提交更改。

 

四、增長複製的最大線程數和最大複製線程的限制數

    a、展開NameNode默認組(NameNode Default Group) >高級(Advanced)類別;

    b、配置Datanode複製線程的最大數量(Maximumnumber of replication threads on a Datanode)和Datanod複製線程的數量的限制數(Hardlimit on the number of replication threads on a Datanod)分別爲50和100;

    c、點擊保存更改(Save Changes提交更改。

Yarn參數調整

  • mapreduce.map.memory.mbmap任務內存,cdh默認1G
  • mapreduce.map.cpu.vcoresmap任務虛擬CPU核數,cdh默認1
  • mapreduce.reduce.memory.mbreduce任務內存,cdh默認1G
  • mapreduce.reduce.cpu.vcoresreduce任務虛擬CPU核數,cdh默認1
  • yarn.nodemanager.resource.memory-mb,容器內存,cdh默認8G
  • yarn.nodemanager.resource.cpu-vcores,容器虛擬CPU核數,cdh默認8

 

cdh內存分配參考文檔

2018年01月29日 16:54:05 adshiye 閱讀數:1767

基於如下環境提供參考值: 5臺內存32G、cpu8核的服務器,操做系統爲centos6.8 
總內存: 160G 
總核數: 40核 
不一樣的環境能夠根據本身環境的總內存以及總內核和這個參考值得出係數,那麼:值= 推薦值 X 係數

參數

解釋

NameNode 的 Java 堆棧大小

Java 進程堆棧內存的最大大小,改Java進程主要是:維護整個系統的的文件目錄樹,維護文件/目錄的信息和每一個文件對應的數據塊列表,接受並處理用戶的操做請求

至少1GB

dfs.datanode.max.locked.memory

一個DataNode將要用來被作HDFS緩存的內存的最大值

至少256MB

DataNode 的 Java 堆棧大小

Java 進程堆棧內存的最大大小,改Java進程主要是:週期性檢測並向NameNode上報其管理的塊信息,同時處理namenode給該Datanode的命令

512MB

Failover Controller 的 Java 堆棧大小

Java 進程堆棧內存的最大大小,改Java進程主要是:監控NameNode的健康狀態,監控NameNode在zookeeper中的健康狀態,監控以後管理NameNode的狀態

至少256MB

JournalNode 的 Java 堆棧大小

Java 進程堆棧內存的最大大小,改Java進程主要是:實現兩個NameNode的數據同步,active的NameNode作變動的時候,會通知JournalNode 進程,standby的NameNode心跳獲取

至少256MB

  • hdfs
  • hive

參數

解釋

Hive Metastore Server 的 Java 堆棧大小(字節)

Java 進程堆棧內存的最大大小,改Java進程主要是:爲hive、impala、kudu提供元數據管理

1.5GB

HiveServer2 的 Java 堆棧大小

因爲咱們的系統沒有使用到hiveserver2,因此設置小的值,同時能夠將它中止

1GB

  • impala

參數

解釋

Catalog Server 的 Java 堆棧大小

Java 進程堆棧內存的最大大小,改Java進程主要是:做爲meta訪問網關,從Hive Metastore等外部catalog中獲取元數據信息,放到impala本身的catalog結構中,impalad執行ddl命令時經過catalogd由其代爲執行,該更新則由statestored廣播

最少256MB

Impala Daemon 內存限制

Java 進程堆棧內存的最大大小,改Java進程主要是:做爲客戶端,接受客戶的查詢請求,生成查詢計劃樹,把查詢計劃分發給其餘的Impala Daemon(包括本身),被分配的Impala Daemon讀寫數據進行查詢,並返回改客戶端

1GB

  • kafka

參數

解釋

Java Heap Size of Broker

kafka broker java 進程堆棧內存的最大大小

至少1GB

  • kudu

參數

解釋

Kudu Tablet Server Hard Memory Limit

kudu tablet server最大能使用的內存,kudu寫入數據的時候,是將數據先緩存到內存,而後保存到磁盤,如何設置太低,會影響寫入的性能

3GB

Kudu Tablet Server Block Cache Capacity

kudu tablet 塊緩存的最大內存量

2GB

maintenance_manager_num_threads

kudu對數據管理的時候最大顯成熟

4

  • spark

參數

解釋

Java Heap Size of History Server in Bytes

spark history server java 進程堆棧內存的最大大小

至少512MB

  • yarn

參數

解釋

JobHistory Server 的 Java 堆棧大小

java 進程堆棧內存的最大大小

512MB

NodeManager 的 Java 堆棧

java 進程堆棧內存的最大大小

512MB

容器內存

每一個nodemanager爲最大可分配的內存

9GB

ResourceManager 的 Java 堆棧大小

java 進程堆棧內存的最大大小

512MB

最小容器內存

單個任務可申請的最少內存量

1GB

容器內存增量

單個任務可申請的內存的增量

512MB

最大容器內存

單個任務可申請的最大內存量

6GB

容器虛擬 CPU 內核

每一個nodemanager爲最大可分配的內核數量

6

最小容器虛擬 CPU 內核數量

單個任務可申請的最小內核數量

1

容器虛擬 CPU 內核增量

單個任務申請的內核增量

1

最大容器虛擬 CPU 內核數量

單個任務可申請的最大內核數量

1

  • zookeeper

參數

解釋

ZooKeeper Server 的 Java 堆棧大小

java 進程堆棧內存的最大大小

至少512MB

  • Cloudera Management Service

參數

解釋

Activity Monitor 的 Java 堆棧大小

 

至少1GB

Alert Publisher 的 Java 堆棧

 

至少256MB

EventServer 的 Java 堆棧大小

 

至少1GB

Host Monitor 的 Java 堆棧大小

 

至少1GB

Host Monitor 的最大非 Java 內存

 

至少1.5GB

Service Monitor 的 Java 堆棧大小

 

至少1GB

Service Monitor 的最大非 Java 內存

 

至少1.5GB

 

 

改後

 

 

改後

 

 

改後

相關文章
相關標籤/搜索