部署大數據集羣要先進行哪些操作?
Linux集羣部署
-
在虛擬機中實例三個虛擬機主機,三個虛擬主機需要配置IP,且兩兩之間可以ping通
-
關閉防火牆(需要在所有的主機中進行設置)
/etc/init.d/iptables stop
chkconfig iptables off -
關閉selinux (需要在所有的主機中進行設置)
編輯文件 vi /etc/selinux/config
將SELINUX=enforcing改成 SELINUX=disabled -
設置所有主機的名稱
vi /etc/sysconfig/network
HOSTNAME=node01 -
配置主機名與IP的對應關係
vi /etc/hosts
添加如下內容node01IP地址 node01 node02IP地址 node02 node03IP地址 node03
配置多節點無密碼登錄
目標:在node01節點 無密碼登錄到node01,node02和node03上
-
在node01節點生成node02的公鑰個私鑰
ssh-keygen + 三個回車 -
免密登錄node01 ssh-copy-id node01 (需要輸入node01的密碼)
免密登錄node02 ssh-copy-id node02 (需要輸入node02的密碼)
免密登錄node03 ssh-copy-id node03 (需要輸入node03的密碼)
authorized_keys : 表示哪些節點可以使用相應的密鑰免密登錄到本機(實際上是公鑰的集合)
id_rsa : 當前節點的私鑰
id_rsa.pub : 當前節點的公鑰
定時任務
命令: crontab -e/編輯 -l /查看
* * * * * 操作命令
*一小時內的第一分鐘(0-59)
* 一天內的第一個小時(0-23)
* 一個月內的第幾天(1-31)
* 一年內第幾個月(1-12)
* 星期幾(0-7)
可用於自動同步內網的各個機器時間
時鐘同步
與阿里雲提供的時鐘服務器同步: ntpdate ntp4.aliyun.com
跟內網某臺機器同步時間
先確定時間同步服務器: node01 (node02 node03 都去node01同步時間)
服務器設置
1、確保時間服務器的ntpd服務是開啓的
2、修改第一個配置文件
vi /etc/ntp.conf
添加如下內容
restrict 192.168.100.0 mask 255.255.255.0 nomodify notrap
server 127.127.1.0 # localclock
fudge 127.127.1.0 stratum 10
註釋掉如下內容
#server0.centos.pool.ntp.org
#server1.centos.pool.ntp.org
#server2.centos.pool.ntp.org
#server3.centos.pool.ntp.org
3、修改第二個配置文件
vi /etc/sysconfig/ntpd
添加如下內容
SYNC_HWLOCK=yes
4、重啓ntpd
service ntpd restart
5 、在node02 node03節點上執行同步
ntpdate node01
遠程拷貝:
scp /etc/hosts node03:/etc/
scp /etc/hosts root@node03:/etc/
JDK安裝步驟
1、上傳解壓 JDK安裝包
mkdir -p /export/soft
mkdir -p /export/install
2、創建java的配置文件
在/etc/profile.d目錄內創建java.sh文件,編輯一下內容
export JAVA_HOME=/export/install/jdk1.8.0_144 (java 解壓後的路徑)
export PATH=JAVA_HOME/bin ($PATH:加上 JAVA_HOME/bin)
3、source
source /etc/profile
4、驗證是否安裝成功
jps (查看java 此時的進程)
[root@node01 install]# jps
-bash: jps: command not found (沒有安裝成功)
[root@node01 install]# jps (安裝成功)
29601 Jps
5、確定版本
java -version
[root@node01 install]# java -version
java version “1.7.0_131”
更新軟鏈接
刪除: rm -rf /etc/alternatives/java
創建: ln -s /export/install/jdk1.8.0_144/bin/java /etc/alternatives/java
6、再次確認
[root@node01 install]# java -version
java version “1.8.0_144”
tomcat安裝部署
1、上傳安裝文件並解壓
tar -zxvf apache-tomcat-7.0.82.tar.gz -C /export/install/
2、啓動
進入tomcat的安裝目錄下有個bin。進入bin,執行啓動
./startup.sh
說明:tomcat 所有的日誌均打入到了安裝目錄下的logs文件中的catalina.out
web項目(war包格式)部署的路徑是安裝路徑下的webapps
mysql的安裝部署
1、確認當前系統是否已經安裝mysql
rpm -qa | grep mysql
本地原或者網絡源必須存在,並且有效
2、安裝mysql
yum install -y mysql-server
3、查看mysql當前狀態
/etc/init.d/mysqld status 或者 service mysqld status (status 狀態 start 啓動 stop 停止 restart 重啓)
4、啓動mysql
/etc/init.d/mysqld start 或者 service mysqld start
進入mysql shell窗口
1、直接mysql + 回車
2、mysql -u用戶名 -p密碼 (中間沒有空格)
爲root用戶設置密碼
mysqladmin -u root password 密碼(有特殊字符需要加單引號)
修改mysql 亂碼問題
1、進入mysql shell窗口
2、查看當前編碼格式嗎
命令:show variables like ‘character_set_%’;
mysql> show variables like ‘character_set_%’;
±-------------------------±---------------------------+
| Variable_name | Value |
±-------------------------±---------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
±-------------------------±---------------------------+
3、修改mysql的 配置文件
vim /etc/my.cnf 添加如下配置 保存退出
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
4、重啓mysql
service mysqld restart
5、二次確認
進入mysql shell窗口,執行查詢
mysql> show variables like ‘character_set_%’;
±-------------------------±---------------------------+
| Variable_name | Value |
±-------------------------±---------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
±-------------------------±---------------------------+
mysql遠程連接配置
1、查看當前mysql 允許哪些主機連接
進入mysqlshell ,查看mysql數據庫的user表信息
select host, user ,password from user;
mysql> select host, user ,password from user;
±----------±-----±------------------------------------------+
| host | user | password |
±----------±-----±------------------------------------------+
| localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| node01 | root | |
| 127.0.0.1 | root | |
| localhost | | |
| node01 | | |
±----------±-----±------------------------------------------+
host :允許訪問的主機
user : 主機使用的用戶
password : 允許用戶使用的密碼
2、添加權限,讓任何主機使用rootu用戶 123456密碼,都能訪問本mysql
grant all privileges on . to ‘root’@’%’ identified by ‘123456’ with grant option;
3、刷新權限
flush privileges;
4、二次確認
mysql> select host, user ,password from user; ±----------±-----±------------------------------------------+
| host | user | password |
±----------±-----±------------------------------------------+
| localhost | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| node01 | root | |
| 127.0.0.1 | root | |
| localhost | | |
| node01 | | |
*| % | root | 6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
±----------±-----±------------------------------------------+
5、關閉linux 防火牆
service iptables stop
設置防火牆開機不自動啓動
chkconfig iptables off
設置防火牆開機自動啓動
chkconfig iptables on