hadoop生態搭建(3節點)-12.rabbitmq配置
# 安裝 需要相關包
# ==================================================================node1 node2 node3
yum install -y gcc gcc-c++ zlib zlin-devel perl ncurses-devel
# 安裝 openssl
# ==================================================================node1
scp -r ~/openssl-1.1.0g.tar.gz node2:~/ scp -r ~/openssl-1.1.0g.tar.gz node3:~/
# ==================================================================node1 node2 node3
tar -zvxf ~/openssl-1.1.0g.tar.gz cd openssl-1.1.0g ./config --prefix=/usr/local/openssl # 修改Makefile vi Makefile #CFLAG= -DOPENSSL_THREADS CFLAG= -fPIC -DOPENSSL_THREADS # 執行執行 make && make install rm -rf ~/openssl-1.1.0g.tar.gz rm -rf ~/openssl-1.1.0g
# 安裝 erlang
# ==================================================================node1
scp -r ~/otp_src_20.3.tar.gz node2:~/ scp -r ~/otp_src_20.3.tar.gz node3:~/
# ==================================================================node1 node2 node3
cd ~ tar -xf ~/otp_src_20.3.tar.gz mkdir /usr/local/erlang cd otp_src_20.3 # 配置安裝路徑編譯程式碼 ./configure --prefix=/usr/local/erlang --without-javac --with-ssl=/usr/local/openssl # 執行編譯結果 make && make install # 完成後進入/usr/local/erlang檢視執行結果 ls /usr/local/erlang rm -rf ~/otp_src_20.3.tar.gz rm -rf ~/otp_src_20.3 # 環境變數 vi /etc/profile # 在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL下新增 export JAVA_HOME=/usr/java/jdk1.8.0_111 export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.12 export HADOOP_HOME=/usr/local/hadoop-2.7.6 export MYSQL_HOME=/usr/local/mysql export HBASE_HOME=/usr/local/hbase-1.2.4 export HIVE_HOME=/usr/local/hive-2.1.1 export SCALA_HOME=/usr/local/scala-2.12.4 export KAFKA_HOME=/usr/local/kafka_2.12-0.10.2.1 export FLUME_HOME=/usr/local/flume-1.8.0 export SPARK_HOME=/usr/local/spark-2.3.0 export STORM_HOME=/usr/local/storm-1.1.0 export ERLANG_HOME=/usr/local/erlang export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$ZOOKEEPER_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$MYSQL_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/bin:$SCALA_HOME/bin:$KAFKA_HOME/bin:$FLUME_HOME/bin:$SPARK_HOME/bin:$SPARK_HOME/sbin:$STORM_HOME/bin:$ERLANG_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export HADOOP_INSTALL=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native # 使環境變數生效 cd ~ source /etc/profile # 檢視配置結果 echo $ERLANG_HOME cd $ERLANG_HOME erl # 退出 > halt().
# 安裝 rabbitmq
# ==================================================================node1
# 解壓rabbitmq,官方給的包是xz壓縮包,所以需要使用xz命令
cd ~ xz -d ~/rabbitmq-server-generic-unix-3.7.5.tar.xz #xz解壓後得到.tar包,再用tar命令解壓 tar -xvf rabbitmq-server-generic-unix-3.7.5.tar -C /usr/local rm -rf ~/rabbitmq-server-generic-unix-3.7.5.tar
# 環境變數
# ==================================================================node1 node2 node3
vi /etc/profile # 在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL下新增 export JAVA_HOME=/usr/java/jdk1.8.0_111 export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.12 export HADOOP_HOME=/usr/local/hadoop-2.7.6 export MYSQL_HOME=/usr/local/mysql export HBASE_HOME=/usr/local/hbase-1.2.4 export HIVE_HOME=/usr/local/hive-2.1.1 export SCALA_HOME=/usr/local/scala-2.12.4 export KAFKA_HOME=/usr/local/kafka_2.12-0.10.2.1 export FLUME_HOME=/usr/local/flume-1.8.0 export SPARK_HOME=/usr/local/spark-2.3.0 export STORM_HOME=/usr/local/storm-1.1.0 export ERLANG_HOME=/usr/local/erlang export RABBITMQ_HOME=/usr/local/rabbitmq_server-3.7.5 export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$ZOOKEEPER_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$MYSQL_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/bin:$SCALA_HOME/bin:$KAFKA_HOME/bin:$FLUME_HOME/bin:$SPARK_HOME/bin:$SPARK_HOME/sbin:$STORM_HOME/bin:$ERLANG_HOME/bin:$RABBITMQ_HOME/ebin:$RABBITMQ_HOME/sbin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export HADOOP_INSTALL=$HADOOP_HOME export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
# ==================================================================node1
# 使環境變數生效 source /etc/profile # 檢視配置結果 echo $RABBITMQ_HOME scp -r $RABBITMQ_HOME node2:/usr/local/ scp -r $RABBITMQ_HOME node3:/usr/local/
# ==================================================================node2 node3
# 使環境變數生效 source /etc/profile # 檢視配置結果 echo $RABBITMQ_HOME
# 高併發設定
# ==================================================================node1 node2 node3
# 調整可開啟檔案/檔案描述符數目(高併發支援) # 調整系統限制 vi /etc/sysctl.conf fs.file-max = 100000 # 使設定生效 sysctl -p # 檢視系統限制 sysctl fs.file-max # 調整使用者限制 vi /etc/security/limits.conf * soft nofile 65536 * hard nofile 65536 shutdown -h now # 快照 rabbitmq叢集前
# ==================================================================node1 node2 node3
# 在後臺啟動Rabbit rabbitmq-server -detached # 安裝web外掛管理介面 # ==================================================================安裝 rabbitmq_management外掛 rabbitmq-plugins enable rabbitmq_management # ==================================================================安全認證 # 新增使用者(使用者名稱 admin 密碼 Rabbitmq*123456 ) rabbitmqctl add_user admin Rabbitmq*123456 # 設定使用者角色(設定admin使用者為管理員角色) rabbitmqctl set_user_tags admin administrator # 設定使用者許可權(設定admin使用者配置、寫、讀的許可權) rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" # 刪除使用者(刪除guest使用者) rabbitmqctl delete_user guest # 注意:rabbitmq從3.3.0開始禁止使用guest/guest許可權通過除localhost外的訪問。 # 建立和賦角色完成後檢視並確認 rabbitmqctl list_users # 檢視狀態 rabbitmqctl status # 檢視 admin 使用者的許可權 rabbitmqctl list_user_permissions admin # 瀏覽器輸入地址:http://node1:15672/ # 使用者名稱密碼: admin/Rabbitmq*123456 # 瀏覽器輸入地址:http://node2:15672/ # 使用者名稱密碼: admin/Rabbitmq*123456
# 叢集配置
# ==================================================================node1 find / -name ".erlang.cookie" ll /root/.erlang.cookie chmod 600 /root/.erlang.cookie # 讀取其中一個節點的cookie, 並複製到其他節點(節點之間通過cookie確定相互是否可通訊) # 檢視rabbitmq的啟動日誌中 home dir echo -n "RABBITMQERLANGCOOKIE" > /root/.erlang.cookie cat /root/.erlang.cookie #RABBITMQERLANGCOOKIE # ==================================================================node2 node3 chmod 600 /root/.erlang.cookie # ==================================================================node1 scp /root/.erlang.cookie node2:/root/.erlang.cookie scp /root/.erlang.cookie node3:/root/.erlang.cookie # ==================================================================node1 node2 node3 reboot rabbitmq-server -detached # 加入叢集 # 預設是磁碟節點,如果是記憶體節點的話,需要加--ram引數 # 其中--ram代表是記憶體節點,如果希望是磁碟節點則不用加--ram,在rabbitmq叢集中,至少需要一個磁碟節點 # ==================================================================node1 rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl join_cluster --ram rabbit@node1 rabbitmqctl start_app rabbitmqctl status # ==================================================================node2 rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl join_cluster --ram rabbit@node1 rabbitmqctl start_app rabbitmqctl status # ==================================================================node3 rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl join_cluster rabbit@node1 rabbitmqctl start_app rabbitmqctl status # ==================================================================node1 # 設定映象策略 rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all","ha-sync-mode":"automatic"}' rabbitmqctl cluster_status # ==================================================================node1 # 建立和賦角色完成後檢視並確認 rabbitmqctl list_users # 需重新新增使用者(使用者名稱 admin 密碼 Rabbitmq*123456 ) rabbitmqctl add_user admin Rabbitmq*123456 # 設定使用者角色(設定admin使用者為管理員角色) rabbitmqctl set_user_tags admin administrator # 設定使用者許可權(設定admin使用者配置、寫、讀的許可權) rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" # 刪除使用者(刪除guest使用者) rabbitmqctl delete_user guest # 注意:rabbitmq從3.3.0開始禁止使用guest/guest許可權通過除localhost外的訪問。 # ==================================================================node1 node2 node3 # 建立和賦角色完成後檢視並確認 rabbitmqctl list_users rabbitmqctl cluster_status # 瀏覽器輸入地址:http://node1:15672/ # 使用者名稱密碼: admin/Rabbitmq*123456 # 瀏覽器輸入地址:http://node2:15672/ # 使用者名稱密碼: admin/Rabbitmq*123456 rabbitmqctl stop shutdown -h now # 快照 rabbitmq